कस्टम स्पैशियल ऑपरेशंस लागू करना

Python में Geospatial Data के साथ काम करना

Joris Van den Bossche

Open source software developer and teacher, GeoPandas maintainer

Python में Geospatial Data के साथ काम करना

हर शहर से 50 km के भीतर कुल नदी की लंबाई?

एक एकल बिंदु (cairo) के लिए:

area = cairo.buffer(50000)

rivers_within_area = rivers.intersection(area)
print(rivers_within_area.length.sum() / 1000)
186.397219642
Python में Geospatial Data के साथ काम करना

apply() मेथड

Series.apply(): Series के प्रत्येक मान पर एक फंक्शन कॉल करें

Series.apply(function, **kwargs)

  • function: प्रत्येक मान पर कॉल होने वाला फंक्शन; मान पहला आर्ग्युमेंट बनकर जाता है
  • **kwargs: फंक्शन को दिए गए अतिरिक्त आर्ग्युमेंट्स

GeoSeries के लिए, फंक्शन हर geom पर function(geom, **kwargs) के रूप में कॉल होता है

Python में Geospatial Data के साथ काम करना

कस्टम स्पैशियल ऑपरेशन लागू करना

लागू करने वाला फंक्शन:

def river_length(geom, rivers):
    area = geom.buffer(50000)
    rivers_within_area = rivers.intersection(area)
    return rivers_within_area.length.sum() / 1000

एकल ज्योमेट्री पर फंक्शन कॉल करें:

river_length(cairo, rivers=rivers)
186.3972196423455

सभी शहरों पर लागू करना:

cities.geometry.apply(river_length, rivers=rivers)
Python में Geospatial Data के साथ काम करना

कस्टम स्पैशियल ऑपरेशन लागू करना

सभी शहरों पर लागू करना:

cities.geometry.apply(river_length, rivers=rivers)
0        0.000000
1        0.000000
2      106.072198
          ...    
Python में Geospatial Data के साथ काम करना

कस्टम स्पैशियल ऑपरेशन लागू करना

सभी शहरों पर लागू कर परिणाम नए कॉलम में असाइन करें:

cities['river_length'] = cities.geometry.apply(river_length, rivers=rivers)
cities.head()
             name                       geometry  river_length
0    Vatican City    POINT (1386304.6 5146502.5)      0.000000
1      San Marino    POINT (1385011.5 5455558.1)      0.000000
2           Vaduz    POINT (1059390.7 5963928.5)    106.072198
..            ...                            ...           ...
Python में Geospatial Data के साथ काम करना

अभ्यास करते हैं!

Python में Geospatial Data के साथ काम करना

Preparing Video For Download...