[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