Analyzing forest fires with the geoideo package
Antony Barja
18 October, 2024
Source:vignettes/article.Rmd
article.Rmd
1. Introduction
geoidep
currently allows you to work with data from
Serfor’s Satellite Tracking Unit.
However, this project is still under construction, for more information you can visit the GitHub official repository https://github.com/ambarja/geoidep.
If you want to support this project, you can support me with a coffee for my programming moments.
2. Package installation
install.packages("geoidep")
Also, you can install the development version as follows:
install.packages('pak')
pak::pkg_install('ambarja/geoidep')
3. Filter the available Serfor layer
providers <- get_data_sources(query = "Serfor")
providers
#> # A tibble: 2 × 7
#> provider category layer layer_can_be_actived admin_en year link
#> <chr> <chr> <chr> <lgl> <chr> <chr> <chr>
#> 1 Serfor Hazard fire_forest TRUE Ministry of En… Not … http…
#> 2 Serfor Hazard hot_spots TRUE Ministry of En… Not … http…
4. Forest fire data collection download
incendio.forestal <- get_forest_fire_data(show_progress = FALSE)
#> Reading layer `file1d0479d8b3e4' from data source
#> `/tmp/RtmpPigekf/file1d0479d8b3e4.geojson' using driver `GeoJSON'
#> Simple feature collection with 392 features and 34 fields
#> Geometry type: POINT
#> Dimension: XY
#> Bounding box: xmin: -79.49467 ymin: -16.34176 xmax: -69.17239 ymax: -4.79419
#> Geodetic CRS: WGS 84
head(incendio.forestal)
#> Simple feature collection with 6 features and 34 fields
#> Geometry type: POINT
#> Dimension: XY
#> Bounding box: xmin: -74.14829 ymin: -8.60201 xmax: -74.13892 ymax: -8.60107
#> Geodetic CRS: WGS 84
#> OBJECTID FUENTE DOCREG FECREG
#> 1 214053 Servicio Nacional Forestal y de Fauna Silvestre 2024-10-18
#> 2 214054 Servicio Nacional Forestal y de Fauna Silvestre 2024-10-18
#> 3 214055 Servicio Nacional Forestal y de Fauna Silvestre 2024-10-18
#> 4 214056 Servicio Nacional Forestal y de Fauna Silvestre 2024-10-18
#> 5 214057 Servicio Nacional Forestal y de Fauna Silvestre 2024-10-18
#> 6 214058 Servicio Nacional Forestal y de Fauna Silvestre 2024-10-18
#> OBSERV
#> 1 Información generada por la Unidad Funcional de Monitoreo Satelital de la DGIOFFS de SERFOR
#> 2 Información generada por la Unidad Funcional de Monitoreo Satelital de la DGIOFFS de SERFOR
#> 3 Información generada por la Unidad Funcional de Monitoreo Satelital de la DGIOFFS de SERFOR
#> 4 Información generada por la Unidad Funcional de Monitoreo Satelital de la DGIOFFS de SERFOR
#> 5 Información generada por la Unidad Funcional de Monitoreo Satelital de la DGIOFFS de SERFOR
#> 6 Información generada por la Unidad Funcional de Monitoreo Satelital de la DGIOFFS de SERFOR
#> ZONUTM ORIGEN NOMDEP NOMPRO NOMDIS CAPITAL FECHA HORA
#> 1 18 2 UCAYALI CORONEL PORTILLO MASISEA MASISEA 2024-10-18 00:36:00
#> 2 18 2 UCAYALI CORONEL PORTILLO MASISEA MASISEA 2024-10-18 01:27:00
#> 3 18 2 UCAYALI CORONEL PORTILLO MASISEA MASISEA 2024-10-17 00:53:00
#> 4 18 2 UCAYALI CORONEL PORTILLO MASISEA MASISEA 2024-10-17 01:46:00
#> 5 18 2 UCAYALI CORONEL PORTILLO MASISEA MASISEA 2024-10-18 01:27:00
#> 6 18 2 UCAYALI CORONEL PORTILLO MASISEA MASISEA 2024-10-17 00:53:00
#> CATEG NOMCATEG LATITUD LONGITUD COORES COORNO CODREP
#> 1 11 Imiria -8.60201 -74.14829 593718.2 9049044 PIF_04668_2024
#> 2 11 Imiria -8.60177 -74.14085 594537.0 9049069 PIF_04668_2024
#> 3 11 Imiria -8.60169 -74.13956 594679.0 9049077 PIF_04668_2024
#> 4 11 Imiria -8.60166 -74.13892 594749.4 9049080 PIF_04668_2024
#> 5 11 Imiria -8.60117 -74.14487 594094.8 9049136 PIF_04668_2024
#> 6 11 Imiria -8.60107 -74.14316 594283.0 9049147 PIF_04668_2024
#> created_user created_date last_edited_user last_edited_date ESTADO
#> 1 JMONTALBAN 2024-10-18 17:07:23 JMONTALBAN 2024-10-18 17:07:23 1
#> 2 JMONTALBAN 2024-10-18 17:07:23 JMONTALBAN 2024-10-18 17:07:23 1
#> 3 JMONTALBAN 2024-10-18 17:07:23 JMONTALBAN 2024-10-18 17:07:23 1
#> 4 JMONTALBAN 2024-10-18 17:07:23 JMONTALBAN 2024-10-18 17:07:23 1
#> 5 JMONTALBAN 2024-10-18 17:07:23 JMONTALBAN 2024-10-18 17:07:23 1
#> 6 JMONTALBAN 2024-10-18 17:07:23 JMONTALBAN 2024-10-18 17:07:23 1
#> TIPCOB PELIGRO REFESTADO CONF CODRVIF SENSAT CATDEP CATPRO CATDIS
#> 1 Cobertura Forestal 0 0 0 0 N20 25 2501 250104
#> 2 Cobertura Forestal 0 0 0 0 N21 25 2501 250104
#> 3 Cobertura Forestal 0 0 0 0 N20 25 2501 250104
#> 4 Cobertura Forestal 0 0 0 0 N21 25 2501 250104
#> 5 Cobertura Forestal 0 0 0 0 N21 25 2501 250104
#> 6 Cobertura Forestal 0 0 0 0 N20 25 2501 250104
#> geometry
#> 1 POINT (-74.14829 -8.60201)
#> 2 POINT (-74.14085 -8.60177)
#> 3 POINT (-74.13956 -8.60169)
#> 4 POINT (-74.13892 -8.60166)
#> 5 POINT (-74.14487 -8.60117)
#> 6 POINT (-74.14316 -8.60107)
5. National Forest Fire Count
library(sf)
library(dplyr)
library(ggplot2)
stats <- incendio.forestal |>
st_drop_geometry() |>
filter(FECHA >= '2024-09-11') |>
group_by(NOMDEP) |>
summarise( total = n())
# Simple visualisation
stats |>
ggplot(aes(x = NOMDEP, y = total)) +
geom_bar(stat = "identity") +
coord_polar() +
theme_minimal(base_size = 10) +
labs(x="", y = "", caption = "Unidad de Monitoreo Forestales - SERFOR")
6. Download the official INEI administrative limits of interest
# Region boundaries download
ucayali_dep <- get_departaments(show_progress = FALSE) |>
subset(NOMBDEP == 'UCAYALI')
# The first five rows
head(ucayali_dep)
#> Simple feature collection with 1 feature and 6 fields
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: -75.94789 ymin: -11.44834 xmax: -70.49442 ymax: -7.262049
#> Geodetic CRS: WGS 84
#> id OBJECTID CCDD NOMBDEP SHAPE_Length SHAPE_Area
#> 24 24 24 25 UCAYALI 27.47016 8.660111
#> geom
#> 24 MULTIPOLYGON (((-74.47145 -...
7. Forest fire count in the area of interest only
# Data collection only within the regions of interest.
ucayali.if <- st_filter(incendio.forestal, ucayali_dep)
head(ucayali.if)
#> Simple feature collection with 6 features and 34 fields
#> Geometry type: POINT
#> Dimension: XY
#> Bounding box: xmin: -74.14829 ymin: -8.60201 xmax: -74.13892 ymax: -8.60107
#> Geodetic CRS: WGS 84
#> OBJECTID FUENTE DOCREG FECREG
#> 1 214053 Servicio Nacional Forestal y de Fauna Silvestre 2024-10-18
#> 2 214054 Servicio Nacional Forestal y de Fauna Silvestre 2024-10-18
#> 3 214055 Servicio Nacional Forestal y de Fauna Silvestre 2024-10-18
#> 4 214056 Servicio Nacional Forestal y de Fauna Silvestre 2024-10-18
#> 5 214057 Servicio Nacional Forestal y de Fauna Silvestre 2024-10-18
#> 6 214058 Servicio Nacional Forestal y de Fauna Silvestre 2024-10-18
#> OBSERV
#> 1 Información generada por la Unidad Funcional de Monitoreo Satelital de la DGIOFFS de SERFOR
#> 2 Información generada por la Unidad Funcional de Monitoreo Satelital de la DGIOFFS de SERFOR
#> 3 Información generada por la Unidad Funcional de Monitoreo Satelital de la DGIOFFS de SERFOR
#> 4 Información generada por la Unidad Funcional de Monitoreo Satelital de la DGIOFFS de SERFOR
#> 5 Información generada por la Unidad Funcional de Monitoreo Satelital de la DGIOFFS de SERFOR
#> 6 Información generada por la Unidad Funcional de Monitoreo Satelital de la DGIOFFS de SERFOR
#> ZONUTM ORIGEN NOMDEP NOMPRO NOMDIS CAPITAL FECHA HORA
#> 1 18 2 UCAYALI CORONEL PORTILLO MASISEA MASISEA 2024-10-18 00:36:00
#> 2 18 2 UCAYALI CORONEL PORTILLO MASISEA MASISEA 2024-10-18 01:27:00
#> 3 18 2 UCAYALI CORONEL PORTILLO MASISEA MASISEA 2024-10-17 00:53:00
#> 4 18 2 UCAYALI CORONEL PORTILLO MASISEA MASISEA 2024-10-17 01:46:00
#> 5 18 2 UCAYALI CORONEL PORTILLO MASISEA MASISEA 2024-10-18 01:27:00
#> 6 18 2 UCAYALI CORONEL PORTILLO MASISEA MASISEA 2024-10-17 00:53:00
#> CATEG NOMCATEG LATITUD LONGITUD COORES COORNO CODREP
#> 1 11 Imiria -8.60201 -74.14829 593718.2 9049044 PIF_04668_2024
#> 2 11 Imiria -8.60177 -74.14085 594537.0 9049069 PIF_04668_2024
#> 3 11 Imiria -8.60169 -74.13956 594679.0 9049077 PIF_04668_2024
#> 4 11 Imiria -8.60166 -74.13892 594749.4 9049080 PIF_04668_2024
#> 5 11 Imiria -8.60117 -74.14487 594094.8 9049136 PIF_04668_2024
#> 6 11 Imiria -8.60107 -74.14316 594283.0 9049147 PIF_04668_2024
#> created_user created_date last_edited_user last_edited_date ESTADO
#> 1 JMONTALBAN 2024-10-18 17:07:23 JMONTALBAN 2024-10-18 17:07:23 1
#> 2 JMONTALBAN 2024-10-18 17:07:23 JMONTALBAN 2024-10-18 17:07:23 1
#> 3 JMONTALBAN 2024-10-18 17:07:23 JMONTALBAN 2024-10-18 17:07:23 1
#> 4 JMONTALBAN 2024-10-18 17:07:23 JMONTALBAN 2024-10-18 17:07:23 1
#> 5 JMONTALBAN 2024-10-18 17:07:23 JMONTALBAN 2024-10-18 17:07:23 1
#> 6 JMONTALBAN 2024-10-18 17:07:23 JMONTALBAN 2024-10-18 17:07:23 1
#> TIPCOB PELIGRO REFESTADO CONF CODRVIF SENSAT CATDEP CATPRO CATDIS
#> 1 Cobertura Forestal 0 0 0 0 N20 25 2501 250104
#> 2 Cobertura Forestal 0 0 0 0 N21 25 2501 250104
#> 3 Cobertura Forestal 0 0 0 0 N20 25 2501 250104
#> 4 Cobertura Forestal 0 0 0 0 N21 25 2501 250104
#> 5 Cobertura Forestal 0 0 0 0 N21 25 2501 250104
#> 6 Cobertura Forestal 0 0 0 0 N20 25 2501 250104
#> geometry
#> 1 POINT (-74.14829 -8.60201)
#> 2 POINT (-74.14085 -8.60177)
#> 3 POINT (-74.13956 -8.60169)
#> 4 POINT (-74.13892 -8.60166)
#> 5 POINT (-74.14487 -8.60117)
#> 6 POINT (-74.14316 -8.60107)
8. Simple visualization with leaflet
library(leaflet)
#>
#> Attaching package: 'leaflet'
#> The following object is masked _by_ '.GlobalEnv':
#>
#> providers
library(leaflet.extras)
ucayali.if |>
leaflet() |>
addProviderTiles(provider = "CartoDB.Positron") |>
addHeatmap(radius = 10,minOpacity = 1)