Boa tarde, Samuel e colegas!<div><br></div><div>Segue uma sugestão de código...</div><div><br></div><div>Testei com a delimitação dos bairros de Curitiba, do material do Prof. Paulo Justiniano</div><div><br></div><div>Para testar será necessário baixar os 3 arquivos disponibilizados a seguir:</div>
<div><div><a href="https://dl.dropbox.com/u/117618178/ctba/bairros.shp">https://dl.dropbox.com/u/117618178/ctba/bairros.shp</a>'</div><div><a href="https://dl.dropbox.com/u/117618178/ctba/bairros.dbf">https://dl.dropbox.com/u/117618178/ctba/bairros.dbf</a>'</div>
<div><a href="https://dl.dropbox.com/u/117618178/ctba/bairros.shx">https://dl.dropbox.com/u/117618178/ctba/bairros.shx</a>'</div><div><br></div><div>Ou então baixar e descompactar:</div><div><a href="https://dl.dropbox.com/u/117618178/ctba/bairros.zip">https://dl.dropbox.com/u/117618178/ctba/bairros.zip</a>'</div>
<div><br></div><div>########################</div><div><br></div><div><div>#install.packages(c("geoR", maptools", "sp"), dep=T)</div><div>require(geoR); require(maptools); require(sp)</div><div><br>
</div><div>ctba <- readShapePoly("bairros.shp", IDvar="CODE")</div><div>slotNames(ctba)</div><div><br></div><div>npol <- as.integer(length(ctba@polygons)) ### numero de poligonos</div><div><br></div>
<div>for (i in 1:npol){</div><div> nsubpol <- length(ctba@polygons[[i]]@Polygons) ### numero de poligonos internos</div><div> for (ii in 1:nsubpol){</div><div> pol <- ctba@polygons[[i]]@Polygons[[ii]]@coords</div>
<div> #assign(paste("P",i,ii,sep="-"),pol)<br></div><div> assign(paste("P",formatC(i, flag=0, width=3),ii,sep="-"),pol)</div><div>}</div><div>}</div>
<div>########################<br></div><div><br></div><div>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.</div><div><br></div><div>
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. </div>
<div><br></div><div>### une todos os poligonos e então exporta uma borda unica</div><div>gpclibPermit() ## para permitir unionSpatialPolygons</div><div>borda.spol <- (unionSpatialPolygons(ctba, ID=rep(1, length(ctba)), avoidGEOS=T))</div>
<div>borda.df <- data.frame(borda.spol@polygons[[1]]@Polygons[[1]]@coords)</div><div><br></div></div><div>########################<br></div><div><br></div><div>Estou usando R version 2.15.2 (2012-10-26) - Platform: x86_64-w64-mingw32/x64 (64-bit)</div>
<div><br></div><div>Espero que ajude,</div><div><br></div><div>-- <br><font face="arial, helvetica, sans-serif"><br>================================================<br>Éder Comunello<br><br>Ph.D. Student in Agricultural Systems Engineering (USP/ESALQ)<br>
Piracicaba, SP, Brazil [22 42.7'S, 47 37.8'W]<br><br>Researcher at Embrapa Western Region Agriculture</font><div><font face="arial, helvetica, sans-serif">Dourados, MS, Brazil [</font>22 16.5'S, 54 49.0'W<span style="font-family:arial,helvetica,sans-serif">]</span></div>
<div><font face="arial, helvetica, sans-serif">================================================<br>UTC-03:00</font></div></div><div><br></div></div>