[R-br] extrair bordas de arquivos .shp

Eder Comunello ecomunel em gmail.com
Domingo Novembro 4 19:25:50 BRST 2012


Olá, pessoal!

Tentei dar um 'up' no CMR, seguindo a dica do Walmes...

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

#install.packages(c("geoR", maptools", "sp"), dep=T)
require(geoR); require(maptools); require(sp)

### download direto! ;D
### joga na pasta/dir de trabalho ativa
download.file('http://dl.dropbox.com/u/117618178/ctba/bairros.shp',
              paste(getwd(),'bairros.shp',sep='/'), mode='wb')
download.file('http://dl.dropbox.com/u/117618178/ctba/bairros.dbf',
              paste(getwd(),'bairros.dbf',sep='/'), mode='wb')
download.file('http://dl.dropbox.com/u/117618178/ctba/bairros.shx',
              paste(getwd(),'bairros.shx',sep='/'), mode='wb')

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",formatC(i, flag=0,
width=3),ii,sep="-"),pol)
}
}

### unir 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 <- data.frame(borda.spol em polygons[[1]]@Polygons[[1]]@coords)

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

Observações sobre o download.file() e Dropbox
1) arquivos locados em um subdiretório da pasta 'Public';
2) funcionou tanto com http quanto https;
3) precisei definir mode='wb' (modo binário) para não corromper os arquivos
na gravação.

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 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/ace4ca42/attachment.html>


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