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
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()