[R-es] Pregunta sobre manipulación de shapefile

Oscar Perpiñán Lamigueiro oscar.perpinan en upm.es
Mie Oct 8 19:01:29 CEST 2014


Hola,

Cuando usas readShapPoly obtienes un objeto de clase
SpatialPolygonsDataFrame. Si lo que necesitas es añadir nuevas columnas,
puedes hacerlo como harías con cualquier data.frame. Usando el ejemplo
que viene en su página de ayuda, añado una nueva variable llamada test:

     library(maptools)
     xx <- readShapePoly(system.file("shapes/sids.shp", package="maptools")[1],
      IDvar="FIPSNO", proj4string=CRS("+proj=longlat +ellps=clrk66"))
     xx$test <- rnorm(nrow(xx))

También te puede interesar la función spCbind, que te permite unir un
Spatial*DataFrame con un data.frame.

Finalmente, si necesitas las coordenadas del centroide de cada polígono,
puedes usar coordinates:

     coordinates(xx)

Pero si necesitas las coordenadas de todos las líneas es más fácil si
lees el mismo fichero con readShapeLines, y usas de nuevo coordinates. Ahora
obtendrás una lista con las coordenadas de cada uno de los polígonos.

Saludos.

Oscar.


-- 
Oscar Perpiñán Lamigueiro
Dpto. Ingeniería Eléctrica (ETSIDI-UPM)
Grupo de Sistemas Fotovoltaicos (IES-UPM)
URL: http://oscarperpinan.github.io



Más información sobre la lista de distribución R-help-es