2014-04-12 4 views
5

Come si può determinare l'area di uno shapefile?Determinazione dell'area di Shapefile

Quando utilizzo summary(data), restituisce l'area, ma non ho idea di quale sia l'area di ogni poligono di shapefile.

Inoltre, l'area può essere convertita in metri?

+0

sguardo nel 'rgeos' libreria per la funzione 'gArea()' –

+0

Dipende dal sistema di coordinate. Mostraci cosa dà effettivamente 'summary (data)' e forse possiamo aiutare di più. – Spacedman

+0

Sto lavorando con i dati DIVA-GIS. E non riesco a capire le unità della zona. Se le informazioni sono a lungo lat se utilizzo la funzione 'gArea()', come posso conoscere le unità di quest'area? – GabrielMontenegro

risposta

8
# load the rgeos library 
library(rgeos) 

# make a polygon (borrowed from ref manual for package) 
sample_poly <- readWKT("POLYGON((0 1,0.95 0.31,0.59 -0.81,-0.59 -0.81,-0.95 0.31,0 1))") 

# and calculate the area 
gArea(sample_poly) 
[1] 2.3803 
+0

Da uno shapefile di diversi paesi, ad esempio da DIVA-GIS, come è possibile individuare le unità di quell'area? – GabrielMontenegro

+0

@ JavierM88 Vorrei verificare la documentazione associata al set di dati. Non è a conoscenza di una posizione in cui le unità sono incorporate nello shapefile stesso. –

2
[email protected][[1]]@Polygons[[1]]@area 
[email protected][[2]]@Polygons[[1]]@area 

Vi darà aree del primo e del secondo poligoni, è possibile Figue un ciclo for per darvi tutti o mostrarci i nomi con:

names(data) 
+1

'sapply' potrebbe essere più conveniente di' for': 'sapply (dati @ poligoni, funzione (x) x @ poligoni [[1]] @ area)' – jbaums

+1

Questo metodo è pericoloso se hai poligoni con foro, come non prenderebbe in considerazione il buco e quindi sovrastimerebbe l'area. – Matifou