Since the last release, this package has been integrated into rOpenSpain, a community of R enthusiasts whose ultimate goal is to create high-quality R packages for data mining public Spanish open sources.
From version 1.0.0 onward, we have introduced some improvements and (breaking) changes on the package, in order to provide a smoother interaction with the AEMET API service.
API Key
Get your API Key
To be able to download data from AEMET you will need a free API key which you can get at https://opendata.aemet.es/centrodedescargas/obtencionAPIKey
Once that you have your API Key, you can use any of the following methods:
a. Set API Key with aemet_api_key()
This is the recommended option. Just type:
aemet_api_key("YOUR_API_KEY", install = TRUE)
Using install = TRUE
ensures that the API key is stored
on your local computer and it would be reloaded every time you load the
library. From now on you can forget about API keys!
b. Use an environment variable
This is a temporary alternative. You can set your API key as an environment variable
Sys.setenv(AEMET_API_KEY = "YOUR_API_KEY")
Note that this is only valid for the current session. You would need to re-run this command each time you restart your session.
c. Modify your .Renviron
file
This stores your API key permanently on your machine. You can start
editing your .Renviron
running this command:
usethis::edit_r_environ()
Now you can add the following line to you .Renviron
file:
AEMET_API_KEY = YOUR_API_KEY
New features
tibble
format
From v1.0.0 onward, climaemet
provides its results in tibble
format.
Also, the functions try to guess the correct format of the fields
(i.e. something as a Date/Hour now is an hour, numbers are parsed as
double, etc.).
See how a tibble
is displayed:
# See a tibble in action
aemet_last_obs("9434")
#> # A tibble: 13 × 25
#> idema lon fint prec alt vmax vv dv lat dmax ubi pres hr
#> <chr> <dbl> <dttm> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <dbl> <dbl>
#> 1 9434 -1.00 2024-12-07 19:00:00 0 249 14 8.3 317 41.7 323 ZARAGOZA… 993. 66
#> 2 9434 -1.00 2024-12-07 20:00:00 0 249 15.3 5.9 321 41.7 315 ZARAGOZA… 993. 74
#> 3 9434 -1.00 2024-12-07 21:00:00 0 249 15.7 10 310 41.7 290 ZARAGOZA… 993. 70
#> 4 9434 -1.00 2024-12-07 22:00:00 0 249 15.6 9 311 41.7 315 ZARAGOZA… 993. 74
#> 5 9434 -1.00 2024-12-07 23:00:00 0 249 13 6.9 310 41.7 310 ZARAGOZA… 993. 78
#> 6 9434 -1.00 2024-12-08 00:00:00 0 249 13.3 8.7 308 41.7 308 ZARAGOZA… 992. 78
#> 7 9434 -1.00 2024-12-08 01:00:00 0 249 13.3 7.9 297 41.7 320 ZARAGOZA… 992. 73
#> 8 9434 -1.00 2024-12-08 02:00:00 0 249 13.7 8.9 298 41.7 308 ZARAGOZA… 991. 69
#> 9 9434 -1.00 2024-12-08 03:00:00 0 249 15.1 10.7 299 41.7 298 ZARAGOZA… 991 65
#> 10 9434 -1.00 2024-12-08 04:00:00 0 249 16.3 9.2 298 41.7 308 ZARAGOZA… 991. 74
#> 11 9434 -1.00 2024-12-08 05:00:00 0 249 17.1 12.4 309 41.7 300 ZARAGOZA… 990. 75
#> 12 9434 -1.00 2024-12-08 06:00:00 0 249 18 5.9 297 41.7 305 ZARAGOZA… 991. 86
#> 13 9434 -1.00 2024-12-08 07:00:00 0.6 249 17 5.1 320 41.7 330 ZARAGOZA… 992. 91
#> # ℹ 12 more variables: stdvv <dbl>, ts <dbl>, pres_nmar <dbl>, tamin <dbl>, ta <dbl>,
#> # tamax <dbl>, tpr <dbl>, stddv <dbl>, inso <dbl>, tss5cm <dbl>, pacutp <dbl>, tss20cm <dbl>
Note that when possible, data representing dates and numbers are converted to the right format.
Spatial objects: sf
Another major change in v1.0.0 is the ability of
return information on spatial sf format, using
return_sf = TRUE
. The coordinate reference system (CRS)
used is EPSG 4326, that correspond to the World
Geodetic System (WGS) and return coordinates in
latitude/longitude (unprojected coordinates):
# You would need to install `sf` if not installed yet
# run install.packages("sf") for installation
library(ggplot2)
library(dplyr)
all_stations <- aemet_daily_clim(
start = "2021-01-08", end = "2021-01-08",
return_sf = TRUE
)
ggplot(all_stations) +
geom_sf(aes(colour = tmed), shape = 19, size = 2, alpha = 0.95) +
labs(
title = "Average temperature in Spain",
subtitle = "8 Jan 2021",
color = "Max temp.\n(celsius)",
caption = "Source: AEMET"
) +
scale_colour_gradientn(
colours = hcl.colors(10, "RdBu", rev = TRUE),
breaks = c(-10, -5, 0, 5, 10, 15, 20),
guide = "legend"
) +
theme_bw() +
theme(
panel.border = element_blank(),
plot.title = element_text(face = "bold"),
plot.subtitle = element_text(face = "italic")
)
Further enhancements
Other enhancements included on the v1.0.0:
- All the functions are now vectorized.
- New function
get_metadata_aemet()
. - New function
ggclimat_walter_lieth()
. This function is now the default forclimatogram_*
functions . Old behavior can be reproduced with optionsggplot2 = FALSE
. - Plot functions gains new parameters (
verbose
and...
). Now it is possible to pass colors to the plotting functions. - New example datasets:
climaemet::climaemet_9434_climatogram
,climaemet::climaemet_9434_temp
andclimaemet::climaemet_9434_wind
.