#install.packages(c("geoR", maptools", "sp"), dep=T)
require(geoR); require(maptools); require(sp)
ctba <- readShapePoly("bairros.shp", IDvar="CODE")
slotNames(ctba)
npol <- as.integer(length(ctba@polygons)) ### numero de poligonos
for (i in 1:npol){
nsubpol <- length(ctba@polygons[[i]]@Polygons) ### numero de poligonos internos
for (ii in 1:nsubpol){
pol <- ctba@polygons[[i]]@Polygons[[ii]]@coords
#assign(paste("P",i,ii,sep="-"),pol)
assign(paste("P",formatC(i, flag=0, width=3),ii,sep="-"),pol)
}
}
########################
Neste caso aí serão originados 75 objetos correspondentes ao 75 polígonos. O código prevê sub-polígonos, pois é bem normal que eles existam.
Não sei o que você pretende com esta operação, mas te confesso que fico pensando que ela não a melhor solução para "bordas". Sendo assim, acrescento outro trecho de código para unir todos os polígonos e feito isso, exportar uma borda única.
### une todos os poligonos e então exporta uma borda unica
gpclibPermit() ## para permitir unionSpatialPolygons
borda.spol <- (unionSpatialPolygons(ctba, ID=rep(1, length(ctba)), avoidGEOS=T))
borda.df <- data.frame(borda.spol@polygons[[1]]@Polygons[[1]]@coords)
Estou usando R version 2.15.2 (2012-10-26) - Platform: x86_64-w64-mingw32/x64 (64-bit)
--
================================================
Éder Comunello
Ph.D. Student in Agricultural Systems Engineering (USP/ESALQ)
Piracicaba, SP, Brazil [22 42.7'S, 47 37.8'W]
Researcher at Embrapa Western Region AgricultureDourados, MS, Brazil [22 16.5'S, 54 49.0'W]
================================================
UTC-03:00