Cât de departe este cel mai apropiat restaurant?
Acum, am putea fi interesați de restaurantele din apropierea Turnului Eiffel. Pentru a le explora, hai să vizualizăm atât Turnul Eiffel, cât și restaurantele aflate în raza de 1 km.
Pentru aceasta, putem calcula distanța față de Turnul Eiffel pentru fiecare restaurant. Pe baza acestui rezultat, putem crea o mască care ia valoarea True dacă restaurantul se află în raza de 1 km și False în caz contrar, apoi o folosim pentru a filtra GeoDataFrame-ul cu restaurante. În final, realizăm o vizualizare a acestui subset.
GeoDataFrame-ul restaurants a fost încărcat, iar obiectul eiffel_tower a fost creat. De asemenea, au fost importate matplotlib, GeoPandas și contextily.
Acest exercițiu face parte din cursul
Lucrul cu date geospațiale în Python
Instrucțiuni pentru exercițiu
- Calculează distanța față de Turnul Eiffel pentru fiecare restaurant și numește rezultatul
dist_eiffel. - Afișează distanța până la cel mai apropiat restaurant (adică valoarea minimă a lui
dist_eiffel). - Selectează rândurile din GeoDataFrame-ul
restaurantspentru care distanța față de Turnul Eiffel este mai mică de 1 km (reține că distanța este exprimată în metri).
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()