Calcular a área para cada polígono em R

9

Estou trabalhando com um shapefile que possui muitos polígonos.

Como adiciono mais um campo chamado "area_sqkm" e calculo a área para cada polígono no shapefile?

HLe
fonte
1
Quais bibliotecas você instalou e o que você tentou?
GISKid
5
rgeos :: Garea (x, byid = TRUE)
mdsumner
1
Bem-vindo ao gis.stackexchange! Observe que uma boa pergunta neste site deve mostrar algum grau de pesquisa de sua parte, ou seja, o que você tentou e, se aplicável, o código até o momento. Para mais informações, você pode conferir nossas perguntas frequentes .
Underdark

Respostas:

19

Você pode fazer

library(raster)
x <- shapefile('file.shp')
crs(x)
x$area_sqkm <- area(x) / 1000000

Supondo que seus crs sejam longitude / latitude ou com metro como unidade de distância

Robert Hijmans
fonte
1
os raster::area()dados não rgeos::gArea()projetados são mais precisos do que os dados projetados?
Richard DiSalvo
1
Pode ser. Porque as projeções distorcem. Se a distância entre nós do polígono for alta, a projeção poderá distorcer ainda mais a área (consulte a geospherevinheta).
Robert Hijmans