Kom igångKom igång gratis

Tillämpa en anpassad operation på varje geometri

Nu när vi vet hur man hittar den närmaste nationalparken för en enskild punkt, ska vi göra samma sak för alla punkter. Vi börjar med att skriva en funktion som tar en enskild punkt som argument och returnerar det önskade resultatet. Sedan kan vi använda den funktionen på alla punkter.

Datamängderna för gruvplatser (mining_sites) och nationalparker (national_parks) är redan inlästa. Den enskilda gruvplatsen från föregående övningar är redan definierad som single_mine.

Den här övningen är en del av kursen

Arbeta med geospatial data i Python

Visa kurs

Övningsinstruktioner

  • Skapa en funktion closest_national_park() som utför den analys du gjorde i föregående övning: givet en enskild punkt och alla nationalparker, returnera namnet på den närmaste nationalparken.
  • Testa funktionen genom att anropa den med den enskilda punkten (single_mine) och skriv ut resultatet. Är det samma som tidigare ("Virunga National park")?
  • Tillämpa den här funktionen på alla punkter i mining_sites och tilldela resultatet till en kolumn med namnet 'closest_park'.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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())
Redigera och kör kod