Este documento contiene el código R para visualización de mapas de los datos georreferenciación del proyecto Compartiendo la historia escondida del cambio climatico en Latinoamerica a traves de las TIC, financiado por el Instituto Panamericano de Geografia e Historia (IPGH).

Creditos Daniela Ballari - Universidad del Azuay, Cuenca, Ecuador, dballari@uazuay.edu.ec - Programación R y Visualizacion
Diana Comesana - Universidad de la Republica, Montevideo, Uruguay, diana.comesana@fic.edu.uy - Recoleccion y organizacion de informacion
Luis Vilches - Universidad Javeriana, Bogota, Colombia, lmvilches@javeriana.edu.co - Director del proyecto

El código se ejecuta con Run o Ctrl+Shift+Enter, el resultado aparecerá debajo del código

Cargar librerias.

library(leaflet)
library(leaflet.extras)
## Warning: package 'leaflet.extras' was built under R version 3.3.3
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.3.3
library(sp)
## Warning: package 'sp' was built under R version 3.3.3
library(knitr)
## Warning: package 'knitr' was built under R version 3.3.3

Definir el directorio de trabajo

opts_knit$set(root.dir = "D:/adm/Documents/RESEARCH/IPGH-Tendencias/datos/corregidos/")

Cargar los datos homogenizados y georreferenciados previamente. Se cargara la variable data

load("CleanData_reclasificado.RData") #data

A continuacion se realizaran diferentes visualizaciones usando la libraria leaflet.

Mapa de marcadores

Se comienza con un mapa basico donde los marcadores representan cada evento registrado. Algunos eventos se observan en lugares fuera del area de estudio, lo cual se atribuye a errores en el registor de las coordenadas.

leaflet(data) %>%
                  addProviderTiles(providers$OpenStreetMap.Mapnik,options = providerTileOptions(noWrap = TRUE)) %>%
                  addFullscreenControl%>% clearBounds()%>%
                  addMarkers()

### Mapa de clusters

A continuacion los marcadores de agrupan formando clusters y se añade una legenda con el efecto producido por el evento climático. El color asociado al cluster se relaciona con la cantidad de registros agrupados.

leaflet(data) %>%
                  addProviderTiles(providers$OpenStreetMap.Mapnik,options = providerTileOptions(noWrap = TRUE)) %>%
                  addFullscreenControl%>% clearBounds()%>%
                  addMarkers(clusterOptions = markerClusterOptions(zoomToBoundsOnClick = TRUE),label = data$efecto_detectable)

### Mapa de circulos

Los marcadores son reemplazados por circulos.

leaflet(data) %>%
                  addProviderTiles(providers$OpenStreetMap.Mapnik,options = providerTileOptions(noWrap = TRUE)) %>%
                  addFullscreenControl%>% clearBounds()%>%
                  addCircleMarkers(lng = coordinates(data)[,1], lat = coordinates(data)[,2],label = data$efecto_detectable,radius = 5,opacity = 0.8, color="orange",stroke = TRUE)

### Mapa de calor Se grafica un mapa de calor con la densidad de los eventos registrados.

leaflet(data) %>%
                  addProviderTiles(providers$OpenStreetMap.Mapnik,options = providerTileOptions(noWrap = TRUE)) %>%
                  addFullscreenControl%>% clearBounds()%>%
                    addWebGLHeatmap(lng=~coordinates(data)[,1], lat=~coordinates(data)[,2], size=50, units="px",alphaRange=0.8,)

Incluir color por grupos de eventos

groupColors = colorFactor(palette = "RdYlBu", domain = data$Evento_r)
Eventos = as.character(unique(data$Evento_r))


leaflet(data) %>% addProviderTiles(providers$OpenStreetMap.Mapnik,options = providerTileOptions(noWrap = TRUE)) %>%addFullscreenControl%>% clearBounds() %>%
  addCircleMarkers(
    color = ~groupColors(Eventos),
    stroke = FALSE, fillOpacity = 0.5)

Incluir leyenda

leaflet(data) %>% addProviderTiles(providers$OpenStreetMap.Mapnik,options = providerTileOptions(noWrap = TRUE)) %>%addFullscreenControl%>% clearBounds() %>%
  addCircleMarkers(
    color = ~groupColors(Eventos),
    stroke = FALSE, fillOpacity = 0.5
  )%>% addLegend(pal = groupColors, values = ~Eventos, opacity = 1)

Incorporar interactividad (mostrar/ocultar) de grupos

leaflet(data) %>% addProviderTiles(providers$OpenStreetMap.Mapnik,options = providerTileOptions(noWrap = TRUE)) %>%addFullscreenControl%>% clearBounds() %>%
  addCircleMarkers(
    color = ~groupColors(Eventos),
    group= Eventos,
    stroke = FALSE, fillOpacity = 0.5)%>% 
  addLegend(pal = groupColors, values = ~Eventos, opacity = 1)%>%
  addLayersControl(overlayGroups = Eventos)