[R-br] IDW

Elias T. Krainski eliaskrainski em yahoo.com.br
Quinta Maio 29 08:18:21 BRT 2014


humilhou... :)

On 29/05/14 12:36, Éder Comunello wrote:
> Hélio, bom dia!
>
> Faz sentido interpolar? Acredito que sim, partindo do princípio que a 
> dependência espacial pode existir, mas seu método não permitiu 
> detectá-la. Acredito que a causa mais comum seja o esquema de 
> amostragem utilizado, sobretudo no que se refere à distância entre 
> amostras. No caso particular, você conseguiu modelar em algumas áreas 
> e não em outras, dando margem à essa interpretação.
>
> O colega Elias já postou uma solução, mas acrescento o código abaixo, 
> caso ainda tenha interesse em utilizar o {gstat}.
>
> Em termos gerais, a ideia de operação no {gstat} é similar a do 
> {geoR}, no sentido em que você vai precisar criar um grid pra receber 
> o resultado da interpolação. O espaçamento da grade será a resolução 
> da interpolação. O ponto principal é que tem que trabalhar com objetos 
> da classe 'sp'.
>
> Verifique os parâmetros número de vizinhos (nmax) e peso/potência da 
>  distância (idp). No {gstat} por default utilizam-se todos os pontos e 
> o idp=2.
>
> Atte.,
>
> ### <code r>
> sapply(c("gstat", "sp", "geoR", "RColorBrewer"), require, 
> character.only=T)
>
> data(parana); names(parana)
> hist(parana$data, col=3)
> points(parana, pt.divide='quart')
>
> ### Criar objeto 'sp'
> pr <- data.frame(x=parana$coords[,1], y=parana$coords[,2], 
> chuva=parana$data)
> names(pr); coordinates(pr) <- ~x+y
> class(pr)
> plot(pr, asp=1, axes=T, pch=20); polygon(parana$borders, border=2)
>
> ### Criar 'grid'
> bbox(pr)
> lim   <- round(bbox(pr)+c(-1,-1, 1, 1)*50); lim ### amplia a área do bbox
> grid  <- expand.grid(x=seq(lim[1,1],lim[1,2], by=10), 
> y=seq(lim[2,1],lim[2,2], by=10))
> grid  -> grid.pt <http://grid.pt>
> gridded(grid) = ~x+y        ### SpatialPixels
> coordinates(grid.pt <http://grid.pt>) = ~x+y ### SpatialPoints
>
> ### IDW Default
> idw    <- idw(pr$chuva~1, pr, grid)
> idw.pt <http://idw.pt> <- idw(chuva~1, pr, grid.pt <http://grid.pt>)
>
> ### Visualização
> spplot(idw,  "var1.pred", main = "IDW Default")
> spplot(idw.pt <http://idw.pt>, "var1.pred", main = "IDW default - Mapa 
> Pontuado")
> image(idw); polygon(parana$borders); points(pr)
>
> ### Variando parâmetros
> idw.data <- data.frame(
>           default = idw(chuva ~ 1, pr, grid)$var1.pred, ### nmax=todos 
> & idp=2
>           idw6    = idw(chuva ~ 1, pr, grid, nmax=6)$var1.pred,
>           idw9    = idw(chuva ~ 1, pr, grid, nmax=9)$var1.pred,
>           idp1    = idw(chuva ~ 1, pr, grid, idp = 1)$var1.pred,
>           idp4    = idw(chuva ~ 1, pr, grid, idp = 4)$var1.pred,
>           idp8    = idw(chuva ~ 1, pr, grid, idp = 8)$var1.pred)
>
> grid.data <- SpatialPixelsDataFrame(grid, idw.data)
> dput(names(grid.data))
>
> spplot(grid.data, c("default", "idw6", "idw9", "idp1", "idp4", 
> "idp8"), main = "IDW", col.regions=rainbow(16)
> # idp:  numeric; specify the inverse distance weighting power
> # nmax: the number of nearest observations that should be used
> ### </code>
>
>
>
>
> Éder Comunello <c 
> <mailto:comunello.eder em gmail.com>omunello.eder em gmail.com 
> <mailto:omunello.eder em gmail.com>>
> Dourados, MS - [22 16.5'S, 54 49'W]
>
>
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140529/6b7fcc48/attachment-0001.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: não disponível
Tipo: image/png
Tamanho: 7652 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140529/6b7fcc48/attachment-0001.png>


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