हर ज्योमेट्री पर एक कस्टम ऑपरेशन लागू करना
अब जब हमें किसी एक पॉइंट के लिए निकटतम राष्ट्रीय उद्यान प्राप्त करना आ गया है, तो आइए यह सभी पॉइंट्स के लिए करें। इसके लिए, हम पहले एक फंक्शन लिखेंगे जो एक सिंगल पॉइंट को आर्ग्युमेंट के रूप में ले और इच्छित परिणाम लौटाए। फिर हम इसी फंक्शन का उपयोग करके इसे सभी पॉइंट्स पर लागू कर सकते हैं।
माइनिंग साइट्स (mining_sites) और नेशनल पार्क्स (national_parks) के डेटासेट पहले से लोड हैं। पिछली एक्सरसाइज़ वाला सिंगल माइनिंग साइट single_mine के रूप में पहले से परिभाषित है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Geospatial Data के साथ काम करना
अभ्यास निर्देश
- एक फंक्शन
closest_national_park()बनाएँ जो आपने पिछली एक्सरसाइज़ में किया विश्लेषण दोहराए: दिए गए एक सिंगल पॉइंट और सभी नेशनल पार्क्स के आधार पर, निकटतम नेशनल पार्क का नाम लौटाएँ। - टेस्ट के रूप में, इस फंक्शन को सिंगल पॉइंट (
single_mine) पर कॉल करें और परिणाम प्रिंट करें। क्या यह पहले जैसा ही है ("Virunga National park")? - इस फंक्शन को
mining_sitesके सभी पॉइंट्स पर लागू करें और परिणाम को'closest_park'नाम के कॉलम में असाइन करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Define a function that returns the closest national park
def closest_national_park(geom, national_parks):
dist = ____
idx = ____
closest_park = ____
return closest_park
# Call the function on single_mine
print(closest_national_park(____, ____))
# Apply the function to all mining sites
mining_sites['closest_park'] = mining_sites.geometry.____(____, ____=____)
print(mining_sites.head())