1 Introducción

En el siguiente trabajo se presentarán los diferentes trayectos de los habitantes de la ciudad de Cali, esta información se representará en mapa donde se permitirá observar los puntos de origen más frecuentes, medio de transporte y el lugar de destino más frecuente. La información espacial se conformará de ocho mapas , un mapa general de origen, tres mapas de origen desagregados por bicicleta, automovil y moto y tres mapas desagregados de punto de destino sobre automovil, bicicleta y moto.

2 Limpieza de datos

Antes de hacer el análisis espacial es necesario realizar una limpieza a la base de datos que consiste en seleccionar las variables que se van a usar solamente, eliminar la información fuera de Cali, ya que no se va a tener en cuenta, eliminar los NA y por último para realizar el left_join en el código de comuna se debe eliminar el 0 a la izquierda del código comuna en la base de datos, ya que en el shapefile no tiene 0.

library(dplyr)
library(readxl)
library(stringr)
library(sf)
library(tidyr)
library(raster)
library(janitor)
library(ggplot2)
library(scales)
comunas <- st_read("insumos/cali/Comunas.shp")
## Reading layer `Comunas' from data source 
##   `C:\Users\Julian\OneDrive - PUJ Cali\Maestria\Semestre 2\Analisis_datos _espaciales\trabajo_!\Insumos\cali\Comunas.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 22 features and 4 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 860190.2 xmax: 1068492 ymax: 879441.5
## Projected CRS: MAGNA_Colombia_Cali
info <- read_excel("insumos/EncuestaOrigenDestino.xlsx") %>%
  dplyr::select('comuna origen',
                'comuna destino',
                'TIPO DE VEHÍCULO') %>%
  filter(
    !is.na(`comuna origen`),
    !is.na(`comuna destino`),
    !is.na(`TIPO DE VEHÍCULO`),
    `comuna origen` != "Fuera de Cali",
    `comuna destino` != "Fuera de Cali"
  ) %>%
  mutate(
  `comuna origen`  = as.integer(str_remove(`comuna origen`, "^0+")),
  `comuna destino` = as.integer(str_remove(`comuna destino`, "^0+"))
) %>%
  filter(!is.na(`comuna origen`), !is.na(`comuna destino`))

3 Mapa general de punto de origen

Se carga la información de la base de datos llamada encuesta origen destino y los shapefile de la ciudad de Cali, identificando el número de viajes del punto de origen.

origen <- info %>%
  mutate(`comuna origen` = as.integer(`comuna origen`)) %>%
  count(`comuna origen`, name = "viajes_origen")

mapa_origen <- comunas %>%
  left_join(origen, by = c("comuna" = "comuna origen")) %>%
  mutate(viajes_origen = replace_na(viajes_origen, 0))

ggplot(data = mapa_origen) +
  geom_sf(aes(fill = viajes_origen), color = "white", linewidth = 0.4) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08306B",
    name = "Viajes",
    labels = scales::comma
  ) +
  theme_void() +
  labs(
    title = "Origen de viajes generados por comuna",
    subtitle = "Cali"
  ) +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    legend.position = "right"
  )

La mayoría de personas que salen de sus hogares a sus ocupaciones lo hacen desde el noroccidente de la ciudad de Cali, seguido del sur de la ciudad.

4 Mapa general de punto de destino

Se carga la información de la base de datos llamada encuesta origen destino y los shapefile de la ciudad de Cali, identificando el número de viajes del punto de destino.

destino <- info %>%
  mutate(`comuna destino` = as.integer(`comuna destino`)) %>%
  count(`comuna destino`, name = "viajes_destino")

mapa_destino <- comunas %>%
  left_join(destino, by = c("comuna" = "comuna destino")) %>%
  mutate(viajes_destino = replace_na(viajes_destino, 0))

ggplot(data = mapa_destino) +
  geom_sf(aes(fill = viajes_destino), color = "white", linewidth = 0.4) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08306B",
    name = "Viajes",
    labels = scales::comma
  ) +
  theme_void() +
  labs(
    title = "Destino de viajes generados por comuna",
    subtitle = "Cali"
  ) +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    legend.position = "right"
  )

La mayoría de personas de la ciudad de Cali se dirigen al noroccidente de la ciudad y al suroriente, siendo lugares donde se concentren comercios y lugares de estudio.

5 Mapa general de punto de origen para bicicleta

origen_bici <- info %>%
  filter(`TIPO DE VEHÍCULO` == 1) %>%
  mutate(`comuna origen` = as.integer(`comuna origen`)) %>%
  count(`comuna origen`, name = "viajes_origen_bici")

mapa_origen_bici <- comunas %>%
  left_join(origen_bici, by = c("comuna" = "comuna origen")) %>%
  mutate(viajes_origen_bici = replace_na(viajes_origen_bici, 0))

ggplot(data = mapa_origen_bici) +
  geom_sf(aes(fill = viajes_origen_bici), color = "white", linewidth = 0.4) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08306B",
    name = "Viajes",
    labels = scales::comma
  ) +
  theme_void() +
  labs(
    title = "Origen de viajes generados por comuna en bicicleta",
    subtitle = "Cali"
  ) +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    legend.position = "right"
  )

6 Mapa general de punto de origen para carro

origen_carro <- info %>%
  filter(`TIPO DE VEHÍCULO` == 3) %>%
  mutate(`comuna origen` = as.integer(`comuna origen`)) %>%
  count(`comuna origen`, name = "viajes_origen_carro")

mapa_origen_carro <- comunas %>%
  left_join(origen_carro, by = c("comuna" = "comuna origen")) %>%
  mutate(viajes_origen_carro = replace_na(viajes_origen_carro, 0))

ggplot(data = mapa_origen_carro) +
  geom_sf(aes(fill = viajes_origen_carro), color = "white", linewidth = 0.4) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08306B",
    name = "Viajes",
    labels = scales::comma
  ) +
  theme_void() +
  labs(
    title = "Origen de viajes generados por comuna en carro",
    subtitle = "Cali"
  ) +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    legend.position = "right"
  )

7 Mapa general de punto de origen para moto

origen_moto <- info %>%
  filter(`TIPO DE VEHÍCULO` == 2) %>%
  mutate(`comuna origen` = as.integer(`comuna origen`)) %>%
  count(`comuna origen`, name = "viajes_origen_moto")

mapa_origen_moto <- comunas %>%
  left_join(origen_moto, by = c("comuna" = "comuna origen")) %>%
  mutate(viajes_origen_moto = replace_na(viajes_origen_moto, 0))

ggplot(data = mapa_origen_moto) +
  geom_sf(aes(fill = viajes_origen_moto), color = "white", linewidth = 0.4) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08306B",
    name = "Viajes",
    labels = scales::comma
  ) +
  theme_void() +
  labs(
    title = "Origen de viajes generados por comuna en moto",
    subtitle = "Cali"
  ) +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    legend.position = "right"
  )

De los tres mapas anteriores podemos observar que los habitantes de Cali prefieren transportarse en moto, seguido del carro y por último la bicicleta. El origen de los viajes de los tres medios de transporte se concentran en el noroccidente y suroriente de la ciudad.

8 Mapa general de punto de destino para bicicleta

destino_bici <- info %>%
  filter(`TIPO DE VEHÍCULO` == 1) %>%
  mutate(`comuna destino` = as.integer(`comuna destino`)) %>%
  count(`comuna destino`, name = "viajes_destino_bici")

mapa_destino_bici <- comunas %>%
  left_join(destino_bici, by = c("comuna" = "comuna destino")) %>%
  mutate(viajes_destino_bici = replace_na(viajes_destino_bici, 0))

ggplot(data = mapa_destino_bici) +
  geom_sf(aes(fill = viajes_destino_bici), color = "white", linewidth = 0.4) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08306B",
    name = "Viajes",
    labels = scales::comma
  ) +
  theme_void() +
  labs(
    title = "Destino de viajes generados por comuna en bicicleta",
    subtitle = "Cali"
  ) +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    legend.position = "right"
  )

9 Mapa general de punto de destino para carro

destino_carro <- info %>%
  filter(`TIPO DE VEHÍCULO` == 3) %>%
  mutate(`comuna destino` = as.integer(`comuna destino`)) %>%
  count(`comuna destino`, name = "viajes_destino_carro")

mapa_destino_carro <- comunas %>%
  left_join(destino_carro, by = c("comuna" = "comuna destino")) %>%
  mutate(viajes_destino_carro = replace_na(viajes_destino_carro, 0))

ggplot(data = mapa_destino_carro) +
  geom_sf(aes(fill = viajes_destino_carro), color = "white", linewidth = 0.4) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08306B",
    name = "Viajes",
    labels = scales::comma
  ) +
  theme_void() +
  labs(
    title = "Destino de viajes generados por comuna en carro",
    subtitle = "Cali"
  ) +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    legend.position = "right"
  )

10 Mapa general de punto de destino para moto

destino_moto <- info %>%
  filter(`TIPO DE VEHÍCULO` == 2) %>%
  mutate(`comuna destino` = as.integer(`comuna destino`)) %>%
  count(`comuna destino`, name = "viajes_destino_moto")

mapa_destino_moto <- comunas %>%
  left_join(destino_moto, by = c("comuna" = "comuna destino")) %>%
  mutate(viajes_destino_moto = replace_na(viajes_destino_moto, 0))

ggplot(data = mapa_destino_moto) +
  geom_sf(aes(fill = viajes_destino_moto), color = "white", linewidth = 0.4) +
  scale_fill_gradient(
    low = "#DEEBF7",
    high = "#08306B",
    name = "Viajes",
    labels = scales::comma
  ) +
  theme_void() +
  labs(
    title = "Destino de viajes generados por comuna en moto",
    subtitle = "Cali"
  ) +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    legend.position = "right"
  )

El destino de los viajes de los tres medios de transporte tienen un comportamiento muy parecido donde se concentran en el noroccidente y sur de la ciudad. Cabe destacar que solo se tuvo en cuenta la información dentro de la ciudad de Cali y que puede existir un sesgo de las personas que viven o tienen sus ocupaciones fuera de la ciudad.