Calcular el área para cada polígono en R


9

Estoy trabajando con un archivo de formas que tiene muchos polígonos.

¿Cómo agrego un campo más llamado "area_sqkm" y calculo el área para cada polígono en el shapefile?


1
¿Qué bibliotecas has instalado y qué has probado?
GISKid

55
rgeos :: gArea (x, byid = TRUE)
mdsumner

1
Bienvenido a gis.stackexchange! Tenga en cuenta que se espera que una buena pregunta en este sitio muestre cierto grado de investigación de su parte, es decir, lo que ha intentado y, si corresponde, el código hasta ahora. Para más información, puede consultar nuestras preguntas frecuentes .
oscuro

Respuestas:


19

Tu puedes hacer

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

Asumiendo que su crs es longitud / latitud, o con el metro como unidad de distancia


1
¿Es raster::area()más preciso rgeos::gArea()con los datos no proyectados que con los datos proyectados?
Richard DiSalvo

1
Puede ser. Porque las proyecciones distorsionan. Si la distancia entre nodos del polígono es alta, la proyección puede distorsionar aún más el área (ver la geosphereviñeta).
Robert Hijmans
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.