[R-br] Obtenção de Valores em Pontos de Arquivo Raster
ASANTOS
alexandresantosbr em yahoo.com.br
Terça Fevereiro 16 11:24:50 BRST 2016
Ótima Rotina Éder!!!!!
Acho que tem que trocar download.file(url1, fn, mode="wb") por
download.file(url0, fn, mode="wb")
Mais uma outra coisa, se eu trocar o formato nc e no meu caso, que
são geoTiff por *asc não tornaria essa operação mais rápida e menos
sujeita a restrições de limite de memória?
Obrigado,
--
======================================================================
Alexandre dos Santos
Proteção Florestal
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Caixa Postal 244
Avenida dos Ramires, s/n
Bairro: Distrito Industrial
Cáceres - MT CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO)
e-mails:alexandresantosbr em yahoo.com.br
alexandre.santos em cas.ifmt.edu.br
Lattes: http://lattes.cnpq.br/1360403201088680
OrcID: orcid.org/0000-0001-8232-6722
Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10
LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635
======================================================================
Em 16/02/2016 08:24, Éder Comunello escreveu:
> ### <code r>
> setwd("D:/Temp")
> sapply(c("raster", "sp", "ncdf4"), require, char=T)
> url0 <-
> "https://drive.google.com/file/d/0B6tnaf2fmoCcOXhnRDIxWnM5UDA/view"
> browseURL(url0) ### 266 Mb
>
> dir(patt="\\.nc")
> fn <- "Rs_daily_UT_Brazil_v2_20070101_20131231.nc"
> download.file(url1, fn, mode="wb")
>
> # nc <- nc_open(fn); names(nc[['var']]) ### inspeção de conteúdo
> # r <- raster(fn); dim(r); object.size(r) ### importará somente
> primeiro layer
>
> s <- stack(fn, varname="Rs")
> dim(s); print(object.size(s), units="Mb") ### 2557 layers (datas), 30.4 Mb
>
> POI <- SpatialPoints(cbind(lon=c(-47.5,-47.5,-44.5,-40),
> lat=c(-18.5,-19.5,-20.5,-22)))
> proj4string(POI) <- proj4string(s)
>
> e <- extract(s, POI, method= "bilinear", df=T) #ou method="simple"
>
> dim(e); head(e[,1:5])
>
> e2 <- t(e[-1]) ### inverte, retirando a primeira coluna (ID)
> dim(e2) ### [1] 2557 4
>
> head(e2, 3)
> # [,1] [,2] [,3] [,4]
> # X2007.01.01 11.67222 12.36980 8.660182 NA
> # X2007.01.02 17.28591 14.08362 9.963414 NA
> # X2007.01.03 15.78652 12.72562 10.278209 NA
>
> tail(e2, 3)
> # [,1] [,2] [,3] [,4]
> # X2013.12.29 23.22835 23.38377 19.95641 NA
> # X2013.12.30 18.80989 21.45013 16.14789 NA
> # X2013.12.31 19.01340 17.74833 20.40014 NA
>
> ### Comparação de métodos de extração (utilizando primeiro layer)
> sp1 <- as(s[[1]], "SpatialPixelsDataFrame")
> over(POI, sp1)[,1]
>
> data.frame(POI em coords,
> over = over(POI, sp1)[,1],
> bil = extract(s[[1]], POI, method= "bilinear", df=T)[,2],
> simp = extract(s[[1]], POI, method= "simple", df=T)[,2])
> # lon lat over bil simp
> # 1 -47.5 -18.5 11.586952 11.672215 11.639958
> # 2 -47.5 -19.5 12.564141 12.369798 11.964512
> # 3 -44.5 -20.5 8.624653 8.660182 7.975467
> # 4 -40.0 -22.0 NA NA NaN
>
> ### Visualizando os dois primeiros pontos
> crop <- crop(s[[1]], extent(-48, -47, -20, -18))
> image(crop, asp=T)
> text(crop, lab=round(getValues(crop), 6), cex=.5); points(POI, pch=20,
> cex=2)
>
> ### over pega à esquerda, simple à direita e bilinear interpola.
> ### </code>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160216/4608660d/attachment-0001.html>
Mais detalhes sobre a lista de discussão R-br