Проецирование точки
В предыдущей главе мы работали с местоположением Эйфелевой башни. Тогда координаты были заданы в проецируемой системе координат — например, для вычисления расстояний. Теперь вернёмся к этой известной достопримечательности и выразим её положение в географических координатах: 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)