Skip to contents

Client tool to get data and metadata from AEMET and convert json to tibble.

Usage

get_data_aemet(apidest, verbose = FALSE)

get_metadata_aemet(apidest, verbose = FALSE)

Arguments

apidest

Character string as destination URL. See https://opendata.aemet.es/dist/index.html.

verbose

Logical TRUE/FALSE. Provides information about the flow of information between the client and server.

Value

A tibble (if possible) or the results of the query as provided by httr2::resp_body_raw() or httr2::resp_body_string().

See also

Some examples on how to use these functions on vignette("extending-climaemet").

Examples

# Run this example only if AEMET_API_KEY is detected

url <- "/api/valores/climatologicos/inventarioestaciones/todasestaciones"

get_data_aemet(url)
#> # A tibble: 947 × 7
#>    latitud provincia     altitud indicativo nombre             indsinop longitud
#>    <chr>   <chr>         <chr>   <chr>      <chr>              <chr>    <chr>   
#>  1 394924N ILLES BALEARS 490     B013X      ESCORCA, LLUC      "08304"  025309E 
#>  2 394744N ILLES BALEARS 5       B051A      SÓLLER, PUERTO     "08316"  024129E 
#>  3 394121N ILLES BALEARS 60      B087X      BANYALBUFAR        ""       023046E 
#>  4 393445N ILLES BALEARS 52      B103B      ANDRATX - SANT ELM "99103"  022208E 
#>  5 393305N ILLES BALEARS 50      B158X      CALVIÀ, ES CAPDEL… ""       022759E 
#>  6 393319N ILLES BALEARS 3       B228       PALMA, PUERTO      "08301"  023731E 
#>  7 393832N ILLES BALEARS 95      B236C      PALMA, UNIVERSIDAD ""       023837E 
#>  8 394406N ILLES BALEARS 1030    B248       SIERRA DE ALFABIA… "08303"  024247E 
#>  9 393621N BALEARES      49      B275E      SON BONET, AEROPU… "08302"  024224E 
#> 10 393339N ILLES BALEARS 8       B278       PALMA DE MALLORCA… "08306"  024412E 
#> # ℹ 937 more rows


# Metadata

get_metadata_aemet(url)
#> # A tibble: 7 × 7
#>   unidad_generadora         periodicidad descripcion formato copyright notaLegal
#>   <chr>                     <chr>        <chr>       <chr>   <chr>     <chr>    
#> 1 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> 2 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> 3 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> 4 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> 5 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> 6 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> 7 Servicio del Banco de Da… 1 vez al día Inventario… applic… © AEMET.… https://…
#> # ℹ 1 more variable: campos <df[,4]>

# We can get data from any API endpoint

# Plain text

plain <- get_data_aemet("/api/prediccion/nacional/hoy")
#> 
#> Results are MIME type: text/plain
#> Returning data as string

cat(plain)
#> AGENCIA ESTATAL DE METEOROLOGÍA


#> PREDICCIÓN GENERAL PARA ESPAÑA 


#> DÍA 04 DE SEPTIEMBRE DE 2024 A LAS 08:39 HORA OFICIAL


#> PREDICCIÓN VÁLIDA PARA EL MIÉRCOLES 4


#> 


#> A.- FENÓMENOS SIGNIFICATIVOS


#> Chubascos y tormentas fuertes, localmente con granizo, en amplias


#> zonas del cuadrante nordeste peninsular y Baleares, sin


#> descartarlos en el sureste por la tarde, ni que lleguen a muy


#> fuertes o persistentes en áreas de Cataluña, Aragón, Comunidad


#> Valencia y Baleares. Intervalos de alisio fuerte en Canarias y de


#> viento del norte en el litoral atlántico de Galicia, en el bajo


#> Ebro y en Ampurdán.


#> 


#> B.- PREDICCIÓN


#> Se prevé que se mantenga una situación de inestabilidad en la


#> mayor parte de la mitad nordeste peninsular y Baleares. Así se


#> esperan cielos nubosos o cubiertos con chubascos y tormentas desde


#> primeras horas en el cuadrante nordeste y extremo este


#> peninsulares, extendiéndose a Baleares. Es probable que lleguen a


#> fuertes, en especial en el sur de Cataluña, este de Aragón,


#> Baleares y norte y litorales de la Comunidad Valencia, donde


#> podrían llegar a muy fuertes o persistentes, y con tendencia a ir


#> a menos a lo largo del día. Asimismo se esperan precipitaciones,


#> menos intensas, en el área cantábrica y norte de Galicia, aunque


#> siendo más abundantes cuanto más al este, pudiendo darse


#> acumulados importantes en el extremo oriental del Cantábrico. Por


#> la tarde se prevé que se extiendan los chubascos y tormentas al


#> extremo sureste peninsular, donde también podrían ser localmente


#> fuertes. En el norte de Canarias cielos nubosos, con probables


#> precipitaciones en las islas de mayor relieve, y predominio de


#> cielos poco nubosos en el resto del país.


#> 


#> Probables nieblas matinales, localmente persistentes, en montaña


#> de los tercios norte y este, así como en el sistema Central.


#> Posible calima débil en Melilla e islas Canarias más orientales.


#> 


#> Las temperaturas tenderán a descender, exceptuando en los tercios


#> noroeste y suroeste donde predominarán los aumentos. Pocos


#> cambios en Canarias. Únicamente se prevé superar los 35 grados


#> en puntos del Guadalquivir.


#> 


#> En Canarias soplará un alisio intenso con intervalos de fuerte y


#> probables rachas muy fuertes en zonas expuestas. Predominarán los


#> vientos de componente oeste en el suroeste peninsular, Estrecho y


#> Alborán, las componentes norte y este en el resto de áreas


#> mediterráneas, y la norte en el resto. Son probables los


#> intervalos de tramontana fuerte en Ampurdán, de cierzo en el bajo


#> Ebro y de nordeste en los litorales atlánticos gallegos.


#> 



# An image

image <- get_data_aemet("/api/mapasygraficos/analisis")
#> HTTP 429: Límite de peticiones o caudal por minuto excedido para este usuario. Espere al siguiente minuto. Retrying...
#> Waiting 6s for retry backoff ■■■■■■                          
#> Waiting 6s for retry backoff ■■■■■■■■■■■■■■■■                
#> Waiting 6s for retry backoff ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 
#> 
#> Results are MIME type: image/gif
#> Returning raw data

# Write and read
tmp <- tempfile(fileext = ".gif")

writeBin(image, tmp)

gganimate::gif_file(tmp)
#> Error in shell.exec(url): file association for 'C:\Users\RUNNER~1\AppData\Local\Temp\RtmpYz1KXE\file88419c22a57.gif' not available or invalid