Elaboración de mapas de puntos y líneas.

En clase repasamos como elaborar, a través del uso de la librería de visualización ggplot2, los mapas de polígonos. En esta ocasión, a travès de este breve tutorial, vamos a ver como se podría realizar ahora mapas de puntos y líneas, las cuales son geometrías que no abordamos en clase.

Para el ejemplo de hoy, replicaremos el mapa de Robo a pasajero a bordo decolectivo con violencia que elaboré para el #30DayMapChallenge del año 2019 que puedes ver en este enlace.

Recuerda que puedes copiar y pegar toda la sección de código en tu sesión de RStudio para ver como va trabajando. Este código se puede correr sin necesidad de bajar ningún archivo adicional.

1. Cargamos las librerías.

Cargamos las mismas librerías que en la clase de mapas.

2. Cargamos las bases de datos.

Cargamos las bases de datos con las que vamos a trabajar. El primer argumento es la dirección url de donde se almacenan los archivos que guardan la geometría de los mapas.

Traer información de internet nos permite que el código sea reproducible fácilmente y que no tengamos que almacenar nada en nuestra memoria local.

Exploramos la base de datos.

Explotamos la base de datos para verificar que si sean útiles para nuestro fin, y para ver que otra información adicional (atributos) poseen.

## # A tibble: 6 x 19
##   mes_hechos calle_hechos2 latitud calle_hechos alcaldia_hechos
##   <fct>      <fct>         <fct>   <fct>        <fct>          
## 1 Diciembre  <NA>          19.386… EMILIO AZCA… IZTAPALAPA     
## 2 Febrero    <NA>          19.382… CALZADA IGN… IZTAPALAPA     
## 3 Febrero    <NA>          19.428… EMILIO CARR… VENUSTIANO CAR…
## 4 Enero      <NA>          19.390… INFORME DE … ALVARO OBREGON 
## 5 Febrero    <NA>          19.371… CAZUELAS     IZTAPALAPA     
## 6 Febrero    RIO BECERRA   19.385… SAN ANTONIO  BENITO JUAREZ  
## # … with 14 more variables: unidad_investigacion <fct>,
## #   categoria_delito <fct>, mes_inicio <fct>, agencia <fct>,
## #   fecha_inicio <dttm>, fecha_hechos <dttm>, colonia_hechos <fct>,
## #   delito <fct>, fiscalia <fct>, ao_hechos <fct>, ao_inicio <fct>,
## #   longitud <fct>, pasajero <lgl>, geometry <POINT [°]>
## # A tibble: 6 x 8
##   tipo_trans detalle_2 ruta_corre descrip    id detalle geo_point_2d
##   <fct>      <fct>     <fct>      <fct>   <int> <fct>   <list>      
## 1 CORREDORES <NA>      CORREDOR … "6 COR…     1 "Odont… <dbl [2]>   
## 2 CORREDORES <NA>      CORREDOR … "6 COR…     2 "Recor… <dbl [2]>   
## 3 CORREDORES <NA>      CORREDOR … "8 COR…     3 "NORTE… <dbl [2]>   
## 4 CORREDORES <NA>      CORREDOR … "8 COR…     4 "SUR N… <dbl [2]>   
## 5 CORREDORES <NA>      CORREDOR … "8 COR…     5 "SUR N… <dbl [2]>   
## 6 CORREDORES <NA>      CORREDOR … "8 COR…     6 "NORTE… <dbl [2]>   
## # … with 1 more variable: geometry <LINESTRING [°]>
## [1] TRUE

4. Elaboración del mapa en ggplot.

Como paso final, elabiraremos el mapa en ggplot().

Como queremos hacer un mapa con dos geometrías (nos interesa mezclar las rutas y los puntos de las carpetas de investigación), lo que se recomienda es pasar la función ggplot() sin argumentos y luego ya irle agregando, como capas, cada una de las geometrías que van a ir en el mapa.

Igualmente, como vas a darte cuenta, hacer mapas de líneas y de puntos es muy parecido a hacer mapas de polígonos, porque lo que dicta la geometría es la base de datos, no la función con la cual se las agregas al mapa de ggplot()

Y de esta manera replicamos el mapa. Como puedes ver en el, este mapa muestra la distribución de los asaltos sobre peseros a lo largo de toda la ciudad. Sin embargo, con mapas con esta densidad de información es recomendable utilizar mapas que permitan zoom y exploración de los mapas, donde podamos saber cual es la ruta que representa cada línea y donde también podamos saber información sobre cada uno de los casos de asalto en particular.

Si mostrar toda esta información es lo deseable, entonces es recomendaboe utilizar un mapa interactivo, el cuál veremos como realizar a lo largo de la clase 4.