Thiago,
tente usar a funcao zApply do proprio pacote raster.
## datas de 8 em 8 dias, extraidas dos nomes dos arquivos tiff
t8d <- seq(as.Date("2000-01-01"), length.out=100, by="8 days")
## stack dos arquivos tiff
s <- stack(list.files(pattern="tiff$"))
## definindo variavel z como t8d
s <- setZ(s, t8d, name="8day")
require(zoo)
res <- zApply(s, by=as.yearmon, fun=mean, name="meses")
Boa noite pessoal,
Preciso de ajuda para fazer um loop que percorra uma lista enorme de arquivos.
Organizei uma série (+50GB) de imagens de satélite que está organizada em anos (2001 a 2011) e, por ano, a cada oito dias (julianos).
lai200101.tif
lai200109.tif
lai200117.tif
lai200125.tif
.
.
.
lai2011361.tif
onde a nomenclatura segue o padrão: lai{ano}{diajuliano}.tif. Percebam que o incremento entre os dias é sempre oito.
Preciso fazer duas operações nesse banco de dados:
1) um loop para abrir cada um dos arquivos, nomeando a variável com o ano e mês, e multiplicar a mesma por 0.001. Algo assim:
library(raster)
lai{ano}{diajuliano}<-raster('lai{ano}{diajuliano}.tif') #carregando imagem
lai{ano}{diajuliano}<-lai{ano}{diajuliano}*0.001 #calibrando imagem
2) Ao longo de todos os arquivos, somar cada quatro para produzir um mês de dados, por exemplo:
lai_jan_2001 <- lai200101.tif + lai200109.tif + lai200117.tif + lai200125.tif
lai_feb_2001 <- lai200133.tif + lai200141.tif + lai200149.tif + lai200157.tif
.
.
.
lai_dec_2011 <- lai2011337.tif + lai2011345.tif + lai2011353.tif + lai2011361.tif
Um verdadeiro desafio de programação, concordam? Alguém pode me dar uma ideia de como começar?
Agradece desde já,
Thiago.
_______________________________________________
R-br mailing list
R-br@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.