<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;"> Jonatan e Tito<div><br></div><div> Também agradeço as sugestões de vocês. Vou usá-las para construir uma função, o que parece ser mais eficiente em termos de otimização de uso de memória e consumo de disco.</div><div><br></div><div> Saudações,</div><div> Thiago.<br><br>--- On <b>Thu, 3/5/12, Jônatan <i><jdtatsch@gmail.com></i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Jônatan <jdtatsch@gmail.com><br>Subject: Re: [R-br] Loop varrendo quantidade enorme de arquivos<br>To: r-br@listas.c3sl.ufpr.br<br>Date: Thursday, 3 May, 2012, 2:24<br><br><div id="yiv86809734">Thiago,<br> tente usar a funcao zApply do proprio pacote raster.<br><br>## datas de 8 em 8 dias, extraidas dos nomes dos arquivos tiff<br>t8d <-
seq(as.Date("2000-01-01"), length.out=100, by="8 days")<br>
<br>## stack dos arquivos tiff<br>s <- stack(list.files(pattern="tiff$"))<br><br>## definindo variavel z como t8d<br>s <- setZ(s, t8d, name="8day")<br>require(zoo)<br>res <- zApply(s, by=as.yearmon, fun=mean, name="meses")<br>
<br><br><br><br><div class="yiv86809734gmail_quote">2012/5/2 Thiago Veloso <span dir="ltr"><<a rel="nofollow" ymailto="mailto:thi_veloso@yahoo.com.br" target="_blank" href="/mc/compose?to=thi_veloso@yahoo.com.br">thi_veloso@yahoo.com.br</a>></span><br><blockquote class="yiv86809734gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Boa noite pessoal,<br>
<br>
Preciso de ajuda para fazer um loop que percorra uma lista enorme de arquivos.<br>
<br>
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).<br>
<br>
lai200101.tif<br>
lai200109.tif<br>
lai200117.tif<br>
lai200125.tif<br>
.<br>
.<br>
.<br>
lai2011361.tif<br>
<br>
onde a nomenclatura segue o padrão: lai{ano}{diajuliano}.tif. Percebam que o incremento entre os dias é sempre oito.<br>
<br>
Preciso fazer duas operações nesse banco de dados:<br>
<br>
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:<br>
<br>
library(raster)<br>
lai{ano}{diajuliano}<-raster('lai{ano}{diajuliano}.tif') #carregando imagem<br>
lai{ano}{diajuliano}<-lai{ano}{diajuliano}*0.001 #calibrando imagem<br>
<br>
2) Ao longo de todos os arquivos, somar cada quatro para produzir um mês de dados, por exemplo:<br>
lai_jan_2001 <- lai200101.tif + lai200109.tif + lai200117.tif + lai200125.tif<br>
lai_feb_2001 <- lai200133.tif + lai200141.tif + lai200149.tif + lai200157.tif<br>
.<br>
.<br>
.<br>
lai_dec_2011 <- lai2011337.tif + lai2011345.tif + lai2011353.tif + lai2011361.tif<br>
<br>
Um verdadeiro desafio de programação, concordam? Alguém pode me dar uma ideia de como começar?<br>
<br>
Agradece desde já,<br>
Thiago.<br>
_______________________________________________<br>
R-br mailing list<br>
<a rel="nofollow" ymailto="mailto:R-br@listas.c3sl.ufpr.br" target="_blank" href="/mc/compose?to=R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a rel="nofollow" target="_blank" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a rel="nofollow" target="_blank" href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br>
</blockquote></div><br><br clear="all"><br>-- <br>#------------------------------------------------------------------------------#<br># Jônatan Dupont Tatsch #<br>
# Climate and Biosphere Laboratory #<br># Department of Atmospheric Sciences #<br># Institute of Astronomy, Geophysics and Atmospheric Sciences #<br>
# University of São Paulo #<br># Rua do Matão, 1226 #<br># Cid. Universitária, São Paulo, SP, Brazil, CEP: 05508-090 #<br>
# Phone:+55 11 3091-4772, Fax:+55 11 3091-4714 #<br># <a rel="nofollow" target="_blank" href="http://jonatandupont.weebly.com/index.html">http://jonatandupont.weebly.com/index.html</a> #<br>#------------------------------------------------------------------------------#<br>
</div><br>-----Inline Attachment Follows-----<br><br><div class="plainMail">_______________________________________________<br>R-br mailing list<br><a ymailto="mailto:R-br@listas.c3sl.ufpr.br" href="/mc/compose?to=R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.</div></blockquote></div></td></tr></table>