Hoe ver is het dichtstbijzijnde restaurant?
We zijn nu misschien geïnteresseerd in de restaurants in de buurt van de Eiffeltoren. Om die te verkennen, visualiseren we de Eiffeltoren zelf én de restaurants binnen 1 km.
Om dit te doen, kunnen we voor elk restaurant de afstand tot de Eiffeltoren berekenen. Op basis daarvan maken we vervolgens een mask dat True is als het restaurant binnen 1 km ligt, en False anders, en gebruiken we dat om het restaurants-GeoDataFrame te filteren. Tot slot maken we een visualisatie van deze subset.
Het GeoDataFrame restaurants is geladen en het object eiffel_tower is aangemaakt. Daarnaast zijn matplotlib, GeoPandas en contextily geïmporteerd.
Deze oefening maakt deel uit van de cursus
Werken met georuimtelijke data in Python
Oefeninstructies
- Bereken de afstand tot de Eiffeltoren voor elk restaurant en noem het resultaat
dist_eiffel. - Print de afstand tot het dichtstbijzijnde restaurant (dit is het minimum van
dist_eiffel). - Selecteer de rijen van het GeoDataFrame
restaurantswaar de afstand tot de Eiffeltoren minder dan 1 km is (let op: de afstand is in meters).
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()