Her geometrinin üzerine özel bir işlemi uygulamak
Artık tek bir nokta için en yakın milli parkı nasıl bulacağımızı biliyoruz; hadi bunu tüm noktalar için yapalım. Bunun için önce bir fonksiyon yazacağız: bu fonksiyon tek bir noktayı argüman olarak alacak ve istediğimiz sonucu döndürecek. Sonrasında bu fonksiyonu tüm noktalara uygulayabiliriz.
Madencilik sahaları (mining_sites) ve milli parklar (national_parks) veri kümeleri zaten yüklendi. Önceki egzersizlerden tek bir madencilik sahası single_mine olarak tanımlandı.
Bu egzersiz, kursun bir parçasıdır
Python ile Coğrafi Verilerle Çalışma
Egzersiz talimatları
- Önceki egzersizde yaptığın analizi gerçekleştiren
closest_national_park()adlı bir fonksiyon oluştur: tek bir nokta ve tüm milli parklar verildiğinde, en yakın milli parkın adını döndürsün. - Test olarak, bu fonksiyonu tek nokta (
single_mine) üzerinde çağır ve sonucu yazdır. Öncekiyle aynı mı ("Virunga National park")? - Bu fonksiyonu
mining_sitesiçindeki tüm noktalara uygula ve sonucu'closest_park'adlı bir sütuna ata.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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())