2010-01-15 11 views
15

Tengo dificultades para leer en .shp (archivo de forma de esri) en R. He intentado varias opciones en R e intenté convertir el archivo de forma en ArcMap a algo que lee correctamente en el archivo de forma, pero nada funcionó aún. (En ArcMap corregí la geometría, convertida de simple a multipolígono, etc. que probablemente no era necesaria o relevante)leyendo y trazando un archivo de forma esri en R

Probablemente tiene algo que ver con el hecho de que mi archivo de forma contiene 'regiones' (polígonos múltiples) en lugar de 'polígonos' ...

¿Cómo puedo leer ese tipo de archivo de forma correctamente en R para trazar? (Se ve como una forma normal en ArcMap)

En ArcMap el archivo de formas se ve así: http://bfast.r-forge.r-project.org/arcmapshape.jpg

(muestra un archivo de forma con polígonos dentro de otros polígonos)

en I que tiene este aspecto : enter image description here

(muestra un archivo de forma que algunos polígonos se llenan erróneamente)

I utilizado el código siguiente en R:

require(maptools) 
require(rgdal) 

newproj <- "+proj=utm +zone=55 +south +ellps=GRS80 +units=m" 
shape<- readShapeSpatial(pdir, proj4string = CRS(newproj),repair=TRUE,force_ring=T,verbose=TRUE) # without any errors 
plot(shape, col="gray",border="blue", axes=TRUE) 

# via rgdal 
folder <- c("spatial") 
lyr <- c("clipped_forest_mga") 
shp <- readOGR(dsn=folder,layer=lyr) 
plot(shp, col="gray",border="blue", axes=TRUE) 

Ambos comandos plot() dan el mismo resultado R. No hay errores solo el siguiente mensaje

OGR data source with driver: ESRI Shapefile 
Source: "P:/Victoria_DSE/BFAST_spatial/vector/PLM_excl_fire03_09_GDA94LL/mgaz94z55/clipped_EG", layer: "clipped_forest_mga" 
with 1 features and 4 fields 
Feature type: wkbMultiPolygon with 2 dimensions 

¿Cómo se puede solucionar esto?

+0

Esta es una pregunta moderadamente especializada, y hay una lista especial para esto - ¿Consideró preguntar en r-ssig-spatial? –

Respuesta

11

Ene,

Su shapefile probablemente se haya leído correctamente. Es más probable que el trazado no sea correcto. Trate spplot() en lugar de la trama():

spplot(shp, col.regions="gray", col="blue") 

Si su archivo de forma tiene más de una columna (que es probable), añadir zcol = 1 (o cualquier otra columna) para que pueda obtener sólo un panel

spplot(shp, zcol=1, col.regions="gray", col="blue") 

Si realmente desea utilizar un gráfico, debe establecer un color para el fondo, ya que de lo contrario imprimirá los agujeros transparentes. Así que configure pbg = "blanco". Proveedores:

plot(shp, col="gray", border="blue", axes=TRUE, pbg="white") 

Por cierto, la lista Creo que se refería a Dirk es R-sig-Geo y se puede encontrar que hay muchas respuestas y muchas preguntas relacionadas con los sig.

+2

¡Respuesta muy clara! Ambas soluciones funcionan. Gracias por tu ayuda. I conocer algunas páginas web muy útiles con otros ejemplos de I para trazar mapas espaciales que contienen rejilla y vector de datos: http://geography.uoregon.edu/GeogR/examples/maps_examples02.htm http: // r-espacial. sourceforge.net/gallery/ Cheers, Jan – Janvb