ÎncepețiÎncepe gratuit

Aplicarea unei operații personalizate pe fiecare geometrie

Acum că știm cum să găsim cel mai apropiat parc național pentru un singur punct, hai să facem același lucru pentru toate punctele. În acest scop, vom scrie mai întâi o funcție care primește un singur punct ca argument și returnează rezultatul dorit. Apoi putem folosi această funcție pentru a o aplica tuturor punctelor.

Seturile de date despre siturile miniere (mining_sites) și parcurile naționale (national_parks) sunt deja încărcate. Situl minier individual din exercițiile anterioare este deja definit ca single_mine.

Acest exercițiu face parte din cursul

Lucrul cu date geospațiale în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează o funcție closest_national_park() care realizează analiza din exercițiul anterior: primind un singur punct și toate parcurile naționale, returnează numele celui mai apropiat parc național.
  • Ca test, apelează această funcție pe punctul individual (single_mine) și afișează rezultatul. Este același ca înainte ("Virunga National park")?
  • Aplică această funcție tuturor punctelor din mining_sites și atribuie rezultatul unei coloane numite 'closest_park'.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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())
Editează și rulează codul