Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ambarja/cra-pbi
Introducción a datos e información de pronósticos para construir mapas de Pronósticos Basados en Impacto (PBI)
https://github.com/ambarja/cra-pbi
cruzrojaalemana fbf peru r rgee
Last synced: about 16 hours ago
JSON representation
Introducción a datos e información de pronósticos para construir mapas de Pronósticos Basados en Impacto (PBI)
- Host: GitHub
- URL: https://github.com/ambarja/cra-pbi
- Owner: ambarja
- Created: 2022-07-25T12:49:54.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-07-25T13:29:47.000Z (over 2 years ago)
- Last Synced: 2023-03-11T04:03:52.002Z (over 1 year ago)
- Topics: cruzrojaalemana, fbf, peru, r, rgee
- Language: JavaScript
- Homepage: https://ambarja.github.io/CRA-PBI
- Size: 20.1 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# **Introducción a datos e información de pronósticos para construir mapas de PBI**
## 🔵 Ejemplos:
- 🌧️ Niño Costero Perú 2017
- 🌀 Tifón Molave Vietnam 2020## 🔵 Intento de automatización usando el ecosistema espacial de R
- Requerimientos:
- `rgee`
- `tidyverse`
- `sf`
- `mapview`#### Activación de paquetes necesarios
```r
library(tidyverse)
library(sf)
library(mapview)
library(rgee)
ee_Initialize(user = "[email protected])
```#### Lectura de datos
```r
pronostico <- st_read("resources/Tifon/datos_tifon2020.gpkg",layer = "pronostico")
limites <- st_read("resources/Tifon/datos_tifon2020.gpkg",layer = "admin1")
```
#### Función para calcular la posible afectacción```r
zona_impactada <- function(x){
# Nivel de pronostico
nivel <- pronostico[x,]
# Intersección de capas
nuevos_limites <- st_intersection(x = limites,y = nivel) %>%
dplyr::select(ADM1_EN,value) %>%
sf_as_ee()
# Datos de población de Earth Engine
poblacion_estimada <- ee$ImageCollection$Dataset$WorldPop_GP_100m_pop$
select('population')$
filter(ee$Filter$calendarRange(2020,2020, "year"))$
mosaic()$
rename('pop')
# Estadistica zonal
stat_general <- ee_extract(
x = poblacion_estimada,
y = nuevos_limites,
fun = ee$Reducer$sum(),
scale = 100)
stat_final <- stat_general %>%
mutate(pop = round(pop,0))
return(stat_final)
}# Resultados finales en listas
lista_stat <- lapply(X = 1:3,FUN = zona_impactada)```
#### Cuadro estadístico```r
datos_finales <- lista_stat %>%
map_df(.f = as_tibble) %>%
group_by(value) %>%
summarise(pop = sum(pop,na.rm = TRUE))
```
```r
# A tibble: 3 × 3
...1 value pop
1 1 < 5 6520944
2 2 > 90 5314314
3 3 30 - 40 2175340
```