[R-br] skater e deldir
Rafael Tieppo
rafaeltieppo em yahoo.com.br
Terça Outubro 21 12:54:41 BRST 2014
Elias,
Pelo o que eu entendi, vc usou a funcao deldir(), no caso Voronoi para fazer os polígono da área. Se for isso acho que passei pelo mesmo processo.
Vou passar algumas etapas e uma função que improvisei e no meu caso deu certo. Vou explicar os procedimentos:
1) com a funcao deldir() vc faz seu polígonos na área
sss <- deldir( .....)
entao vc tem o objeto sss
2) Para gerar uma lista do objeto "sss" use a funcao tile.list()
sss_list <- tile.list(sss)
3) Agora desse objeto que é uma lista, vc tem que extrair o conjunto de polígonos
para isso improvisei uma função, grave ela no seu ambiente:
FUN_VOR_MAT <- function (A,TT) #TT é o arquivo, N o número do POL
{
AA <- 1
BB <- 2
NROW <- length (A[[TT]]$x) + 1 #add primeiro ponto
VORONOI_MATRIX <- matrix(0,NROW,2)
VORONOI_MATRIX[1:NROW,AA] <- A[[TT]]$x[1:NROW]
VORONOI_MATRIX[1:NROW,BB] <- A[[TT]]$y[1:NROW]
VORONOI_MATRIX[NROW,AA] <- A[[TT]]$x[1] #+ 1 add primeiro ponto
VORONOI_MATRIX[NROW,BB] <- A[[TT]]$y[1] #+ 1 add primeiro ponto
if(TT == NROW){
print("17/10/2014, rafaeltieppo em yahoo.com.br ")}
return(VORONOI_MATRIX)
}
4) Agora vc vai usar a funcao:
sss_areas <- lapply(1:length(sss_list), function (x) ( FUN_VOR_MAT(sss_list,x)) )
5) #Formando Polygons
sss_pols <- lapply(1:length(sss_areas), function(x) Polygons(list(Polygon(sss_areas[[x]])),
ID = paste("reg", x, sep = "")))
6) Para converter em SpatialPolygins
sss_SPATIAL_POLS <- as.SpatialPolygons.PolygonsList(sss_pols, proj4string=CRS(as.character(NA)))
Se tudo correu bem é só comecar a usar o poly2nb(sss_SPATIAL_POLS)
Boa sorte
Rafael Tieppo
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141021/375af124/attachment.html>
Mais detalhes sobre a lista de discussão R-br