Použití vlastní operace na každou geometrii
Teď, když víme, jak najít nejbližší národní park pro jeden bod, uděláme totéž pro všechny body. Nejprve napíšeme funkci, která přijme jeden bod jako argument a vrátí požadovaný výsledek. Pak tuto funkci použijeme na všechny body.
Datasety s těžebními lokalitami (mining_sites) a národními parky (national_parks) jsou již načtené. Jediná těžební lokalita z předchozích cvičení je definována jako single_mine.
Toto cvičení je součástí kurzu
Práce s geoprostorovými daty v Pythonu
Pokyny k cvičení
- Vytvoř funkci
closest_national_park(), která provede analýzu z předchozího cvičení: pro zadaný bod a všechny národní parky vrátí název nejbližšího národního parku. - Jako test zavolej tuto funkci na jednom bodě (
single_mine) a výsledek vypiš. Je stejný jako předtím ("Virunga National park")? - Použij tuto funkci na všechny body z
mining_sitesa výsledek ulož do sloupce s názvem'closest_park'.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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())