rOpenSpain / climaemet

R Climate AEMET Tools
https://ropenspain.github.io/climaemet/
GNU General Public License v3.0
41 stars 2 forks source link

Acceso a alertas de incendios #63

Closed jesbrz closed 1 month ago

jesbrz commented 2 months ago

¿Sería posible en futuras versiones tener acceso desde el paquete a las alertas de incendios? Se pueden ver aquí https://www.aemet.es/es/eltiempo/prediccion/incendios y está en el catálogo de datos accesibles.

Un saludo y gracias.

dieghernan commented 1 month ago

Primera aproximacion:

tmp <- file.path(tempdir(), "descargas.tar.gz")

library(tidyterra)
#> 
#> Adjuntando el paquete: 'tidyterra'
#> The following object is masked from 'package:stats':
#> 
#>     filter
library(terra)
#> terra 1.7.78
library(ggplot2)

download.file("https://www.aemet.es/es/api-eltiempo/incendios/download",
  tmp,
  mode = "wb"
)
untar(tmp, exdir = tempdir())
alltifs <- unique(list.files(tempdir(), pattern = ".tif$", full.names = TRUE))

# By pattern
# Supongo que esto es peninsula (p) dia 0 (fc000)
pp <- alltifs[grepl("p_fc000", alltifs)] %>%
  terra::rast() %>%
  as.factor() %>%
  glimpse()
#> #  A SpatRaster 180 x 277 x 1 layer (49,860 cells)
#> #  Resolution (x / y): (3' , 3')
#> #  Geodetic CRS: lon/lat WGS 84 (EPSG:4326)
#> #  Extent (x / y) : ([9° 30' 0" W / 4° 21' 0" E] , [35° 2' 60" N / 44° 2' 60" N])
#> 
#> $ down_p_fc000_RIESGO_25082024_1_geo_1724609524 <fct> NA, NA, NA, NA, NA, NA, …

ggplot() +
  geom_spatraster(data = pp) +
  scale_fill_manual(
    values = c(
      "1" = "cyan",
      "2" = "green",
      "3" = "yellow",
      "4" = "orange",
      "5" = "red"
    ),
    na.value = "transparent"
  )

Created on 2024-08-26 with reprex v2.1.1

Session info ``` r sessioninfo::session_info() #> ─ Session info ─────────────────────────────────────────────────────────────── #> setting value #> version R version 4.4.1 (2024-06-14 ucrt) #> os Windows 11 x64 (build 22631) #> system x86_64, mingw32 #> ui RTerm #> language (EN) #> collate Spanish_Spain.utf8 #> ctype Spanish_Spain.utf8 #> tz Europe/Madrid #> date 2024-08-26 #> pandoc 3.1.12.2 @ C:/PROGRA~1/Pandoc/ (via rmarkdown) #> #> ─ Packages ─────────────────────────────────────────────────────────────────── #> package * version date (UTC) lib source #> class 7.3-22 2023-05-03 [2] CRAN (R 4.4.1) #> classInt 0.4-10 2023-09-05 [1] CRAN (R 4.4.0) #> cli 3.6.3 2024-06-21 [1] CRAN (R 4.4.1) #> codetools 0.2-20 2024-03-31 [2] CRAN (R 4.4.1) #> colorspace 2.1-1 2024-07-26 [1] CRAN (R 4.4.1) #> curl 5.2.2 2024-08-26 [1] CRAN (R 4.4.1) #> data.table 1.15.4 2024-03-30 [1] CRAN (R 4.4.0) #> DBI 1.2.3 2024-06-02 [1] CRAN (R 4.4.0) #> digest 0.6.37 2024-08-19 [1] CRAN (R 4.4.1) #> dplyr 1.1.4 2023-11-17 [1] CRAN (R 4.4.0) #> e1071 1.7-14 2023-12-06 [1] CRAN (R 4.4.0) #> evaluate 0.24.0 2024-06-10 [1] CRAN (R 4.4.0) #> fansi 1.0.6 2023-12-08 [1] CRAN (R 4.4.0) #> farver 2.1.2 2024-05-13 [1] CRAN (R 4.4.0) #> fastmap 1.2.0 2024-05-15 [1] CRAN (R 4.4.0) #> fs 1.6.4 2024-04-25 [1] CRAN (R 4.4.0) #> generics 0.1.3 2022-07-05 [1] CRAN (R 4.4.0) #> ggplot2 * 3.5.1 2024-04-23 [1] CRAN (R 4.4.0) #> glue 1.7.0 2024-01-09 [1] CRAN (R 4.4.0) #> gtable 0.3.5 2024-04-22 [1] CRAN (R 4.4.0) #> highr 0.11 2024-05-26 [1] CRAN (R 4.4.0) #> htmltools 0.5.8.1 2024-04-04 [1] CRAN (R 4.4.0) #> KernSmooth 2.23-24 2024-05-17 [1] CRAN (R 4.4.0) #> knitr 1.48 2024-07-07 [1] CRAN (R 4.4.1) #> lifecycle 1.0.4 2023-11-07 [1] CRAN (R 4.4.0) #> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.4.0) #> munsell 0.5.1 2024-04-01 [1] CRAN (R 4.4.0) #> pillar 1.9.0 2023-03-22 [1] CRAN (R 4.4.0) #> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.4.0) #> proxy 0.4-27 2022-06-09 [1] CRAN (R 4.4.0) #> purrr 1.0.2 2023-08-10 [1] CRAN (R 4.4.0) #> R6 2.5.1 2021-08-19 [1] CRAN (R 4.4.0) #> Rcpp 1.0.13 2024-07-17 [1] CRAN (R 4.4.1) #> reprex 2.1.1 2024-07-06 [1] CRAN (R 4.4.1) #> rlang 1.1.4 2024-06-04 [1] CRAN (R 4.4.0) #> rmarkdown 2.28 2024-08-17 [1] CRAN (R 4.4.1) #> rstudioapi 0.16.0 2024-03-24 [1] CRAN (R 4.4.0) #> scales 1.3.0 2023-11-28 [1] CRAN (R 4.4.0) #> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.4.0) #> sf 1.0-16 2024-03-24 [1] CRAN (R 4.4.0) #> terra * 1.7-78 2024-05-22 [1] CRAN (R 4.4.0) #> tibble 3.2.1 2023-03-20 [1] CRAN (R 4.4.0) #> tidyr 1.3.1 2024-01-24 [1] CRAN (R 4.4.0) #> tidyselect 1.2.1 2024-03-11 [1] CRAN (R 4.4.0) #> tidyterra * 0.6.1 2024-06-08 [1] CRAN (R 4.4.0) #> units 0.8-5 2023-11-28 [1] CRAN (R 4.4.0) #> utf8 1.2.4 2023-10-22 [1] CRAN (R 4.4.0) #> vctrs 0.6.5 2023-12-01 [1] CRAN (R 4.4.0) #> withr 3.0.1 2024-07-31 [1] CRAN (R 4.4.1) #> xfun 0.47 2024-08-17 [1] CRAN (R 4.4.1) #> xml2 1.3.6 2023-12-04 [1] CRAN (R 4.4.0) #> yaml 2.3.10 2024-07-26 [1] CRAN (R 4.4.1) #> #> [1] C:/Users/diego/AppData/Local/R/win-library/4.4 #> [2] C:/Program Files/R/R-4.4.1/library #> #> ────────────────────────────────────────────────────────────────────────────── ```
jesbrz commented 1 month ago

Genial. Gracias @dieghernan.

dieghernan commented 1 month ago

Ya lo tienes en la versión en desarrollo:

https://ropenspain.github.io/climaemet/reference/aemet_forecast_fires.html

jesbrz commented 1 month ago

Muchas gracias @dieghernan . Entiendo que tanto con plot como con ggplot el mapa que obtienes es el del día de la fecha, no?

dieghernan commented 1 month ago

Es el que da la AEMET, es un raster espacial con 8 capas ("columnas") y cada capa es la predicción de un día determinado. El día correspondiente es el nombre de la capa.

Puedes plotearlo con base o con ggplot2 + tidyterra y también puedes manipularlo para extraer el día que quieras/necesites

dieghernan commented 1 month ago

Nueva version en CRAN con esta función incluida #65