Какой ресторан ближайший к Эйфелевой башне?
Предположим, нас интересуют рестораны рядом с Эйфелевой башней. Чтобы их изучить, давайте визуализируем саму башню и рестораны в радиусе 1 км от неё.
Для этого вычислим расстояние от каждого ресторана до Эйфелевой башни. На основе полученных значений создадим маску: True — если ресторан находится в пределах 1 км, False — если нет. Затем используем её для фильтрации GeoDataFrame с ресторанами и построим визуализацию полученного подмножества.
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()