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

Проецирование точки

В предыдущей главе мы работали с местоположением Эйфелевой башни. Тогда координаты были заданы в проецируемой системе координат — например, для вычисления расстояний. Теперь вернёмся к этой известной достопримечательности и выразим её положение в географических координатах: 48°51′29,6″ с. ш., 2°17′40,2″ в. д. В десятичном формате: широта 48,8584 и долгота 2,2945.

Объекты геометрии Shapely не имеют понятия о системе координат (CRS) и поэтому не могут быть напрямую преобразованы в другую CRS. Для этого воспользуемся GeoPandas: поместим точку в GeoSeries, применим метод to_crs() и извлечём точку обратно.

GeoPandas уже импортирован.

Это упражнение является частью курса

Работа с геопространственными данными в Python

Посмотреть курс

Инструкции к упражнению

  • Создайте объект точки Shapely с координатами Эйфелевой башни и присвойте его переменной eiffel_tower.
  • Создайте GeoSeries с именем s_eiffel_tower, содержащую единственный элемент — Эйфелеву башню, и укажите систему координат EPSG:4326.
  • Преобразуйте s_eiffel_tower в систему координат EPSG:2154 и сохраните результат в переменную s_eiffel_tower_projected.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Construct a Point object for the Eiffel Tower
from shapely.geometry import Point
eiffel_tower = ____

# Put the point in a GeoSeries with the correct CRS
s_eiffel_tower = geopandas.GeoSeries([____], crs={'init': '____'})

# Convert to other CRS
s_eiffel_tower_projected = s_eiffel_tower.____

# Print the projected point
print(s_eiffel_tower_projected)
Редактировать и запускать код