Eu tenho polígonos de coordenadas em (python shapely) que se parece com isso
POLYGON ((24.8085317 46.8512821, 24.7986952 46.8574619, 24.8088238 46.8664741, 24.8155239 46.8576335, 24.8085317 46.8512821))
Gostaria de calcular a área deste polígono em km ^ 2. Qual seria a melhor maneira de fazer isso em Python?
Respostas:
Não estava prontamente aparente para mim como usar a resposta @sgillies, então aqui está uma versão mais detalhada:
fonte
Parece que suas coordenadas são longitude e latitude, sim? Use a
shapely.ops.transform
função Shapely para transformar o polígono em coordenadas projetadas de área igual e, em seguida, ocupe a área.fonte
partial
não é um built-in;pyproj
terá que ser importado e, possivelmente instalado, etc.pyproj.Proj(proj='aea', lat1=lat1, lat2=lat2)
resultouCRSError: Invalid projection: +proj=aea +lat1=5.0 +lat2=6.0 +type=crs
. Alterarlat{1,2}
emlat_{1,2}
como implicado pela documentação proj4 fixa-lo:pyproj.Proj(proj='aea', lat1=lat1, lat2=lat2)
. Esta resposta é precisa ou deve ser atualizada?lat_1
e emlat_2
vez delat1
elat2
. Eu suspeito que isso se aplica post PROJ 6.0.0As respostas acima parecem estar corretas, EXCETO que em algum momento recentemente, os parâmetros lat1 e lat2 no código pyproj foram renomeados com sublinhados: lat_1 e lat_2 (consulte /programming//a/55259718/1538758 ). Não tenho representante suficiente para comentar, por isso estou fazendo uma nova resposta (desculpe, desculpe)
fonte
Eu tropecei na "área", que parece mais simples de usar:
https://pypi.org/project/area/
Por exemplo:
... retorna:
área m2: 1082979.880942425
área km2: 1,082979880942425
fonte