[R-br] extrair bordas de arquivos .shp

Eder Comunello ecomunel em gmail.com
Domingo Novembro 4 15:33:05 BRST 2012


Boa tarde, Samuel e colegas!

Segue uma sugestão de código...

Testei com a delimitação dos bairros de Curitiba, do material do Prof.
Paulo Justiniano

Para testar será necessário baixar os 3 arquivos disponibilizados a seguir:
https://dl.dropbox.com/u/117618178/ctba/bairros.shp'
https://dl.dropbox.com/u/117618178/ctba/bairros.dbf'
https://dl.dropbox.com/u/117618178/ctba/bairros.shx'

Ou então baixar e descompactar:
https://dl.dropbox.com/u/117618178/ctba/bairros.zip'

########################

#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 em polygons)) ### numero de poligonos

for (i in 1:npol){
          nsubpol <- length(ctba em polygons[[i]]@Polygons) ### numero de
poligonos internos
          for (ii in 1:nsubpol){
                    pol <- ctba em 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 em polygons[[1]]@Polygons[[1]]@coords)

########################

Estou usando R version 2.15.2 (2012-10-26) - Platform:
x86_64-w64-mingw32/x64 (64-bit)

Espero que ajude,

-- 

================================================
É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 Agriculture
Dourados, MS, Brazil [22 16.5'S, 54 49.0'W]
================================================
UTC-03:00
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20121104/cae75423/attachment.html>


Mais detalhes sobre a lista de discussão R-br