1 Mapas con raster

1.1 Colombia

  • La nomenclatura para acceder a los mapas de Colombia es “COL”.
library(raster)
colombia_pais <- getData(name = "GADM", country = "COL", level = 0)
class(colombia_pais)
## [1] "SpatialPolygonsDataFrame"
## attr(,"package")
## [1] "sp"
  • Graficando mapa:
plot(colombia_pais)

1.2 Colombia - departamentos

colombia_depto <- getData(name = "GADM", country = "COL", level = 1)
plot(colombia_depto)

1.3 Colombia - municipios

colombia_muni <- getData(name = "GADM", country = "COL", level = 2)
plot(colombia_muni)

2 Departamentos importado

colombia_depto2 <- readRDS("gadm36_COL_1_sp.rds")
plot(colombia_depto2)

  • Conversión a tipo sf:
library(sf)
prueba <- st_as_sf(colombia_depto2)
prueba

3 Ejemplo 1

  • Vamos a resumir los datos de evaluaciones agropecuarias para el cultivo de aguacate en el año 2020 por departamento.
# Código para resumir datos de evaluaciones agropecuarias
library(tidyverse)
library(janitor)
datos <-
  read_csv("Evaluaciones_Agropecuarias_Municipales___EVA._2019_-_2020.csv") %>% 
  clean_names() %>% 
  filter(cultivo == "Aguacate") %>% 
  filter(ano == 2020) %>% 
  group_by(departamento) %>%
  summarise(total_area_sembrada = sum(area_sembrada_ha, na.rm = TRUE),
            total_area_cosechada = sum(area_cosechada_ha, na.rm = TRUE),
            total_produccion = sum(produccion_t, na.rm = TRUE),
            promedio_rto = mean(rendimiento_t_ha, na.rm = TRUE)) %>% 
  ungroup()

datos
  • Editamos el nombre del departamento en la base de datos “prueba” y luego unimos la información del aguacate por departamento:
prueba %>% 
  rename(departamento = NAME_1) %>% 
  left_join(y = datos, by = "departamento") %>% 
  ggplot(mapping = aes(fill = promedio_rto)) +
  geom_sf()

  • Mejorando el mapa anterior:
library(scales)
prueba %>% 
  rename(departamento = NAME_1) %>% 
  left_join(y = datos, by = "departamento") %>% 
  ggplot(mapping = aes(fill = promedio_rto)) +
  geom_sf(color = "white") +
  scale_fill_viridis_c(
    trans = "log10",
    breaks = trans_breaks(trans = "log10",
                          inv = function(x) round(10 ^ x, digits = 1))
  ) +
  theme_void()

4 Mapa Antioquia

  • Conversión del objeto “colombia_muni” a tipo “sf” a través de la función st_as_sf():
municipios_sf <- st_as_sf(colombia_muni)
municipios_sf
  • Filtrando sólo datos para Antioquia:
antioquia_sf <- municipios_sf %>% 
  filter(NAME_1 == "Antioquia")
antioquia_sf
  • Graficamos el mapa de Antioquia con sus municipios:
antioquia_sf %>% 
  ggplot() +
  geom_sf()

5 Mapa Apartadó

antioquia_sf %>% 
  filter(NAME_2 == "Apartadó") %>% 
  ggplot() + 
  geom_sf()

6 Ejemplo 2: Covid-19

  • Importar el archivo shape (.shp) con los datos de covid 19 actualizados al 09 de septiembre de 2021:
covid <- read_sf("Colombia_COVID19_Coronavirus_Departamento/Colombia_COVID19_Coronavirus_Departamento.shp")
covid
  • Graficamos el mapa de casos de covid-19 en Colombia:
covid %>% 
  ggplot(mapping = aes(fill = Casos_Conf)) +
  geom_sf()

  • Mejorando el mapa anterior:
covid %>% 
  ggplot(mapping = aes(fill = Casos_Conf)) +
  geom_sf() +
  scale_fill_viridis_c(
    trans = "log10",
    breaks = trans_breaks(trans = "log10",
                          inv = function(x) round(10 ^ x, digits = 0))
  ) +
  labs(fill = "Casos Covid-19") +
  theme_void()

  • El mismo mapa anterior con otra paleta de colores:
covid %>% 
  ggplot(mapping = aes(fill = Casos_Conf)) +
  geom_sf() +
  scale_fill_viridis_c(
    option = "C",
    trans = "log10",
    breaks = trans_breaks(trans = "log10",
                          inv = function(x) round(10 ^ x, digits = 0))
  ) +
  labs(fill = "Casos Covid-19") +
  theme_void()