Zacznij terazZacznij za darmo

Jak daleko jest najbliższa restauracja?

Sprawdźmy, które restauracje znajdują się w pobliżu Wieży Eiffla. Zwizualizujemy samą wieżę oraz restauracje w promieniu 1 km.

W tym celu obliczymy odległość każdej restauracji od Wieży Eiffla. Na podstawie wyniku utworzymy maskę przyjmującą wartość True, jeśli restauracja mieści się w promieniu 1 km, i False w przeciwnym razie – a następnie użyjemy jej do przefiltrowania GeoDataFrame z restauracjami. Na koniec zwizualizujemy otrzymany podzbiór.

GeoDataFrame restaurants został już wczytany, a obiekt eiffel_tower utworzony. Zaimportowano również biblioteki matplotlib, GeoPandas oraz contextily.

To ćwiczenie jest częścią kursu

Praca z danymi geoprzestrzennymi w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Oblicz odległość od Wieży Eiffla dla każdej restauracji i zapisz wynik jako dist_eiffel.
  • Wyświetl odległość do najbliższej restauracji (czyli minimum z dist_eiffel).
  • Wybierz wiersze z GeoDataFrame restaurants, dla których odległość od Wieży Eiffla jest mniejsza niż 1 km (pamiętaj, że odległość jest podana w metrach).

Interaktywne ćwiczenie praktyczne

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

# The distance from each restaurant to the Eiffel Tower
dist_eiffel = ____

# The distance to the closest restaurant
print(dist_eiffel.____)

# Filter the restaurants for closer than 1 km
restaurants_eiffel = ____

# Make a plot of the close-by restaurants
ax = restaurants_eiffel.plot()
geopandas.GeoSeries([eiffel_tower]).plot(ax=ax, color='red')
contextily.add_basemap(ax)
ax.set_axis_off()
plt.show()
Edytuj i uruchom kod