Tengo polígonos de coordenadas en (Python bien formados) que se ve así
POLYGON ((24.8085317 46.8512821, 24.7986952 46.8574619, 24.8088238 46.8664741, 24.8155239 46.8576335, 24.8085317 46.8512821))
Me gustaría calcular el área de este polígono en km ^ 2. ¿Cuál sería la mejor manera de hacer esto en Python?
Respuestas:
No me resultó evidente cómo usar la respuesta @sgillies, así que aquí hay una versión más detallada:
fuente
Parece que tus coordenadas son longitud y latitud, ¿sí? Use la
shapely.ops.transform
función de Shapely para transformar el polígono en coordenadas de área igual proyectadas y luego tome el área.fuente
partial
no está integrado;pyproj
tendrá que ser importado y posiblemente instalado, etcpyproj.Proj(proj='aea', lat1=lat1, lat2=lat2)
resultó enCRSError: Invalid projection: +proj=aea +lat1=5.0 +lat2=6.0 +type=crs
. Cambiandolat{1,2}
alat_{1,2}
como se deduce de la documentación proj4 fija que:pyproj.Proj(proj='aea', lat1=lat1, lat2=lat2)
. ¿Es correcta esta respuesta o debería actualizarse?lat_1
y enlat_2
lugar delat1
ylat2
. Sospecho que esto se aplica después de PROJ 6.0.0Las respuestas anteriores parecen ser correctas, EXCEPTO que en algún momento recientemente, los parámetros lat1 y lat2 en el código pyproj fueron renombrados con guiones bajos: lat_1 y lat_2 (consulte /programming//a/55259718/1538758 ). No tengo suficiente representante para comentar, así que estoy haciendo una nueva respuesta (lo siento, no lo siento)
fuente
Me topé con "área" que parece más simple de usar:
https://pypi.org/project/area/
Por ejemplo:
... devoluciones:
Área m2: 1082979.880942425
área km2: 1.082979880942425
fuente