Menerapkan operasi kustom ke setiap geometri
Sekarang kita tahu cara mendapatkan taman nasional terdekat untuk satu titik, mari kita lakukan ini untuk semua titik. Untuk itu, pertama kita akan menulis sebuah fungsi yang menerima satu titik sebagai argumen dan mengembalikan hasil yang diinginkan. Lalu kita dapat menggunakan fungsi ini untuk menerapkannya ke semua titik.
Himpunan data lokasi tambang (mining_sites) dan taman nasional (national_parks) sudah dimuat. Satu lokasi tambang dari latihan sebelumnya sudah didefinisikan sebagai single_mine.
Latihan ini adalah bagian dari kursus
Bekerja dengan Data Geospasial di Python
Petunjuk latihan
- Buat fungsi
closest_national_park()yang melakukan analisis seperti pada latihan sebelumnya: diberikan satu titik dan semua taman nasional, kembalikan nama taman nasional yang paling dekat. - Sebagai uji coba, panggil fungsi ini pada satu titik (
single_mine) dan cetak hasilnya. Apakah sama seperti sebelumnya ("Virunga National park")? - Terapkan fungsi ini ke semua titik pada
mining_sitesdan simpan hasilnya ke kolom bernama'closest_park'.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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())