Zacznij terazZacznij za darmo

Stosowanie własnej operacji do każdej geometrii

Skoro już wiesz, jak znaleźć najbliższy park narodowy dla pojedynczego punktu, czas zrobić to samo dla wszystkich punktów. Najpierw napiszemy funkcję, która przyjmuje pojedynczy punkt jako argument i zwraca oczekiwany wynik. Następnie zastosujemy ją do wszystkich punktów.

Zbiory danych o miejscach wydobycia (mining_sites) i parkach narodowych (national_parks) są już wczytane. Pojedyncze miejsce wydobycia z poprzednich ćwiczeń jest już zdefiniowane jako single_mine.

To ćwiczenie jest częścią kursu

Praca z danymi geoprzestrzennymi w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz funkcję closest_national_park(), która wykonuje analizę z poprzedniego ćwiczenia: dla podanego punktu i wszystkich parków narodowych zwraca nazwę najbliższego parku.
  • Jako test wywołaj tę funkcję dla pojedynczego punktu (single_mine) i wydrukuj wynik. Czy jest taki sam jak poprzednio ("Virunga National park")?
  • Zastosuj tę funkcję do wszystkich punktów ze zbioru mining_sites i przypisz wynik do kolumny o nazwie 'closest_park'.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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())
Edytuj i uruchom kod