#python #area #geode #pyproj
Вопрос:
Я пытаюсь вычислить площадь полигона в км2 и спроецировать в EPSG: 3857, но он не распознает мои crs
raise GeodError("Invalid geometry provided.")
pyproj.exceptions.GeodError: Invalid geometry provided.
должен ли я использовать другой? является ли функция неправильной?
def area(polygon):
geod = Geod('EPSG: 3857')
x, y = polygon.exterior.coords.xy
area, perimeter = geod.geometry_area_perimeter(x,y)
return area
Комментарии:
1. Что такое CRS точек в многоугольнике?
2. в WGS84 или EPSG 4326
Ответ №1:
Геодезические вычисления ожидают географических данных. Вот пример для ваших данных в WGS84 / EPSG: 4326:
https://pyproj4.github.io/pyproj/stable/examples.html#creating-geod-class
from pyproj import Geod, CRS
geod = Geod(ellps='WGS84')
# or
geod = CRS("EPSG:4326").get_geod()