
Ó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@yahoo.com.br alexandre.santos@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@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>