[R-br] r baixando dados inmet

Rafael Tieppo rafaeltieppo em yahoo.com.br
Segunda Agosto 29 16:04:02 BRT 2016


Prezado Jônatan,
Muito obrigado.Em breve testarei o pacote.Saudações.

Rafael Tieppo
State University of Mato Grosso - Department of Agricultural Engineering 
site: http://docente.unemat.br/rafaeltieppo/ blog: https://fuidebicicleta.wordpress.com"Evite o desperdício: antes de imprimir pense na sua responsabilidade com o ambiente".  
 

    On Monday, August 29, 2016 1:56 PM, Jônatan <jdtatsch em gmail.com> wrote:
 

 Olá Rafael,no último post 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:https://github.com/jdtatsch/inmetr
Para instalá-lo:library(devtools)
install_github('jdtatsch/inmetr')Os dados baixados são sub-diários (0, 12 e 18 UTC) e incluem todas variáveis do BDMEP: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
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.
library(inmetr)info <- bdmep_stations()
# looping para 2 estaçõeslapply(info$id[1:2],       function(i){         # i = 82294        Sys.sleep(sample(5:15, 1))         x <- import_bdmep(id = i,                            sdate = "01/01/1961",                             edate = "29/08/2016",                             email = "your-email",                            passwd = "your-password")         write.csv(x, file = paste0(i, ".csv"))       })
Se for baixar muitos dados, recomendo fazer a noite quando o site é menos acessado.Att.

On Mon, Aug 29, 2016 at 12:29 PM, Rafael Tieppo via R-br <r-br em listas.c3sl.ufpr.br> wrote:

Algum tempo atrás o Alisson Lucrecio e o Éder Comunello estavam trabalhando em um tópico sobre obtenção de dados do INMET. Como precisei obter alguns dados hoje, resolvi testar o código, que por sinal funcionou perfeitamente.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.
Segue o script com os comentários:obs: a função que ordena os dias é não tem uma boa performance, pois faz um bom tempo que fiz ela. 


#============================= ============================== ======#                          Rafael Tieppo#                          rafaelt em unemat.br#                          http://docente.unemat.br/ rafaeltieppo/#                          29-08-2016#============================= ============================== ======

##### Goal 1  ### Script to sign in - INMET### Historical Data### Original Source:### http://r-br.2285057.n4.nabble. com/R-br-r-baixando-dados- inmet-td4660459.html### http://r-br.2285057.n4.nabble. com/R-br-RCurl-td4659610.html##### Goal 2### Ordering and filtering DATA from INMET### use oneline() function from### from https://github.com/rafatieppo/ INMET_DATA_ORDER


#***************************** ****************************** *#***************************** ****************************** *                                        # GOAL 1#***************************** ****************************** *#***************************** ****************************** *

#----------------------------- ------------------------------ -### Packageslibrary(RCurl)library(bitops)#----------------------------- ------------------------------ -

#----------------------------- ------------------------------ -### Logging INMET
### Login linkmyURL1 <- "http://www.inmet.gov.br/ projetos/rede/pesquisa/inicio. php"### Data linkmyURL2 <- "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,"#----------------------------- ------------------------------ -

#----------------------------- ------------------------------ -### Access Data
myParams=list(  mCod="EMAIL", ### alterar!  mSenha="PASSWORD", ### alterar!  btnProcesso = " Acessar ")#----------------------------- ------------------------------ -

#----------------------------- ------------------------------ -### Getting Data
myCurl <- getCurlHandle()curlSetOpt(cookiejar="cookies. txt", useragent="Chrome/10.0.648. 133" , followlocation=TRUE, curl=myCurl)###"Mozilla/5.0"
login <- postForm(myURL1, .params=myParams, curl=myCurl)
DATA <- getURLContent(myURL2, curl=myCurl)#----------------------------- ------------------------------ -


#***************************** ****************************** *#***************************** ****************************** *                                        # GOAL 2#***************************** ****************************** *#***************************** ****************************** *
#----------------------------- ------------------------------ -### Tiding Data
### Using shell script to separate DATA from text#### grep "^83309" < ESTACAO_83309.html > ESTACAO_83303_DATA.csv### Shell script, get all lines that starts with "83309" (station number)
SHELL_FUN = paste("grep", "^83309", "<", "ESTACAO_83309.html",                  ">", "ESTACAO_83303_DATA.csv",                  sep = ' ')### system(SHELL_FUN)
DATA_83303 <- read.csv("ESTACAO_83303_DATA. csv", sep = ";", dec = ".")
colnames(DATA_83303) <-  c("Estacao", "Data", "Hora", "Precipitacao",                           "TempMaxima", "TempMinima", "Insolacao",                           "Evaporacao_Piche", "Temp_Comp_Media",                           "UR_Media", "Vel_Vent_Media")
names(DATA_83303)#----------------------------- ------------------------------ -

#----------------------------- ------------------------------ -### Organizing DATA### Data from INMET has two lines for each### To put one line for each day, use oneline() function ### Calling ONE_LINE function### from https://github.com/rafatieppo/ INMET_DATA_ORDER
### ATTENTION### To use oneline() is mandatory a data.frame with a specific cols data### order, as follow (names doen not matter, only sequence):
### Estacao; Data; Hora; Precipitacao; TempMaxima; TempMinima;### Insolacao; Umidade Relativa Media; Velocidade do Vento Media; 
DATA_83303 <- DATA_83303[c(1:7,10:11)]
Estacao;Data;Hora; Precipitacao;TempMaxima; TempMinima;Insolacao; EvaporacaoPiche;Temp Comp Media;Umidade Relativa Media;Velocidade do Vento Media; 
### Ordering with oneline() function
DATA_83303_one_line <- one_line(DATA_83303)
edit(DATA_83303_one_line)
#----------------------------- ------------------------------ -










 Rafael Tieppo
State University of Mato Grosso - Department of Agricultural Engineering 
site: http://docente.unemat.br/ rafaeltieppo/ blog: https://fuidebicicleta. wordpress.com"Evite o desperdício: antes de imprimir pense na sua responsabilidade com o ambiente".  
 


______________________________ _________________
R-br mailing list
R-br em 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.




-- 
###############################################################
##  Jônatan Dupont Tatsch##  Professor do Departamento de Física##  Centro de Ciências Exatas e Naturais (CCNE)
##  Universidade Federal de Santa Maria - UFSM##  Faixa de Camobi, Prédio 13 - Campus UFSM - Santa Maria, RS, Brasil - 97105-900
##  Telefone: +55(55)33012083
##  www.ufsm.br/meteorologia###############################################################

   
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160829/fa91e1fb/attachment.html>


Mais detalhes sobre a lista de discussão R-br