[R-br] Predição lenta - Interpolação Kriging
Thiago Cesar Lima Silveira
thiagoclsilveira em yahoo.com.br
Terça Junho 17 09:22:26 BRT 2014
Bom dia pessoal,
Espero que possam me ajudar.
Entro em contato para pedir uma ajuda em uma interpolação que estou tentando fazer.
Já usei o mesmos comandos abaixo para realizar interpolações de variáveis de um lago por ordinary kriging com 240 pontos, sem problemas.
Agora estou tentando interpolar a batimetria do lago, para tanto criei pontos no limite do lago com valor zero, cerca de 1200 pontos.
Usando a mesma metodologia, a predição “predict( )" para o grid passa de 3 horas e não tive paciência para esperar mais, visto que as outras vezes que usei a predição para o grid demorou cerca de 2 minutos para 240 pontos interpolados.
Imagino que a quantidade de pontos seja o problema.
Alguém teria alguma sugestão de caminho que tivesse menos custo computacional, pois acho que a quantidade de pontos seja o problema.
Agradeço desde já a atenção.
Segue abaixo os comandos utilizados:
>library(geoR)
>library(raster)
>library(gstat)
>library(rgdal)
>interpol_pcsand<-data_interpol[,c(1,2,6)]
>coordinates(interpol_pcsand)<- ~long+lat
#setting the CRS for the geospatial data, same as the mask and grid
>projection(interpol_pcsand)<-'+proj=utm +zone=22 +south +ellps=aust_SA +units=m +no_defs '
#search for duplicated coords
>dup.coords(interpol_pcsand$coords)
#Creating a gstat object
>g_pcsand <- gstat(id="pcsand", formula=pcsand ~ 1, data=interpol_pcsand)
# variogram with eye ball fitting
> v.eye_sand <- eyefit(variog(as.geodata(interpol_pcsand["pcsand"]), max.dist = 20000))
#saving a readable file for gstat
>ve.fit <- as.vgm.variomodel(v.eye[[1]])
#updating the gstat object
>g_pcsand <- gstat(g_pcsand, id="pcsand", model=ve.fit_pcsand )
#predicting to new data
# grid4 diemensions -
#features : 1630464
#extent : 468333.3, 499983.3, 6634933, 6681223 (xmin, xmax, ymin, ymax)
#coord. ref. : +proj=utm +zone=22 +south +ellps=aust_SA +units=m +no_defs
>p_pcsand <- predict(g_pcsand, model=ve.fit_pcsand , newdata=grid4)
#write a raster with the interpolated matrix
rasterpcsand_pred <- rasterFromXYZ(as.data.frame(p_pcsand)[, c("x", "y", "data.pred")])
#Create raster tif file
>writeRaster(raster, filename="raster.tif", overwrite=TRUE)
_________________________________
Thiago Cesar Lima Silveira
PhD candidate - Zoology PUCRS - Brazil
Visitor PhD. student - School of Ocean Sciences - Bangor University
Building Westbury Mouth
Room Nautilus 327
Menai Bridge - Isle of Anglesey - UK
Telephone.: 07843 115244
e-mail: thiago.cesar em acad.pucrs.br
CV: http://lattes.cnpq.br/5960267776845701
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140617/af8d4c19/attachment.html>
Mais detalhes sobre a lista de discussão R-br