НачатьНачать бесплатно

Какой ресторан ближайший к Эйфелевой башне?

Предположим, нас интересуют рестораны рядом с Эйфелевой башней. Чтобы их изучить, давайте визуализируем саму башню и рестораны в радиусе 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()
Редактировать и запускать код