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: 291 × 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 393319N ILLES BALEARS 3       B228       "PALMA, PUERTO"    08301    023731E 
#>  3 394406N ILLES BALEARS 1030    B248       "SIERRA DE ALFABI… 08303    024247E 
#>  4 393339N ILLES BALEARS 8       B278       "PALMA DE MALLORC… 08306    024412E 
#>  5 393118N ILLES BALEARS 120     B346X      "PORRERES"         08310    030109E 
#>  6 392452N ILLES BALEARS 17      B434X      "PORTOCOLOM  "     08309    031618E 
#>  7 394300N ILLES BALEARS 57      B569X      "CAPDEPERA"        08311    032841E 
#>  8 394457N ILLES BALEARS 40      B691Y      "SA POBLA"         08312    030100E 
#>  9 395117N ILLES BALEARS 91      B893       "MENORCA, AEROPUE… 08314    041256E 
#> 10 385235N ILLES BALEARS 6       B954       "IBIZA, AEROPUERT… 08373    012304E 
#> # ℹ 281 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 26 DE FEBRERO DE 2024 A LAS 09:12 HORA OFICIAL


#> PREDICCIÓN VÁLIDA PARA EL LUNES 26


#> 


#> A.- FENÓMENOS SIGNIFICATIVOS


#> Precipitaciones localmente fuertes o persistentes en el


#> Cantábrico. Cota de nieve bajando a 600/1200 m en la Península.


#> Acumulaciones de nieve significativas en zonas de montaña del


#> tercio norte y sus entornos, y en sierras orientales andaluzas.


#> Chubascos vespertinos localmente fuertes en el este de Cataluña.


#> Intervalos de viento fuerte en litorales y zonas de montaña de la


#> Península, Ceuta, Melilla, Baleares y oeste de Canarias.


#> 


#> B.- PREDICCIÓN


#> En la Península y Baleares, se prevé que finalice el paso de un


#> sistema frontal atlántico, estableciéndose una situación


#> posfrontal, con cielos nubosos o cubiertos en gran parte de la


#> Península y Baleares, tendiendo a disminuir la nubosidad en la


#> mitad sur a medida que avanza el día. Se esperan precipitaciones


#> generalizadas, más abundantes en el Cantábrico, donde pueden ser


#> localmente fuertes o persistentes y acompañadas de alguna


#> tormenta. También pueden ser localmente fuertes y acompañados de


#> tormentas ocasionales en Girona y, a última hora, en Baleares.


#> Irán remitiendo a lo largo de la jornada en el centro y mitad sur


#> peninsular. En Canarias se esperan cielos nubosos o con intervalos


#> nubosos, sin descartar precipitaciones débiles en los nortes de


#> las de mayor relieve.


#> 


#> Brumas y bancos de niebla matinales en zonas de montaña, que


#> pueden ser algo más persistentes en las montañas del tercio


#> norte.


#> 


#> Cota de nieve: en el noroeste 1000/1400 m bajando a 600/1000 m; en


#> el nordeste 1400/1800 m bajando a 1000/1200 m; y en el resto de la


#> Península 1400/2000 m bajando a 600/1000 m.


#> 


#> Temperaturas máximas en descenso, notable en el interior del


#> área cantábrica. Mínimas también en descenso salvo en el


#> Mediterráneo y Pirineos donde pueden ascender. Heladas en zonas


#> montañosas de la Península y áreas próximas, moderadas en


#> Pirineos.


#> 


#> Viento intenso del oeste o suroeste, girando al noroeste en la


#> Península y Baleares, con intervalos de fuerte o rachas muy


#> fuertes en litorales y zonas de montaña de la Península, sierras


#> del tercio oriental y Baleares. En Canarias soplará el alisio


#> moderado con rachas muy fuertes en las islas occidentales.


#> 



# An image

image <- get_data_aemet("/api/mapasygraficos/analisis")
#> 
#> 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\Rtmp0UF9d3\file57c2c7c85e.gif' not available or invalid