對每個幾何物件套用自訂操作
現在我們已經知道如何為單一點位找出最近的國家公園,接下來把這件事套用到所有點位上。為此,我們會先撰寫一個函式,將單一點位作為引數並回傳所需結果。然後你就能用這個函式套用到所有點位。
採礦據點(mining_sites)與國家公園(national_parks)的資料集都已載入。前面練習中的單一採礦據點也已定義為 single_mine。
本練習屬於課程
在 Python 中處理地理空間資料
練習說明
- 建立一個
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())