f = function(fname){<div>   year = substr(fname, 2, 5)</div><div>   day1 = as.integer(substr(fname, 6, 8))</div><div>   month = format(as.Date(strptime(paste(year, "01", "01", sep='-'), '%Y-%m-%d'))+day1-1, '%m')</div>

<div>   objOut = paste('m', substr(year, 3, 4), month, sep='')</div><div><br></div><div>   hdf4to5(fname)</div><div>   assign(objOut, satinGet(paste(fname, 5, sep=''), lats=c(10, -30), lons=c(-20, -50), itype='oceancolor'))</div>

<div>   assign(objOut, data.frame(extract(simplifySat(get(objOut), extent=1))))</div><div>   assign(objOut, cbind(get(objOut), mes=as.integer(month), year=as.integer(year)))</div><div>   return(get(objOut)<br><div>}</div>

<div><br></div><div>## vetor com o nome de todos os arquivos hdf4</div><div>fns = list.files(pattern='\\.hdf$')</div><div>resultados = lapply(fns, f)</div><div><br></div><div>Claramente, eu nao experimentei o codigo acima... e fica pra vc a tarefa de testar e corrigir algum parenteses que esteja faltando ou algum outro problema.</div>

<div><br></div><div>benilton</div><div><br><div class="gmail_quote">2012/3/30 Humberto Hazin <span dir="ltr"><<a href="mailto:hghazin@hotmail.com">hghazin@hotmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><div class="im">
    Bom dia Benilton,<br>
    <br>
    Obrigado por responder!<br>
    <br>
    É o seguinte quando baixo a imagem ela já vem com esse número todo
    (S20040322004060) onde S=seawifs, em seguida vem o ano 2004032
    2004060 significa o periodo da coleta do satélite ou seja 032-60
    dias de 2004, ou seja mes 2. Assim para o outro arquivo
    S20040012004031 001-31 dias de 2004 ou seja mes 1<br>
    <br>
    Esse arquivos estão em hdf4 porém preciso converter para hdf5 para
    poder trabalhar! Então criei uma função no R (hdf4to5) para para ler
    um executavel de um programa (H4H5TOOLS-2.2.1-win764-vs10static) em
    segundo plano para esse fim! Uso o pacote Satin para ler o arquivo
    convertido em hdf5 e fazer as extrações da área que quero ter esses
    dados "satinGet("S20040012004031.hdf5",lats=c(10, -30), lons=c(-20,
    -50), itype="oceancolor")" como preciso de quadrantes de 1x1 grau
    uso a função "simplifySat(m0401, extent=1)" em seguida criei uma
    função no R "extract(m0401)" para extrair tudo em coluna Lat, Long,
    Parametro...<br>
    <br>
    <br></div><div class="im">
    hdf4to5("S20040012004031.hdf");m0401 <-
    satinGet("S20040012004031.hdf5",lats=c(10, -30), lons=c(-20, -50),
    itype="oceancolor")<br>
     m0401<-(simplifySat(m0401,
    extent=1));m0401<-extract(m0401);m0401<-data.frame(m0401);m0401$mes<-1;

    m0401$year<-2004<br>
    <br>
     hdf4to5("S20040322004060.hdf");m0402 <-
    satinGet("S20040322004060.hdf5",lats=c(10, -30), lons=c(-20, -50),
    itype="oceancolor")<br>
     m0402<-(simplifySat(m0402,
    extent=1));m0402<-extract(m0402);m0402<-data.frame(m0402);m0402$mes<-2;

    m0402$year<-2004<br>
    <br></div><div class="im">
    Eu não sei se ficou mais claro agora!<br>
    <br>
    Humberto<br>
    <br>
    <br>
    Em 3/29/2012 9:25 PM, Benilton Carvalho escreveu:
    </div><blockquote type="cite">Sim, alguem pode te ajudar... mas depende muito de vc
      ajudar o alguem primeiro.... Qual o truque para sair
      de S20040322004060 para "mes 2"? (minha bola de cristal diz que o
      ano corresponde aos 4 primeiros digitos apos S, mas isso eh soh
      uma hipotese, jah que vc nao disse explicitamente)
      <div><div class="h5"><div>
        <br>
      </div>
      <div>b<br>
        <br>
        <div class="gmail_quote">2012/3/29 Humberto Hazin <span dir="ltr"><<a href="mailto:hghazin@hotmail.com" target="_blank">hghazin@hotmail.com</a>></span><br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            Prezados,<br>
            <br>
            Venho mais uma vez pedir ajuda a voces para resolver um
            problema!<br>
            <br>
            baixei uma série de images de satelite, por ano e mes (2004
            a 2010) totalizando 163 arquivos ate ai tudo bem! Por termos
            de comodidade gostaria de criar um loop para nao ter que
            digitar essas 163 linhas ou mais para extrair latitude,
            longitude e SST. conforme o codigo abaixo:<br>
            <br>
            hdf4to5("S20040012004031.hdf");m0401 <-
            satinGet("S20040012004031.hdf5",lats=c(10, -30), lons=c(-20,
            -50), itype="oceancolor")<br>
             m0401<-(simplifySat(m0401, extent=1));m0401<-extract(m0401);m0401<-data.frame(m0401);m0401$mes<-1;
            m0401$year<-2004<br>
            <br>
             hdf4to5("S20040322004060.hdf");m0402 <-
            satinGet("S20040322004060.hdf5",lats=c(10, -30), lons=c(-20,
            -50), itype="oceancolor")<br>
             m0402<-(simplifySat(m0402, extent=1));m0402<-extract(m0402);m0402<-data.frame(m0402);m0402$mes<-2;
            m0402$year<-2004<br>
            <br>
            Alguem poderia me ajudar!<br>
            <br>
            Nao coloquei o arquivo pois é muito grande quase 36gigas
            porém caso precisem posso colocar o parte do codigo para
            baixarem um ou mais arquivos e testarem<br>
            <br>
            Humberto<br>
            <br>
            _______________________________________________<br>
            R-br mailing list<br>
            <a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">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.<br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
R-br mailing list
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a>
<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>
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.</pre>
    </div></div></blockquote>
    <br>
  </div>

</blockquote></div><br></div></div>