Наскільки далеко найближчий ресторан?
Тепер нам цікаві ресторани поблизу Ейфелевої вежі. Щоб їх дослідити, візуалізуймо саму Ейфелеву вежу та ресторани в радіусі 1 км.
Для цього можна обчислити відстань до Ейфелевої вежі для кожного ресторану. На основі цього результату ми створимо маску, що має значення True, якщо ресторан розташований у межах 1 км, і False — інакше, та використаємо її для фільтрації GeoDataFrame restaurants. Нарешті, побудуємо візуалізацію цієї підмножини.
GeoDataFrame restaurants уже завантажено, а об'єкт eiffel_tower створено. Крім того, імпортовано matplotlib, GeoPandas і contextily.
Ця вправа є частиною курсу
Робота з геопросторовими даними в Python
Інструкції до вправи
- Обчисліть відстань до Ейфелевої вежі для кожного ресторану та збережіть результат у змінній
dist_eiffel. - Виведіть відстань до найближчого ресторану (це мінімальне значення
dist_eiffel). - Виберіть рядки GeoDataFrame
restaurants, де відстань до Ейфелевої вежі менша за 1 км (зверніть увагу, що відстань у метрах).
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()