<div dir="ltr">Olá Rafael,<div>no último <a href="http://r-br.2285057.n4.nabble.com/R-br-Baixando-dados-do-INMET-com-a-biblioteca-RCurl-e-bitops-Salvando-arquivos-em-txt-td4666378.html">post</a> sobre esse tópico disponibilizei funções para download, verificação da consistência temporal dos dados e remoção de dados duplicados. Essas funções foram empacotadas e estão disponíveis no pacote:</div><div><a href="https://github.com/jdtatsch/inmetr">https://github.com/jdtatsch/inmetr</a><br></div><div>Para instalá-lo:</div><div><pre style="font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:13.6px;margin-top:0px;margin-bottom:16px;font-stretch:normal;line-height:1.45;word-wrap:normal;padding:16px;overflow:auto;border-radius:3px;color:rgb(51,51,51);background-color:rgb(247,247,247)"><code style="font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:13.6px;padding:0px;margin:0px;border-radius:3px;border:0px;display:inline;overflow:visible;line-height:inherit;word-wrap:normal;background:transparent">library(devtools)
install_github('jdtatsch/inmetr')</code></pre></div><div>Os dados baixados são sub-diários (0, 12 e 18 UTC) e incluem todas variáveis do BDMEP:</div><div><pre style="font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:13.6px;margin-top:0px;margin-bottom:16px;font-stretch:normal;line-height:1.45;word-wrap:normal;padding:16px;overflow:auto;border-radius:3px;color:rgb(51,51,51);background-color:rgb(247,247,247)"><code style="font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:13.6px;padding:0px;margin:0px;border-radius:3px;border:0px;display:inline;overflow:visible;line-height:inherit;word-wrap:normal;background:transparent">data_description()
varname description unit
1 date date and time information -
2 id station ID -
3 prec precipitation mm
4 tair air temperature deg C
5 tw wet bulb temperature deg C
6 tmax maximum air temperature deg C
7 tmin minimum air temperature deg C
8 urmax maximum relative humidity %
9 patm atmospheric pressure hPa
10 pnmm mean sea level atmospheric pressure hPa
11 wd wind direction deg
12 wsmax wind gust m/s
13 n sunshine hours h
14 cc cloud cover -
15 evap evaporation mm
16 ur relative humidity %
17 ws wind speed m/s</code></pre></div><div><br></div><div>Para baixar vários arquivos é possível fazer um looping variando o id da estação, baixar os dados da estação e salvá-lo em um csv.</div><div><div><br></div><div>library(inmetr)</div><div>info <- bdmep_stations()</div></div><div><br></div><div># looping para 2 estações</div><div><div>lapply(info$id[1:2],</div><div> function(i){</div><div> # i = 82294</div> Sys.sleep(sample(5:15, 1))<div> x <- import_bdmep(id = i,</div><div> sdate = "01/01/1961", </div><div> edate = "29/08/2016", </div><div> email = "your-email",</div><div> passwd = "your-password")</div><div> write.csv(x, file = paste0(i, ".csv"))</div><div> })</div></div><div><br></div><div>Se for baixar muitos dados, recomendo fazer a noite quando o site é menos acessado.</div><div>Att.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 29, 2016 at 12:29 PM, Rafael Tieppo via R-br <span dir="ltr"><<a href="mailto:r-br@listas.c3sl.ufpr.br" target="_blank">r-br@listas.c3sl.ufpr.br</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:Courier New,courier,monaco,monospace,sans-serif;font-size:16px"><div><div><div style="background-color:rgb(255,255,255)"><div style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><span></span></div><div style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"></div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px">Algum tempo atrás o Alisson Lucrecio e o Éder Comunello estavam trabalhando em um tópico sobre obtenção de dados do INMET. </div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px">Como precisei obter alguns dados hoje, resolvi testar o código, que por sinal funcionou perfeitamente.</div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px">Como os dados são salvos em formato ```.html```, tentei montar um script organizar os dados em um ```data.frame```, assim como deixar apenas uma linha para cada dia de coletado, pois os dados do originais do INMET tem formato de duas linhas para cada dia de coleta.</div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px">Segue o script com os comentários:</div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px">obs: a função que ordena os dias é não tem uma boa performance, pois faz um bom tempo que fiz ela. </div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div dir="ltr"><div dir="ltr">#=============================<wbr>==============================<wbr>======</div><div dir="ltr"># Rafael Tieppo</div><div dir="ltr"># <a href="mailto:rafaelt@unemat.br" target="_blank">rafaelt@unemat.br</a></div><div dir="ltr"># <a href="http://docente.unemat.br/rafaeltieppo/" target="_blank">http://docente.unemat.br/<wbr>rafaeltieppo/</a></div><div dir="ltr"># 29-08-2016</div><div dir="ltr">#=============================<wbr>==============================<wbr>======</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">##### Goal 1 </div><div dir="ltr">### Script to sign in - INMET</div><div dir="ltr">### Historical Data</div><div dir="ltr">### Original Source:</div><div dir="ltr">### <a href="http://r-br.2285057.n4.nabble.com/R-br-r-baixando-dados-inmet-td4660459.html" target="_blank">http://r-br.2285057.n4.nabble.<wbr>com/R-br-r-baixando-dados-<wbr>inmet-td4660459.html</a></div><div dir="ltr">### <a href="http://r-br.2285057.n4.nabble.com/R-br-RCurl-td4659610.html" target="_blank">http://r-br.2285057.n4.nabble.<wbr>com/R-br-RCurl-td4659610.html</a></div><div dir="ltr">##### Goal 2</div><div dir="ltr">### Ordering and filtering DATA from INMET</div><div dir="ltr">### use oneline() function from</div><div dir="ltr">### from <a href="https://github.com/rafatieppo/INMET_DATA_ORDER" target="_blank">https://github.com/rafatieppo/<wbr>INMET_DATA_ORDER</a></div><div><br></div><div><br></div><div dir="ltr"><br></div><div dir="ltr">#*****************************<wbr>******************************<wbr>*</div><div dir="ltr">#*****************************<wbr>******************************<wbr>*</div><div dir="ltr"> # GOAL 1</div><div dir="ltr">#*****************************<wbr>******************************<wbr>*</div><div dir="ltr">#*****************************<wbr>******************************<wbr>*</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">#-----------------------------<wbr>------------------------------<wbr>-</div><div dir="ltr">### Packages</div><div dir="ltr">library(RCurl)</div><div dir="ltr">library(bitops)</div><div dir="ltr">#-----------------------------<wbr>------------------------------<wbr>-</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">#-----------------------------<wbr>------------------------------<wbr>-</div><div dir="ltr">### Logging INMET</div><div dir="ltr"><br></div><div dir="ltr">### Login link</div><div dir="ltr">myURL1 <- "<a href="http://www.inmet.gov.br/projetos/rede/pesquisa/inicio.php" target="_blank">http://www.inmet.gov.br/<wbr>projetos/rede/pesquisa/inicio.<wbr>php</a>"</div><div dir="ltr">### Data link</div><div dir="ltr">myURL2 <- "<a href="http://www.inmet.gov.br/projetos/rede/pesquisa/gera_serie_txt.php?&mRelEstacao=83309&btnProcesso=serie&mRelDtInicio=01/01/2015&mRelDtFim=29/08/2016&mAtributos=,,1,1,,,,,,1,1,,1,1,1,1," target="_blank">http://www.inmet.gov.br/<wbr>projetos/rede/pesquisa/gera_<wbr>serie_txt.php?&mRelEstacao=<wbr>83309&btnProcesso=serie&<wbr>mRelDtInicio=01/01/2015&<wbr>mRelDtFim=29/08/2016&<wbr>mAtributos=,,1,1,,,,,,1,1,,1,<wbr>1,1,1,</a>"</div><div dir="ltr">#-----------------------------<wbr>------------------------------<wbr>-</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">#-----------------------------<wbr>------------------------------<wbr>-</div><div dir="ltr">### Access Data</div><div dir="ltr"><br></div><div dir="ltr">myParams=list(</div><div dir="ltr"> mCod="EMAIL", ### alterar!</div><div dir="ltr"> mSenha="PASSWORD", ### alterar!</div><div dir="ltr"> btnProcesso = " Acessar ")</div><div dir="ltr">#-----------------------------<wbr>------------------------------<wbr>-</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">#-----------------------------<wbr>------------------------------<wbr>-</div><div dir="ltr">### Getting Data</div><div dir="ltr"><br></div><div dir="ltr">myCurl <- getCurlHandle()</div><div dir="ltr">curlSetOpt(cookiejar="cookies.<wbr>txt", useragent="Chrome/10.0.648.<wbr>133" , followlocation=TRUE, curl=myCurl)</div><div dir="ltr">###"Mozilla/5.0"</div><div dir="ltr"><br></div><div dir="ltr">login <- postForm(myURL1, .params=myParams, curl=myCurl)</div><div dir="ltr"><br></div><div dir="ltr">DATA <- getURLContent(myURL2, curl=myCurl)</div><div dir="ltr">#-----------------------------<wbr>------------------------------<wbr>-</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">#*****************************<wbr>******************************<wbr>*</div><div dir="ltr">#*****************************<wbr>******************************<wbr>*</div><div dir="ltr"> # GOAL 2</div><div dir="ltr">#*****************************<wbr>******************************<wbr>*</div><div dir="ltr">#*****************************<wbr>******************************<wbr>*</div><div dir="ltr"><br></div><div dir="ltr">#-----------------------------<wbr>------------------------------<wbr>-</div><div dir="ltr">### Tiding Data</div><div dir="ltr"><br></div><div dir="ltr">### Using shell script to separate DATA from text</div><div dir="ltr">#### grep "^83309" < ESTACAO_83309.html > ESTACAO_83303_DATA.csv</div><div dir="ltr">### Shell script, get all lines that starts with "83309" (station number)</div><div dir="ltr"><br></div><div dir="ltr">SHELL_FUN = paste("grep", "^83309", "<", "ESTACAO_83309.html",</div><div dir="ltr"> ">", "ESTACAO_83303_DATA.csv",</div><div dir="ltr"> sep = ' ')</div><div dir="ltr">### </div><div dir="ltr">system(SHELL_FUN)</div><div dir="ltr"><br></div><div dir="ltr">DATA_83303 <- read.csv("ESTACAO_83303_DATA.<wbr>csv", sep = ";", dec = ".")</div><div dir="ltr"><br></div><div dir="ltr">colnames(DATA_83303) <- c("Estacao", "Data", "Hora", "Precipitacao",</div><div dir="ltr"> "TempMaxima", "TempMinima", "Insolacao",</div><div dir="ltr"> "Evaporacao_Piche", "Temp_Comp_Media",</div><div dir="ltr"> "UR_Media", "Vel_Vent_Media")</div><div dir="ltr"><br></div><div dir="ltr">names(DATA_83303)</div><div dir="ltr">#-----------------------------<wbr>------------------------------<wbr>-</div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">#-----------------------------<wbr>------------------------------<wbr>-</div><div dir="ltr">### Organizing DATA</div><div dir="ltr">### Data from INMET has two lines for each</div><div dir="ltr">### To put one line for each day, use oneline() function </div><div dir="ltr">### Calling ONE_LINE function</div><div dir="ltr">### from <a href="https://github.com/rafatieppo/INMET_DATA_ORDER" target="_blank">https://github.com/rafatieppo/<wbr>INMET_DATA_ORDER</a></div><div dir="ltr"><br></div><div dir="ltr">### ATTENTION</div><div dir="ltr">### To use oneline() is mandatory a data.frame with a specific cols data</div><div dir="ltr">### order, as follow (names doen not matter, only sequence):</div><div dir="ltr"><br></div><div dir="ltr">### Estacao; Data; Hora; Precipitacao; TempMaxima; TempMinima;</div><div dir="ltr">### Insolacao; Umidade Relativa Media; Velocidade do Vento Media; </div><div dir="ltr"><br></div><div dir="ltr">DATA_83303 <- DATA_83303[c(1:7,10:11)]</div><div dir="ltr"><br></div><div dir="ltr">Estacao;Data;Hora;<wbr>Precipitacao;TempMaxima;<wbr>TempMinima;Insolacao;<wbr>Evaporacao</div><div dir="ltr">Piche;Temp Comp Media;Umidade Relativa Media;Velocidade do Vento Media; </div><div dir="ltr"><br></div><div dir="ltr">### Ordering with oneline() function</div><div dir="ltr"><br></div><div dir="ltr">DATA_83303_one_line <- one_line(DATA_83303)</div><div dir="ltr"><br></div><div dir="ltr">edit(DATA_83303_one_line)</div><div dir="ltr"><br></div><div dir="ltr">#-----------------------------<wbr>------------------------------<wbr>-</div><div style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px" dir="ltr"><br></div></div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div dir="ltr" style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br></div><div style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"> </div><div style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><div><font style="font-family:tahoma,'new york',times,serif" size="1"><span style="font-family:verdana,helvetica,sans-serif;font-weight:bold">Rafael Tieppo</span><br clear="none" style="font-family:verdana,helvetica,sans-serif"><span style="font-family:verdana,helvetica,sans-serif">State University of Mato Grosso - </span></font><font style="font-family:tahoma,'new york',times,serif" size="1"><span style="font-family:verdana,helvetica,sans-serif"><font style="font-family:tahoma,'new york',times,serif" size="1"><span style="font-family:verdana,helvetica,sans-serif">Department of </span></font>Agricultural Engineering <br clear="none"></span><span style="font-family:verdana,helvetica,sans-serif"><span style="font-weight:bold">site</span>:</span><span style="font-family:verdana,helvetica,sans-serif"> <a rel="nofollow" shape="rect" href="http://docente.unemat.br/rafaeltieppo/" target="_blank">http://docente.unemat.br/<wbr>rafaeltieppo/</a> </span><span style="font-family:verdana,helvetica,sans-serif"><b>blog</b>: </span></font><a rel="nofollow" shape="rect" href="https://fuidebicicleta.wordpress.com/" style="font-family:verdana,helvetica,sans-serif;font-size:x-small" target="_blank">https://fuidebicicleta.<wbr>wordpress.com</a></div><div><span style="font-family:verdana,helvetica,sans-serif;font-size:x-small">"Evite o desperdício: antes de imprimir pense na sua responsabilidade com o ambiente". <br clear="none"></span></div></div> <div style="color:rgb(0,0,0);font-family:"Courier New",courier,monaco,monospace,sans-serif;font-size:16px"><br clear="none"><br></div></div></div></div></div></div><br>______________________________<wbr>_________________<br>
R-br mailing list<br>
<a href="mailto: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" rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/<wbr>cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer" target="_blank">http://www.leg.ufpr.br/r-br-<wbr>guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><font size="2" style="font-family:arial">###############################################################</font><br><span style="font-family:arial;font-size:small">## </span><span style="font-size:11px;text-align:center;background-color:rgb(239,239,239);color:rgb(150,150,150);font-family:Verdana,Arial,Helvetica,sans-serif;line-height:13px">Jônatan Dupont Tatsch</span></div><div><span style="font-family:arial;font-size:small">## </span><span style="color:rgb(150,150,150);font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10.909090995788574px;line-height:12.997159004211426px;text-align:center;background-color:rgb(239,239,239)">Professor do Departamento de Física</span></div><div><span style="font-size:small;font-family:arial">## </span><span style="color:rgb(150,150,150);font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10.909090995788574px;line-height:12.997159004211426px;text-align:center;background-color:rgb(239,239,239)">Centro de Ciências Exatas e Naturais (CCNE)</span><br></div><div><span style="font-size:small;font-family:arial">## </span><span style="color:rgb(150,150,150);font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10.909090995788574px;line-height:12.997159004211426px;text-align:center;background-color:rgb(239,239,239)">Universidade Federal de Santa Maria - UFSM</span></div><div><span style="font-family:arial;font-size:small">## </span><span style="font-size:11px;text-align:center;background-color:rgb(239,239,239);color:rgb(150,150,150);font-family:Verdana,Arial,Helvetica,sans-serif;line-height:13px">Faixa de Camobi, Prédio 13 - Campus UFSM - </span><span style="font-size:11px;text-align:center;background-color:rgb(239,239,239);color:rgb(150,150,150);font-family:Verdana,Arial,Helvetica,sans-serif;line-height:13px">Santa Maria, RS, Brasil - 97105-900</span><br></div><div style="font-family:arial;font-size:small">## <span style="font-size:11px;text-align:center;background-color:rgb(239,239,239);color:rgb(150,150,150);font-family:Verdana,Arial,Helvetica,sans-serif;line-height:13px">Telefone: +55(55)33012083</span><br></div><div style="font-family:arial;font-size:small">## <span style="font-size:11px;text-align:center;background-color:rgb(239,239,239);color:rgb(150,150,150);font-family:Verdana,Arial,Helvetica,sans-serif;line-height:13px"><a href="http://www.ufsm.br/meteorologia" target="_blank">www.ufsm.br/meteorologia</a></span></div><div style="font-family:arial;font-size:small">###############################################################</div></div></div></div></div></div></div>
</div>