El presente estudio contribuye a la comprensión de la estructura espacial de la movilidad urbana en Cali, mediante el análisis agregado por comunas, permitiendo identificar zonas de concentración de flujos de origen y destino.
La movilidad urbana constituye un componente fundamental en el análisis del funcionamiento de las ciudades, particularmente en contextos de crecimiento urbano acelerado. En este estudio se analiza la movilidad en la ciudad de Cali a partir de información proveniente de una encuesta origen–destino, con el propósito de identificar patrones espaciales de desplazamiento entre comunas
El objetivo de este trabajo es analizar los patrones de movilidad urbana en Cali mediante técnicas de análisis espacial, utilizando información agregada por comunas de origen y destino de los viajes.
Los datos espaciales son ampliamente utilizados en disciplinas como la planificación urbana, el transporte y el análisis territorial. En términos generales, pueden interpretarse como realizaciones de un proceso estocástico definido como:
Z(s), s ∈ D ⊂ R²
donde s representa una ubicación en el espacio y Z(s) la variable observada (en este caso, el número de viajes).
En la literatura se reconocen tres tipos principales de datos espaciales:
En los datos areales, el dominio espacial D está compuesto por unidades administrativas o territoriales discretas.
En este estudio, las comunas de la ciudad de Cali constituyen las unidades espaciales de análisis. A partir de la agregación de los viajes según comuna de origen y destino, es posible identificar patrones de generación y atracción de flujos de movilidad.
Este tipo de datos constituye el principal enfoque metodológico del presente análisis.
Los datos geoestadísticos corresponden a observaciones realizadas en ubicaciones continuas del espacio. Aunque son ampliamente utilizados en aplicaciones como interpolación espacial o análisis ambiental, no forman parte del presente estudio.
Los patrones puntuales representan eventos localizados en el espacio, como accidentes o incidentes específicos. En este caso, no se analizan eventos individuales, sino agregaciones espaciales por comuna.
Los datos espacio-temporales integran variación tanto en el espacio como en el tiempo. Aunque la base de datos utilizada corresponde a un único periodo de observación (2015), este enfoque podría ser ampliado en investigaciones futuras..
Se utilizan librerías especializadas para el manejo de datos, análisis espacial y visualización.
library(sf)
library(dplyr)
library(ggplot2)
library(readxl)
library(janitor)
options(scipen = 999)
theme_set(theme_minimal())
Se realiza la lectura de la base de datos de la encuesta origen-destino.
El conjunto de datos contiene registros de viajes realizados por habitantes de la ciudad de Cali, incluyendo variables relacionadas con el origen y destino del viaje, el tipo de vehículo utilizado y características generales del desplazamiento.
df <- read_excel(
"C:/Users/Nelson Cardenas/OneDrive/Documentos/1_Maestria_Ciencia_de_Datos_PUJC/2do_Sem/4_Elec_Analisis Inf_ Geogr_3045-A/Mod_1/EncuestaOrigenDestino.xlsx"
) %>%
clean_names()
Antes de iniciar el análisis espacial, se realiza un proceso de depuración de la base de datos con el fin de garantizar la consistencia y calidad de la información.
Se transforman las variables de comuna y tipo de vehículo a formatos adecuados y se eliminan registros incompletos o inconsistentes. Este proceso es esencial para evitar sesgos en los resultados espaciales.
df <- df %>%
mutate(
comunaorigen = as.character(comuna_origen),
comunadestino = as.character(comuna_destino),
tipo_de_vehiculo = as.numeric(tipo_de_vehiculo)
) %>%
filter(
!is.na(comunaorigen),
!is.na(comunadestino),
!is.na(tipo_de_vehiculo)
)
En esta etapa se incorpora la capa geográfica de comunas de la ciudad de Cali.
Esta capa espacial permite georreferenciar la información de movilidad y constituye la base fundamental para la construcción de los mapas temáticos de origen y destino.
ruta_shp <- "C:/Users/Nelson Cardenas/OneDrive/Documentos/SIG_PUJC_2S/Casos/cali/Comunas.shp"
stopifnot(file.exists(ruta_shp))
comunas <- st_read(ruta_shp, quiet = TRUE) %>%
mutate(comuna = as.character(comuna))
A partir de la base de datos se calculan los conteos de viajes según comuna de origen y destino.
Adicionalmente, se realiza una segmentación por tipo de vehículo (bicicleta, moto y automóvil), lo que permite analizar la variabilidad de la movilidad según el modo de transporte.
Este paso permite caracterizar de manera más detallada la dinámica de desplazamientos en la ciudad.
contar_comunas <- function(data, variable, filtro = NULL){
if(!is.null(filtro)){
data <- data %>% filter(tipo_de_vehiculo == filtro)
}
data %>%
count({{ variable }}, name = "n")
}
origen_all <- contar_comunas(df, comunaorigen)
destino_all <- contar_comunas(df, comunadestino)
resumen_origen <- origen_all %>%
mutate(porcentaje = round(n / sum(n) * 100, 2)) %>%
arrange(desc(n))
resumen_destino <- destino_all %>%
mutate(porcentaje = round(n / sum(n) * 100, 2)) %>%
arrange(desc(n))
origen_bici <- contar_comunas(df, comunaorigen, filtro = 1)
origen_moto <- contar_comunas(df, comunaorigen, filtro = 2)
origen_auto <- contar_comunas(df, comunaorigen, filtro = 3)
destino_bici <- contar_comunas(df, comunadestino, filtro = 1)
destino_moto <- contar_comunas(df, comunadestino, filtro = 2)
destino_auto <- contar_comunas(df, comunadestino, filtro = 3)
stopifnot(
exists("origen_all"),
exists("destino_all"),
exists("resumen_origen"),
exists("resumen_destino")
)
Los resultados muestran una concentración espacial de los viajes de origen en la comuna 2 (8.48%), seguida por las comunas 19 (8.14%) y 17 (6.79%).
Este patrón evidencia una estructura de generación de viajes parcialmente concentrada en el eje norte de la ciudad.
En el caso de los destinos, la comuna 2 presenta la mayor atracción de viajes (13.74%), seguida por las comunas 3 (11.01%) y 19 (9.01%).
Esto sugiere una centralización funcional de actividades urbanas en el área central de Cali.
Antes de la visualización de los mapas, se presentan los principales resultados descriptivos mediante tablas resumen. Estas permiten identificar las comunas con mayor participación en los viajes de origen y destino.
knitr::kable(
head(resumen_origen, 10),
digits = 2,
caption = "Top 10 comunas de origen (participación porcentual)"
)
| comunaorigen | n | porcentaje |
|---|---|---|
| Fuera de Cali | 6256 | 17.91 |
| 02 | 2962 | 8.48 |
| 19 | 2843 | 8.14 |
| 17 | 2373 | 6.79 |
| 03 | 2112 | 6.04 |
| 18 | 1536 | 4.40 |
| 04 | 1491 | 4.27 |
| 10 | 1397 | 4.00 |
| 13 | 1235 | 3.53 |
| 15 | 1169 | 3.35 |
knitr::kable(
head(resumen_destino, 10),
digits = 2,
caption = "Top 10 comunas de destino (participación porcentual)"
)
| comunadestino | n | porcentaje |
|---|---|---|
| Fuera de Cali | 6351 | 18.18 |
| 02 | 4799 | 13.74 |
| 03 | 3846 | 11.01 |
| 19 | 3149 | 9.01 |
| 17 | 2161 | 6.19 |
| 22 | 1856 | 5.31 |
| 04 | 1851 | 5.30 |
| 09 | 1276 | 3.65 |
| 08 | 1024 | 2.93 |
| 10 | 925 | 2.65 |
En esta sección se presentan los mapas temáticos construidos a partir de los conteos de viajes. Estos permiten visualizar la distribución espacial de la movilidad en la ciudad de Cali, diferenciando entre origen, destino y tipo de vehículo.
crear_mapa <- function(shp, df, var_join, titulo, mostrar_etiquetas = FALSE){
p <- shp %>%
left_join(df, by = c("comuna" = var_join)) %>%
mutate(n = ifelse(is.na(n), 0, n)) %>%
ggplot() +
geom_sf(aes(fill = n), color = "white", linewidth = 0.2) +
scale_fill_viridis_c(option = "C") +
labs(title = titulo, fill = "Viajes") +
theme_minimal() +
theme(
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.grid = element_blank()
) +
coord_sf(datum = NA)
if(mostrar_etiquetas){
p <- p + geom_sf_text(aes(label = n), size = 3)
}
p
}
Este mapa representa la distribución total de los viajes según comuna de origen. A partir de su análisis, es posible identificar las zonas con mayor generación de desplazamientos, evidenciando áreas de alta actividad urbana.
crear_mapa(
comunas,
origen_all,
"comunaorigen",
"Origen de viajes - Cali (Total)"
)
A continuación se analiza cómo varía la generación de viajes según el medio de transporte utilizado.
Esto permite identificar patrones diferenciados de movilidad dentro de la ciudad.
El uso de la bicicleta se concentra en un número reducido de comunas, lo que sugiere trayectos cortos y localizados.
Este comportamiento es típico de modos no motorizados.
crear_mapa(
comunas,
origen_bici,
"comunaorigen",
"Origen de viajes - Bicicleta"
)
La motocicleta presenta una mayor dispersión territorial, consolidándose como un medio de transporte ampliamente utilizado en diferentes zonas de la ciudad.
crear_mapa(
comunas,
origen_moto,
"comunaorigen",
"Origen de viajes - Moto"
)
El automóvil muestra una concentración más marcada en ciertas comunas, asociadas probablemente a zonas de mayor actividad económica y residencial.
crear_mapa(
comunas,
origen_auto,
"comunaorigen",
"Origen de viajes - Automóvil"
)
En esta sección se analizan los patrones de destino, es decir, hacia dónde se dirigen los desplazamientos dentro de la ciudad.
Este análisis permite identificar zonas atractoras de viajes.
El patrón de destinos evidencia una fuerte centralización de la movilidad en la comuna 2, lo que sugiere que esta zona funciona como principal nodo de atracción de viajes laborales y comerciales. Este comportamiento es consistente con una estructura urbana monocéntrica.
crear_mapa(
comunas,
destino_all,
"comunadestino",
"Destino de viajes - Cali (Total)"
)
Los viajes en bicicleta se concentran en áreas cercanas a los puntos de origen, lo que refuerza su uso en trayectos de corta distancia.
crear_mapa(
comunas,
destino_bici,
"comunadestino",
"Destino - Bicicleta"
)
La motocicleta mantiene un patrón de distribución similar al de los orígenes, pero con mayor alcance territorial.
crear_mapa(
comunas,
destino_moto,
"comunadestino",
"Destino - Moto"
)
El automóvil presenta un patrón de destinos similar a otros medios, pero con mayor concentración en zonas centrales de la ciudad.
La comuna 2 se mantiene como principal punto de atracción de viajes, seguida por la 3 y la 19, lo que refuerza su papel como eje estructurante de la movilidad urbana en Cali.
En comparación con la bicicleta y la motocicleta, el automóvil se asocia con desplazamientos de mayor alcance hacia zonas comerciales y laborales.
crear_mapa(
comunas,
destino_auto,
"comunadestino",
"Destino - Automóvil"
)
Los resultados del análisis evidencian una estructura de movilidad urbana fuertemente concentrada en la ciudad de Cali, con patrones consistentes tanto en la generación como en la atracción de viajes.
En particular, la comuna 2 se consolida como el principal nodo de origen y destino de desplazamientos, lo que sugiere la presencia de un centro urbano con alta concentración de actividades económicas y funcionales.
Asimismo, se identifican comunas secundarias —como la 19, 3 y 17— que contribuyen de manera significativa a la dinámica de movilidad, aunque con menor intensidad relativa.
Desde una perspectiva modal, la motocicleta se posiciona como el principal medio de transporte, lo que refleja su importancia en la conectividad urbana cotidiana. En contraste, la bicicleta presenta un uso más limitado, asociado principalmente a desplazamientos de corta distancia y escala local.
Finalmente, la similitud entre los patrones de origen y destino sugiere una estructura espacial relativamente centralizada, donde los flujos de movilidad tienden a converger hacia el eje norte–centro de la ciudad.
En conjunto, estos resultados permiten caracterizar la movilidad en Cali como un sistema altamente concentrado, con un centro dominante y una periferia de soporte funcional.