La movilidad urbana constituye uno de los principales retos para las ciudades latinoamericanas, dado su impacto en la calidad de vida de los habitantes, la sostenibilidad ambiental y la eficiencia económica. En el caso de Cali, comprender los patrones de desplazamiento de las personas resulta fundamental para orientar políticas públicas, diseñar infraestructura adecuada y promover alternativas de transporte más sostenibles.
El presente ejercicio se enmarca en el análisis de datos espaciales mediante sistemas de información geográfica (SIG), con el propósito de representar y estudiar los flujos de origen–destino de la población caleña. A través de la construcción de mapas temáticos y dinámicos a nivel de comunas, se busca identificar de dónde provienen los viajes y hacia dónde se dirigen, diferenciando el uso de tres modos de transporte: bicicleta, motocicleta y automóvil.
##### CARGUE DE LA INFORMACIÓN A TRABAJAR Y PAQUETES A UTILIZAR
require(raster)
require(rgdal)
require(ggplot2)
require(sf)
require(dplyr)
require(knitr)
require(plotly)
require(leaflet)
##### ARCHIVO SHAPE DE LAS COMUNAS DE CALI
comunas_cali=st_read("cali/Comunas.shp") ## Reading layer `Comunas' from data source
## `C:\Users\Samuel Bermudez\Documents\Maestría en ciencia de datos\Semestre 2\SIG\UNIDAD 1 - Areas de estadistica espacial y conceptos de cartografía\Ejercicio 1\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
ggplot(comunas_cali) +
geom_sf(fill = "lightblue", color = "black") +
ggtitle("Mapa 1. comunas de Cali") +
theme_minimal()##### ARCHIVO EXCEL CON LA INFORMACIÓN A UTILIZAR
encuesta_origen_destino=readxl::read_excel("EncuestaOrigenDestino.xlsx")
encuesta_origen_destino <- encuesta_origen_destino %>%
mutate(tipo_vehiculo_label = case_when(
`TIPO DE VEHÍCULO` == 1 ~ "Bicicleta",
`TIPO DE VEHÍCULO` == 2 ~ "Moto",
`TIPO DE VEHÍCULO` == 3 ~ "Automóvil",
`TIPO DE VEHÍCULO` == 4 ~ "Campero (Guala)",
`TIPO DE VEHÍCULO` == 5 ~ "Taxi",
`TIPO DE VEHÍCULO` == 6 ~ "Intermunicipal - Bus",
`TIPO DE VEHÍCULO` == 7 ~ "Intermunicipal - Buseta",
`TIPO DE VEHÍCULO` == 8 ~ "Intermunicipal - Van",
`TIPO DE VEHÍCULO` == 9 ~ "Taxi blanco",
`TIPO DE VEHÍCULO` == 77 ~ "Otro",
TRUE ~ "No especificado"
))
# Tabla resumen general
tabla_resumen <- encuesta_origen_destino %>%
summarise(
`Total registros` = n(),
`Comunas origen` = n_distinct(`comuna origen`),
`Comunas destino` = n_distinct(`comuna destino`),
`Tipos vehiculo` = n_distinct(tipo_vehiculo_label),
)
kable(tabla_resumen, caption = "Tabla 1. Resumen general de la Encuesta Origen–Destino")| Total registros | Comunas origen | Comunas destino | Tipos vehiculo |
|---|---|---|---|
| 35054 | 24 | 24 | 11 |
La base de datos analizada contiene 35.054 registros que reflejan desplazamientos en Cali, con cobertura completa de las 22 comunas tanto en origen como en destino y dos opciones adicionales, como lo son fuera de la ciudad de cali y la opcion 0, que hace alusión a no tener información, lo que asegura una visión integral de la movilidad urbana; además, se identifican 11 tipos de vehículos, lo que evidencia una diversidad modal significativa, aunque el ejercicio se centrará en bicicleta, moto y automóvil, permitiendo contrastar estos modos con el resto y ofreciendo un panorama robusto para comprender patrones de viaje, preferencias de transporte y diferencias territoriales que son clave para la planificación y gestión de la movilidad en la ciudad.
tabla_vehiculos <- encuesta_origen_destino %>%
count(tipo_vehiculo_label) %>%
arrange(desc(n))
kable(tabla_vehiculos, caption = "Tabla 2. Distribución de viajes por tipo de vehículo")| tipo_vehiculo_label | n |
|---|---|
| Moto | 16077 |
| Automóvil | 14100 |
| Taxi | 1999 |
| Bicicleta | 1731 |
| Campero (Guala) | 459 |
| Intermunicipal - Bus | 211 |
| Intermunicipal - Buseta | 167 |
| No especificado | 115 |
| Intermunicipal - Van | 88 |
| Otro | 77 |
| Taxi blanco | 30 |
La distribución de viajes evidencia una marcada preferencia por la moto (16.077 registros) y el automóvil (14.100 registros), que en conjunto representan más del 80% de los desplazamientos, confirmando la fuerte dependencia de la ciudad hacia modos motorizados individuales. En contraste, el uso de la bicicleta (1.731 registros) es relativamente bajo, lo que refleja las limitaciones actuales en infraestructura y cultura de movilidad sostenible. Los servicios de transporte público e intermunicipal (bus, buseta, van) presentan cifras marginales frente al transporte privado, mientras que categorías como taxi (1.999) y campero (459) muestran un papel complementario en la movilidad urbana. La presencia de registros “no especificados” y “otros” sugiere posibles inconsistencias o modalidades menos frecuentes, pero en general el patrón confirma que la movilidad caleña se encuentra dominada por vehículos particulares, con escasa participación de alternativas sostenibles, lo que plantea retos importantes para la planificación urbana y la promoción de medios de transporte más equitativos y ambientalmente responsables.
La identificación de los lugares de origen de los desplazamientos constituye un punto de partida esencial para comprender la dinámica de movilidad urbana. Analizar de dónde salen las personas permite reconocer los patrones espaciales de emisión de viajes y las zonas que concentran mayor actividad cotidiana, ya sea por motivos laborales, educativos o de acceso a servicios. Este enfoque facilita la caracterización de las comunas con mayor intensidad de movilidad y evidencia las diferencias territoriales en el uso de los distintos modos de transporte.
# Conteo de viajes por comuna de origen
conteo_origen <- encuesta_origen_destino %>%
group_by(`comuna origen`) %>%
summarise(total_viajes = n()) %>%
mutate(`comuna origen` = as.integer(`comuna origen`))
# Unir shapefile con conteo
comunas_cali_origen <- comunas_cali %>%
left_join(conteo_origen, by = c("comuna" = "comuna origen"))
# Mapa con ggplot
mapa_2 <- ggplot(comunas_cali_origen) +
geom_sf(aes(fill = total_viajes, text = paste("Comuna:", comuna, "<br>Viajes:", total_viajes)),
color = "black") +
scale_fill_gradient(low = "lightyellow", high = "red") +
ggtitle("Mapa 2. Origen de viajes por comuna en Cali") +
theme_minimal()
# Convertir a plotly interactivo
ggplotly(mapa_2, tooltip = "text")El análisis de los datos evidencia que la mayor proporción de viajes registrados corresponde a individuos fuera de Cali (6.306 observaciones), lo que revela la importancia de los flujos intermunicipales y su peso dentro de la dinámica de movilidad cotidiana, posiblemente asociados a actividades laborales, educativas o de servicios especializados. Dentro de la ciudad, las comunas con mayor emisión de viajes son la 2 (2.968 registros), 19 (2.850) y 17 (2.377), lo que las posiciona como nodos estratégicos de movilidad, vinculados a una alta densidad poblacional y concentración de actividades económicas y comerciales. En contraste, comunas como la 12 (348 viajes), 5 (664) y 14 (685) muestran volúmenes reducidos, reflejando dinámicas más locales o menor conectividad con los principales polos urbanos. En conjunto, la información sugiere una estructura de movilidad dual: por un lado, una fuerte interacción con territorios externos al municipio, y por otro, una concentración interna en comunas específicas, lo que constituye un insumo clave para la planificación del transporte y la gestión territorial orientada a mejorar la accesibilidad y sostenibilidad urbana.
# Tabla de conteo
motos <- encuesta_origen_destino %>%
subset(subset=encuesta_origen_destino$`TIPO DE VEHÍCULO` == 2) %>%
group_by(`comuna origen`) %>%
summarise(total_viajes = n()) %>%
mutate(`comuna origen` = as.integer(`comuna origen`))
comunas_cali_moto <- comunas_cali %>%
left_join(motos, by = c("comuna" = "comuna origen"))
# Mapa con ggplot
mapa_3 <- ggplot(comunas_cali_moto) +
geom_sf(aes(fill = total_viajes, text = paste("Comuna:", comuna, "<br>Viajes:", total_viajes)),
color = "black") +
scale_fill_gradient(low = "lightyellow", high = "red") +
ggtitle("Mapa 3. Origen de viajes en moto por comunas en Cali") +
theme_minimal()
# Convertir a plotly interactivo
ggplotly(mapa_3, tooltip = "text")El Mapa 3. Origen de viajes en moto por comunas en Cali muestra una concentración destacada de individuos fuera del municipio (2.706 registros), lo que evidencia la relevancia de los flujos intermunicipales en motocicleta, posiblemente asociados a actividades laborales o de servicios que requieren movilidad diaria. Dentro de la ciudad, las comunas 2 (1.414 viajes), 19 (1.280) y 17 (1.136) se consolidan como los principales puntos de emisión de viajes en moto, reflejando una alta densidad poblacional y una fuerte dependencia de este modo de transporte por su flexibilidad y bajo costo operativo. En contraste, comunas como la 12 (176 viajes) y 14 (310) presentan volúmenes menores, lo que sugiere menor uso de motocicleta o una estructura urbana menos conectada con los principales corredores de movilidad.
# Tabla de conteo
bicicleta <- encuesta_origen_destino %>%
filter(`TIPO DE VEHÍCULO` == 1) %>%
group_by(`comuna origen`) %>%
summarise(total_viajes = n()) %>%
mutate(`comuna origen` = as.integer(`comuna origen`))
comunas_cali_bicicleta <- comunas_cali %>%
left_join(bicicleta, by = c("comuna" = "comuna origen"))
# Mapa con ggplot
mapa_4 <- ggplot(comunas_cali_bicicleta) +
geom_sf(aes(fill = total_viajes, text = paste("Comuna:", comuna, "<br>Viajes:", total_viajes)),
color = "black") +
scale_fill_gradient(low = "lightyellow", high = "red") +
ggtitle("Mapa 4. Origen de viajes en bicicleta por comunas en Cali") +
theme_minimal()
# Convertir a plotly interactivo
ggplotly(mapa_4, tooltip = "text")El Mapa 4. Origen de viajes en bicicleta por comunas en Cali evidencia una distribución espacial más dispersa y de menor intensidad en comparación con los modos motorizados. El mayor número de viajes en bicicleta se registra fuera de Cali (156 observaciones), lo que sugiere una presencia relevante de desplazamientos intermunicipales. Dentro del área urbana, las comunas 2 (159 viajes), 17 (141) y 19 (141) destacan como los principales puntos de origen, lo que podría relacionarse con una mayor disponibilidad de vías seguras, menor congestión vehicular o una cultura ciclista más consolidada. En contraste, comunas como la 12 (14 viajes) y 1 (36) presentan volúmenes bajos, reflejando limitaciones en infraestructura o menor adopción de este medio de transporte.
# Tabla de conteo
automovil <- encuesta_origen_destino %>%
filter(`TIPO DE VEHÍCULO` == 3) %>%
group_by(`comuna origen`) %>%
summarise(total_viajes = n()) %>%
mutate(`comuna origen` = as.integer(`comuna origen`))
comunas_cali_automovil <- comunas_cali %>%
left_join(automovil, by = c("comuna" = "comuna origen"))
# Mapa con ggplot
mapa_5 <- ggplot(comunas_cali_automovil) +
geom_sf(aes(fill = total_viajes, text = paste("Comuna:", comuna, "<br>Viajes:", total_viajes)),
color = "black") +
scale_fill_gradient(low = "lightyellow", high = "red") +
ggtitle("Mapa 5. Origen de viajes en automovil por comunas en Cali") +
theme_minimal()
# Convertir a plotly interactivo
ggplotly(mapa_5, tooltip = "text")El Mapa 5. Origen de viajes en automóvil por comunas en Cali evidencia una marcada concentración de desplazamientos en vehículo particular tanto dentro como fuera del municipio. El mayor volumen de viajes se registra fuera de Cali (2.917 observaciones), lo que refleja una fuerte interacción intermunicipal, posiblemente asociada a desplazamientos laborales, educativos o de servicios especializados. Dentro del área urbana, las comunas 19 (1.165 viajes), 2 (1.121) y 17 (899) destacan como los principales puntos de emisión de viajes en automóvil, lo que sugiere una alta motorización y una dependencia significativa del transporte privado en zonas de mayor nivel socioeconómico o con mejor infraestructura vial. En contraste, comunas como la 12 (123 viajes), 5 (241) y 1 (301) presentan volúmenes menores, indicando menor acceso o preferencia por este modo de transporte. En conjunto, el mapa revela una estructura de movilidad centrada en el uso del automóvil, con patrones espaciales que reflejan desigualdades en acceso y uso del transporte, y plantea desafíos para la gestión de la congestión, la planificación de estacionamientos y la promoción de alternativas sostenibles dentro del sistema urbano de Cali.
El análisis de los destinos de los viajes permite comprender cómo se organiza la movilidad urbana y cuáles son los espacios que concentran la llegada de personas en la ciudad. Estudiar a dónde van las personas revela los polos de atracción más relevantes, vinculados a actividades económicas, educativas, comerciales y de servicios, y muestra la intensidad de las interacciones territoriales tanto dentro como fuera de Cali. Esta perspectiva complementa el estudio de los orígenes, ofreciendo una visión integral de los flujos de movilidad y proporcionando insumos fundamentales para la planificación del transporte, la gestión de la infraestructura y la formulación de políticas públicas orientadas a mejorar la accesibilidad y la sostenibilidad urbana.
# Conteo de viajes por comuna de origen
conteo_destino <- encuesta_origen_destino %>%
group_by(`comuna destino`) %>%
summarise(total_viajes = n()) %>%
mutate(`comuna destino` = as.integer(`comuna destino`))
# Unir shapefile con conteo
comunas_cali_destino <- comunas_cali %>%
left_join(conteo_destino, by = c("comuna" = "comuna destino"))
# Mapa con ggplot
mapa_6 <- ggplot(comunas_cali_destino) +
geom_sf(aes(fill = total_viajes, text = paste("Comuna:", comuna, "<br>Viajes:", total_viajes)),
color = "black") +
scale_fill_gradient(low = "lightyellow", high = "red") +
ggtitle("Mapa 6. Destino de viajes por comuna en Cali") +
theme_minimal()
# Convertir a plotly interactivo
ggplotly(mapa_6, tooltip = "text")El Mapa 6. Destino de viajes por comuna en Cali muestra una marcada concentración de desplazamientos hacia zonas específicas de la ciudad y fuera de ella. El mayor número de viajes se registra fuera de Cali (6.400 observaciones), lo que evidencia una fuerte interacción intermunicipal y la importancia de los flujos metropolitanos en la movilidad cotidiana. Dentro del área urbana, las comunas 2 (4.810 viajes), 3 (3.859) y 19 (3.158) se consolidan como los principales destinos, reflejando su papel como centros de atracción económica, comercial y de servicios. Estas zonas concentran actividades laborales y educativas que generan una alta demanda de desplazamientos. En contraste, comunas como la 12 (246 viajes), 14 (379) y 21 (515) presentan menor recepción de viajes, lo que sugiere una función más residencial o periférica. En conjunto, el mapa revela una estructura de movilidad centrípeta, donde ciertos sectores actúan como polos de destino predominantes, información clave para orientar la planificación del transporte público, la gestión de la infraestructura vial y el desarrollo urbano sostenible.
# Tabla de conteo
motos_destino <- encuesta_origen_destino %>%
subset(subset=encuesta_origen_destino$`TIPO DE VEHÍCULO` == 2) %>%
group_by(`comuna destino`) %>%
summarise(total_viajes = n()) %>%
mutate(`comuna destino` = as.integer(`comuna destino`))
comunas_cali_moto_destino <- comunas_cali %>%
left_join(motos_destino, by = c("comuna" = "comuna destino"))
# Mapa con ggplot
mapa_7 <- ggplot(comunas_cali_moto_destino) +
geom_sf(aes(fill = total_viajes, text = paste("Comuna:", comuna, "<br>Viajes:", total_viajes)),
color = "black") +
scale_fill_gradient(low = "lightyellow", high = "red") +
ggtitle("Mapa 7. Destino de viajes en moto por comunas en Cali") +
theme_minimal()
# Convertir a plotly interactivo
ggplotly(mapa_7, tooltip = "text")El Mapa 7. Destino de viajes en moto por comunas en Cali muestra una concentración significativa de desplazamientos hacia zonas específicas de la ciudad y fuera de ella. El mayor número de viajes se registra fuera de Cali (2.961 observaciones), lo que evidencia una fuerte conexión intermunicipal y la relevancia de la motocicleta como medio de transporte para trayectos de mayor distancia o hacia áreas periféricas. Dentro del municipio, las comunas 2 (2.177 viajes), 3 (1.734) y 19 (1.421) se consolidan como los principales destinos, reflejando su papel como centros de actividad económica, comercial y laboral. Estas zonas atraen un alto flujo de motociclistas, posiblemente por su accesibilidad y concentración de servicios. En contraste, comunas como la 12 (128 viajes), 14 (188) y 21 (243) presentan menor recepción de viajes, lo que sugiere un carácter más residencial o menor conectividad vial. En conjunto, el mapa evidencia una estructura de movilidad motorizada individual orientada hacia sectores estratégicos del norte y sur de Cali, información clave para la planificación de infraestructura vial, la gestión del tráfico y la promoción de políticas de movilidad sostenible.
# Tabla de conteo
bicicleta_destino <- encuesta_origen_destino %>%
filter(`TIPO DE VEHÍCULO` == 1) %>%
group_by(`comuna destino`) %>%
summarise(total_viajes = n()) %>%
mutate(`comuna destino` = as.integer(`comuna destino`))
comunas_cali_bicicleta_destino <- comunas_cali %>%
left_join(bicicleta_destino, by = c("comuna" = "comuna destino"))
# Mapa con ggplot
mapa_8 <- ggplot(comunas_cali_bicicleta_destino) +
geom_sf(aes(fill = total_viajes, text = paste("Comuna:", comuna, "<br>Viajes:", total_viajes)),
color = "black") +
scale_fill_gradient(low = "lightyellow", high = "red") +
ggtitle("Mapa 8. Destino de viajes en bicicleta por comunas en Cali") +
theme_minimal()
# Convertir a plotly interactivo
ggplotly(mapa_8, tooltip = "text")El Mapa 8. Destino de viajes en bicicleta por comunas en Cali muestra una distribución espacial más dispersa y de menor intensidad en comparación con los modos motorizados. El mayor número de viajes se registra fuera de Cali (305 observaciones), lo que sugiere una presencia relevante de desplazamientos intermunicipales o hacia zonas rurales cercanas. Dentro del área urbana, las comunas 2 (218 viajes), 3 (189) y 19 (147) destacan como los principales destinos, reflejando su papel como centros de atracción educativa, recreativa y laboral, donde la bicicleta se consolida como una alternativa eficiente y económica. En contraste, comunas como la 12 (15 viajes), 14 (22) y 21 (26) presentan volúmenes bajos, lo que podría asociarse a limitaciones en infraestructura ciclista o menor adopción del modo. En conjunto, el mapa evidencia una movilidad ciclista concentrada en sectores del norte y sur de la ciudad, lo que constituye un insumo clave para fortalecer la red de ciclorrutas, mejorar la seguridad vial y promover la movilidad sostenible en Cali.
# Tabla de conteo
automovil_destino <- encuesta_origen_destino %>%
filter(`TIPO DE VEHÍCULO` == 3) %>%
group_by(`comuna destino`) %>%
summarise(total_viajes = n()) %>%
mutate(`comuna destino` = as.integer(`comuna destino`))
comunas_cali_automovil_destino <- comunas_cali %>%
left_join(automovil_destino, by = c("comuna" = "comuna destino"))
# Mapa con ggplot
mapa_9 <- ggplot(comunas_cali_automovil_destino) +
geom_sf(aes(fill = total_viajes, text = paste("Comuna:", comuna, "<br>Viajes:", total_viajes)),
color = "black") +
scale_fill_gradient(low = "lightyellow", high = "red") +
ggtitle("Mapa 9. Destino de viajes en automovil por comunas en Cali") +
theme_minimal()
# Convertir a plotly interactivo
ggplotly(mapa_9, tooltip = "text")El Mapa 9. Destino de viajes en automóvil por comunas en Cali evidencia una concentración notable de desplazamientos hacia zonas específicas de la ciudad y fuera de ella. El mayor número de viajes se registra fuera de Cali (2.525 observaciones), lo que refleja una fuerte interacción intermunicipal y la relevancia del automóvil como medio de transporte para trayectos de mayor distancia. Dentro del área urbana, las comunas 2 (2.006 viajes), 3 (1.557) y 19 (1.302) se consolidan como los principales destinos, lo que sugiere su papel como centros de actividad económica, comercial y de servicios, donde la movilidad en vehículo particular es predominante. En contraste, comunas como la 12 (85 viajes), 14 (138) y 21 (144) presentan menor recepción de viajes, indicando una función más residencial o menor atracción de desplazamientos. En conjunto, el mapa revela una estructura de movilidad centrípeta y motorizada, donde los viajes en automóvil se concentran en sectores estratégicos del norte y sur de Cali, información clave para la planificación vial, la gestión del tráfico y el diseño de políticas de movilidad sostenible.
La movilidad en Cali está fuertemente dominada por la motocicleta y el automóvil, que en conjunto representan más del 80% de los desplazamientos. Este patrón evidencia una dependencia estructural de modos privados, con implicaciones directas en la congestión, la contaminación y la inequidad en el acceso al transporte.
Los viajes fuera de Cali constituyen una proporción significativa tanto en origen como en destino, lo que demuestra una intensa interacción metropolitana. Este fenómeno sugiere que la movilidad cotidiana trasciende los límites administrativos y requiere una planificación regional integrada.
Las comunas 2, 17 y 19 se consolidan como los principales nodos de emisión y atracción de viajes, reflejando su papel como centros de actividad económica y residencial. En contraste, las comunas periféricas presentan menor intensidad de desplazamientos, lo que revela desigualdades territoriales en conectividad y oportunidades.
El uso de la bicicleta es marginal frente a los modos motorizados, lo que indica limitaciones en infraestructura ciclista, seguridad vial y cultura de movilidad activa. Este resultado subraya la necesidad de fortalecer políticas de transporte sostenible y de inclusión modal.
Integrar los flujos intermunicipales en los planes de movilidad, articulando Cali con municipios vecinos mediante corredores de transporte público y sistemas de movilidad compartida.
Implementar programas de incentivo al uso de la bicicleta y la caminata, acompañados de infraestructura segura (ciclorrutas, estacionamientos, señalización) y campañas de cultura vial.
Desarrollar políticas de restricción y regulación del uso del automóvil y la motocicleta en zonas de alta congestión, complementadas con alternativas de transporte público eficiente.
Priorizar inversiones en comunas con menor conectividad, garantizando acceso equitativo a oportunidades laborales, educativas y de servicios.