Este trabajo tiene como objetivo identificar las comunas con mayor número de trayectos realizados, tomando como referencia tanto el origen como el destino de los mismos. Además, se lleva a cabo un análisis por tipo de vehículo, centrado en las categorías de bicicletas, motocicletas y automóviles.
comunas = shapefile("D:/Docs C/Desktop/Sergio/Maestria/Casos/cali/Comunas.shp")
##Preparar datos
Se realiza la exploración de Encuestaorigen destino
Datos_encuesta <- suppressWarnings(read_excel("D:/Docs C/Desktop/Sergio/Maestria/Casos/EncuestaOrigenDestino.xlsx"))
## New names:
## • `MUNICIPIO` -> `MUNICIPIO...7`
## • `DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA / HITO /
## DIRECCIÓN` -> `DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA
## / HITO / DIRECCIÓN...8`
## • `MUNICIPIO` -> `MUNICIPIO...11`
## • `DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA / HITO /
## DIRECCIÓN` -> `DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA
## / HITO / DIRECCIÓN...12`
## • `OTRO ¿CUÁL?` -> `OTRO ¿CUÁL?...17`
## • `OTRO ¿CUÁL?` -> `OTRO ¿CUÁL?...24`
str(Datos_encuesta)
## tibble [35,054 × 28] (S3: tbl_df/tbl/data.frame)
## $ FECHA : POSIXct[1:35054], format: "2015-06-01" "2015-06-01" ...
## $ ID ESTACIÓN : num [1:35054] 1 1 1 1 1 1 1 1 1 1 ...
## $ ESTACIÓN : chr [1:35054] "Avenida 6N X Calle 70N" "Avenida 6N X Calle 70N" "Avenida 6N X Calle 70N" "Avenida 6N X Calle 70N" ...
## $ ACCESO : chr [1:35054] "NORTE" "NORTE" "NORTE" "NORTE" ...
## $ MOVIMIENTO : chr [1:35054] "MOV 1" "MOV 1" "MOV 1" "MOV 1" ...
## $ Hora de Encuesta : POSIXct[1:35054], format: "1899-12-31 06:10:00" "1899-12-31 06:11:00" ...
## $ MUNICIPIO...7 : chr [1:35054] "CALI" "CALIMA" "YUMBO" "YUMBO" ...
## $ DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA / HITO / DIRECCIÓN...8 : chr [1:35054] "B CHIPICHAPE" "DARIEN" "VALLE DEL CAUCA" "VALLE DEL CAUCA" ...
## $ Codigo Origen_SDG : chr [1:35054] "218" "4102" "3102" "3102" ...
## $ ¿QUE ESTABA HACIENDO EN ESE LUGAR? : num [1:35054] 5 6 6 6 8 6 6 6 6 6 ...
## $ MUNICIPIO...11 : chr [1:35054] "CALI" "CALI" "CALI" "CALI" ...
## $ DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA / HITO / DIRECCIÓN...12: chr [1:35054] "B PANCE" "TEQUENDAMA" "B EL PEÑON" "B OBRERO" ...
## $ Codigo Destino_SDG : chr [1:35054] "2216" "1904" "302" "910" ...
## $ ¿QUE VA HACER A ESE LUGAR? : num [1:35054] 1 4 1 1 1 1 2 1 1 2 ...
## $ ESTRATO EN SU VIVIENDA : num [1:35054] 3 2 3 2 3 2 3 3 3 3 ...
## $ ¿DISPONIA DE UN VEHÍCULO PARA REALIZAR ESTE DESPLAZAMIENTO? : num [1:35054] 0 NA NA NA NA NA NA NA NA NA ...
## $ OTRO ¿CUÁL?...17 : logi [1:35054] NA NA NA NA NA NA ...
## $ ANTES : num [1:35054] NA NA NA NA NA NA NA NA NA NA ...
## $ DESPUES : logi [1:35054] NA NA NA NA NA NA ...
## $ EDAD : num [1:35054] 35 40 33 28 25 31 50 37 36 35 ...
## $ SEXO : num [1:35054] 2 2 2 2 2 2 2 2 2 2 ...
## $ PERSONAS EN EL VEHÍCULO : num [1:35054] 1 4 1 1 2 3 2 1 1 2 ...
## $ TIPO DE VEHÍCULO : num [1:35054] 2 3 2 2 2 3 3 2 2 3 ...
## $ OTRO ¿CUÁL?...24 : logi [1:35054] NA NA NA NA NA NA ...
## $ TIPO DE VIAJERO : chr [1:35054] "1" "1" "1" "1" ...
## $ comuna origen : chr [1:35054] "02" "Fuera de Cali" "Fuera de Cali" "Fuera de Cali" ...
## $ comuna destino : chr [1:35054] "22" "19" "03" "09" ...
## $ Intracomuna : chr [1:35054] "0" "0" "0" "0" ...
# Verificar nombres de columnas actuales
colnames(Datos_encuesta)
## [1] "FECHA"
## [2] "ID ESTACIÓN"
## [3] "ESTACIÓN"
## [4] "ACCESO"
## [5] "MOVIMIENTO"
## [6] "Hora de Encuesta"
## [7] "MUNICIPIO...7"
## [8] "DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA / HITO / DIRECCIÓN...8"
## [9] "Codigo Origen_SDG"
## [10] "¿QUE ESTABA HACIENDO EN ESE LUGAR?"
## [11] "MUNICIPIO...11"
## [12] "DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA / HITO / DIRECCIÓN...12"
## [13] "Codigo Destino_SDG"
## [14] "¿QUE VA HACER A ESE LUGAR?"
## [15] "ESTRATO EN SU VIVIENDA"
## [16] "¿DISPONIA DE UN VEHÍCULO PARA REALIZAR ESTE DESPLAZAMIENTO?"
## [17] "OTRO ¿CUÁL?...17"
## [18] "ANTES"
## [19] "DESPUES"
## [20] "EDAD"
## [21] "SEXO"
## [22] "PERSONAS EN EL VEHÍCULO"
## [23] "TIPO DE VEHÍCULO"
## [24] "OTRO ¿CUÁL?...24"
## [25] "TIPO DE VIAJERO"
## [26] "comuna origen"
## [27] "comuna destino"
## [28] "Intracomuna"
Se procede a realizar el cambio de las variables de interes para el respectivo procesamiento
# Cambiar los nombres de las columnas
Datos_encuesta <- Datos_encuesta %>%
rename(
MUNICIPIO_OR = `MUNICIPIO...7`,
MUNICIPIO_DES = `MUNICIPIO...11`,
COMUNA_OR = `comuna origen`,
COMUNA_DES = `comuna destino`,
TIPO_VEH = `TIPO DE VEHÍCULO`
)
# Verificar los nuevos nombres de las columnas
colnames(Datos_encuesta)
## [1] "FECHA"
## [2] "ID ESTACIÓN"
## [3] "ESTACIÓN"
## [4] "ACCESO"
## [5] "MOVIMIENTO"
## [6] "Hora de Encuesta"
## [7] "MUNICIPIO_OR"
## [8] "DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA / HITO / DIRECCIÓN...8"
## [9] "Codigo Origen_SDG"
## [10] "¿QUE ESTABA HACIENDO EN ESE LUGAR?"
## [11] "MUNICIPIO_DES"
## [12] "DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA / HITO / DIRECCIÓN...12"
## [13] "Codigo Destino_SDG"
## [14] "¿QUE VA HACER A ESE LUGAR?"
## [15] "ESTRATO EN SU VIVIENDA"
## [16] "¿DISPONIA DE UN VEHÍCULO PARA REALIZAR ESTE DESPLAZAMIENTO?"
## [17] "OTRO ¿CUÁL?...17"
## [18] "ANTES"
## [19] "DESPUES"
## [20] "EDAD"
## [21] "SEXO"
## [22] "PERSONAS EN EL VEHÍCULO"
## [23] "TIPO_VEH"
## [24] "OTRO ¿CUÁL?...24"
## [25] "TIPO DE VIAJERO"
## [26] "COMUNA_OR"
## [27] "COMUNA_DES"
## [28] "Intracomuna"
# Filtrar los datos para mantener solo los de Cali
Datos_Cali <- Datos_encuesta %>%
filter(MUNICIPIO_OR == "CALI" & MUNICIPIO_DES == "CALI")
# Verificar el resultado
print(Datos_Cali)
## # A tibble: 24,528 × 28
## FECHA `ID ESTACIÓN` ESTACIÓN ACCESO MOVIMIENTO
## <dttm> <dbl> <chr> <chr> <chr>
## 1 2015-06-01 00:00:00 1 Avenida 6N X Calle 70N NORTE MOV 1
## 2 2015-06-01 00:00:00 1 Avenida 6N X Calle 70N NORTE MOV 1
## 3 2015-06-01 00:00:00 1 Avenida 6N X Calle 70N NORTE MOV 1
## 4 2015-06-01 00:00:00 1 Avenida 6N X Calle 70N NORTE MOV 1
## 5 2015-06-01 00:00:00 1 Avenida 6N X Calle 70N NORTE MOV 1
## 6 2015-06-01 00:00:00 1 Avenida 6N X Calle 70N NORTE MOV 1
## 7 2015-06-01 00:00:00 1 Avenida 6N X Calle 70N NORTE MOV 1
## 8 2015-06-01 00:00:00 1 Avenida 6N X Calle 70N NORTE MOV 1
## 9 2015-06-01 00:00:00 1 Avenida 6N X Calle 70N NORTE MOV 1
## 10 2015-06-01 00:00:00 1 Avenida 6N X Calle 70N NORTE MOV 1
## # ℹ 24,518 more rows
## # ℹ 23 more variables: `Hora de Encuesta` <dttm>, MUNICIPIO_OR <chr>,
## # `DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA / HITO / DIRECCIÓN...8` <chr>,
## # `Codigo Origen_SDG` <chr>, `¿QUE ESTABA HACIENDO EN ESE LUGAR?` <dbl>,
## # MUNICIPIO_DES <chr>,
## # `DEPARTAMENTO / LOCALIDAD / COMUNA / DISTRITO / BARRIO / VEREDA / HITO / DIRECCIÓN...12` <chr>,
## # `Codigo Destino_SDG` <chr>, `¿QUE VA HACER A ESE LUGAR?` <dbl>, …
# Valores únicos en las columnas
summary(Datos_Cali$COMUNA_OR)
## Length Class Mode
## 24528 character character
summary(Datos_Cali$COMUNA_DES)
## Length Class Mode
## 24528 character character
unique(Datos_Cali$TIPO_VEH)
## [1] 2 3 4 1 5 7 8 77 NA 6 9
# Contar cuántos NA hay en TIPO_VEH
na_count <- sum(is.na(Datos_Cali$TIPO_VEH))
# Mostrar el resultado
na_count
## [1] 54
datos_caliI <- Datos_Cali %>%
mutate(TIPO_VEH = replace_na(TIPO_VEH, 0))
unique(datos_caliI$TIPO_VEH)
## [1] 2 3 4 1 5 7 8 77 0 6 9
# Convertir TIPO_VEH a numérico, manejando posibles caracteres
datos_caliI$TIPO_VEH <- suppressWarnings(as.numeric(as.character(datos_caliI$TIPO_VEH)))
# Se Verifica el tipo de datos de TIPO_VEH
print(class(datos_caliI$TIPO_VEH))
## [1] "numeric"
El municipio objeto de este estudio es Cali, para el cual se aplica el filtro correspondiente y se seleccionan las columnas de interes, Comuna origen, comuna destino y tipo de vehiculo
# Filtrar Datos_Cali según las condiciones especificadas
Datos_CII <- datos_caliI %>%
filter(COMUNA_OR != 'Fuera de Cali',
COMUNA_DES != 'Fuera de Cali',
COMUNA_OR != '0',
COMUNA_DES != '0')
# Seleccionar las columnas deseadas
Datos_CII <- Datos_CII[c("COMUNA_OR", "COMUNA_DES", "TIPO_VEH")]
# Convertir las columnas de carácter a entero
Datos_CII$COMUNA_OR <- as.numeric(Datos_CII$COMUNA_OR)
Datos_CII$COMUNA_DES <- as.numeric(Datos_CII$COMUNA_DES)
# Revisar la estructura del nuevo data frame
str(Datos_CII)
## tibble [22,139 × 3] (S3: tbl_df/tbl/data.frame)
## $ COMUNA_OR : num [1:22139] 2 6 6 3 4 6 4 2 13 6 ...
## $ COMUNA_DES: num [1:22139] 22 2 4 2 2 2 2 3 2 19 ...
## $ TIPO_VEH : num [1:22139] 2 2 3 3 3 3 2 2 2 3 ...
# Contar los registros para COMUNA_OR
conteo_comuna_or <- Datos_CII %>%
group_by(COMUNA_OR) %>%
summarise(conteo = n())
# Contar los registros para COMUNA_DES
conteo_comuna_des <- Datos_CII %>%
group_by(COMUNA_DES) %>%
summarise(conteodes = n())
# Creación de la tabla
datatable(conteo_comuna_or,
caption = "Cantidad de viajes desde cada comuna de origen",
options = list(pageLength = 11)) # Define cuántas filas mostrar por página
# Convertir tu archivo .shp a un objeto sf
shape_sf <- st_as_sf(comunas)
# Unir los datos
shape_conteos <- left_join(shape_sf, conteo_comuna_or, by = c("comuna" = "COMUNA_OR"))
shape_conteosdes <- left_join(shape_sf, conteo_comuna_des, by = c("comuna" = "COMUNA_DES"))
colnames(shape_conteos)
## [1] "OBJECTID" "gid" "comuna" "nombre" "conteo" "geometry"
colnames(shape_conteosdes)
## [1] "OBJECTID" "gid" "comuna" "nombre" "conteodes" "geometry"
##DESARROLLO
se procede a realizar los mapas solicitados
# Definir una paleta personalizada más clara
mi_paleta <- colorRampPalette(c("#f7feae", "#ffcc66", "#ff9933", "#ff6600", "#ff3333", "#cc0000", "#990000"))(7)
## creación mapa origen
# Cambiar color del mapa coroplético
tm_shape(shape_conteos) +
tm_polygons("conteo", style = "jenks",
palette = mi_paleta, title = "Cantidad de viajes") +
tm_layout(legend.position = c("right", "bottom"),
title = "Total de viajes desde comunas origen",
title.position = c("center", 0.98),asp = 1.5) + # Ajustar el valor para mover el título
# Añadir etiquetas de las comunas en negrita y color negro
tm_text("comuna", size = 0.6, col = "black", fontface = "bold")
del mapa de total de viajes de comuna origen, Se observa que las comunas 2 y 19, con un rango de 1,762 a 2,249 vehículos, se encuentran entre las comunas con mayor cantidad de viajes que parten de estas zonas. Les siguen las comunas 3 y 17, con un rango de 1,208 a 1,762 vehículos. Por otro lado, las comunas con menor número de salidas de vehículos son las comunas 15, 7, 12, 14, 20 y 21, con un rango de 257 a 626 vehículos que parten de estas áreas
# Definir una paleta personalizada más clara
mi_paleta <- colorRampPalette(c("#f7feae", "#ffcc66", "#ff9933", "#ff6600", "#ff3333", "#cc0000", "#990000"))(7)
## creación mapa origen
# Cambiar color del mapa coroplético
tm_shape(shape_conteosdes) +
tm_polygons("conteodes", style = "jenks",
palette = mi_paleta, title = "Cantidad de viajes") +
tm_layout(legend.position = c("right", "bottom"),
title = "Total de viajes a comunas destino",
title.position = c("center", 0.98),asp = 1.5) + # Ajustar el valor para mover el título
# Añadir etiquetas de las comunas en negrita y color negro
tm_text("comuna", size = 0.6, col = "black", fontface = "bold")
Se observa que la comuna 2 tiene la mayor concentración de los destinos, esto puede deberse a que en esta zona se incluye importantes zonas comerciales, empresariales y de servicios, lo que la convierte en un destino frecuente para personas que trabajan o realizan actividades comerciales en esta área. Además, cuenta con infraestructura clave que atrae un gran flujo de personas y vehículos
Las comunas con menos trayectos que terminan en ellas, como las comunas 6, 7, 12, 11, 15, 13, 14, 21, 18 y 20, podrían tener características residenciales predominantes, o menor densidad de servicios y actividades económicas que atraen a los vehículos. Esto las convierte en zonas menos concurridas como destino final.
##VIAJES ORIGEN POR TIPO DE VEHICULO
#BICICLETAS DESDE ORIGEN
# Contar los registros para COMUNA_OR
conteo_bicicleta_or <- Datos_CII %>%
filter(TIPO_VEH == 1) %>%
group_by(COMUNA_OR) %>%
summarise(total_vehiculos_tipo_1 = n())
# Unir los datos
shape_conteosbici <- left_join(shape_sf, conteo_bicicleta_or, by = c("comuna" = "COMUNA_OR"))
# Definir una paleta personalizada más clara
mi_paleta <- colorRampPalette(c("#d9f0a3", "#78c679", "#31a354", "#006837", "#e5f5e0", "#f7fcb9", "#ffffbf"))(7)
## creación mapa origen
# Cambiar color del mapa coroplético
tm_shape(shape_conteosbici) +
tm_polygons("total_vehiculos_tipo_1", style = "jenks",
palette = mi_paleta, title = "Cantidad de viajes") +
tm_layout(legend.position = c("right", "bottom"),
title = "Total de viajes desde origen en bicicleta",
title.position = c("center", 0.98),asp = 1.5) + # Ajustar el valor para mover el título
# Añadir etiquetas de las comunas en negrita y color negro
tm_text("comuna", size = 0.6, col = "black", fontface = "bold")
#MOTOS DESDE ORIGEN
# Contar los registros para COMUNA_OR
conteo_motos_or <- Datos_CII %>%
filter(TIPO_VEH == 2) %>%
group_by(COMUNA_OR) %>%
summarise(total_vehiculos_tipo_2 = n())
# Unir los datos
shape_conteosmoto <- left_join(shape_sf, conteo_motos_or, by = c("comuna" = "COMUNA_OR"))
mi_paleta <- colorRampPalette(c("#ffffcc", "#ffeda0", "#feb24c", "#fd8d3c", "#f03b20", "#bd0026", "#800026"))(7)
## creación mapa origen
# Cambiar color del mapa coroplético
tm_shape(shape_conteosmoto) +
tm_polygons("total_vehiculos_tipo_2", style = "jenks",
palette = mi_paleta, title = "Cantidad de viajes") +
tm_layout(legend.position = c("right", "bottom"),
title = "Total de viajes desde origen en Moto",
title.position = c("center", 0.98),asp = 1.5) + # Ajustar el valor para mover el título
# Añadir etiquetas de las comunas en negrita y color negro
tm_text("comuna", size = 0.6, col = "black", fontface = "bold")
#Automovil DESDE ORIGEN
# Contar los registros para COMUNA_OR
conteo_Auto_or <- Datos_CII %>%
filter(TIPO_VEH == 3) %>%
group_by(COMUNA_OR) %>%
summarise(total_vehiculos_tipo_3 = n())
# Unir los datos
shape_conteosauto <- left_join(shape_sf, conteo_Auto_or, by = c("comuna" = "COMUNA_OR"))
mi_paleta <- colorRampPalette(c("#e0f3f8", "#99d8c9", "#66c2a4", "#41ae76", "#238b45", "#005824", "#00441b"))(7)
## creación mapa origen
# Cambiar color del mapa coroplético
tm_shape(shape_conteosauto) +
tm_polygons("total_vehiculos_tipo_3", style = "jenks",
palette = mi_paleta, title = "Cantidad de viajes") +
tm_layout(legend.position = c("right", "bottom"),
title = "Total de viajes desde origen en Auto",
title.position = c("center", 0.98),asp = 1.5) + # Ajuste título
# Añadir etiquetas de las comunas en negrita y color negro
tm_text("comuna", size = 0.6, col = "black", fontface = "bold")
<pSe realiza un análisis detallado de la salida de viajes en
bicicleta, moto y automóvil en la ciudad de Cali, categorizado por
comunas, para identificar las zonas con mayor y menor afluencia de
viajes de salidas vehicular según el tipo de transporte utilizado.
Bicicletas: Las comunas 2, 19 y 17 son las áreas que registran la mayor cantidad de viajes en bicicleta. Esto sugiere que estas comunas tienen características favorables para los ciclistas, como infraestructura adecuada o una cultura de transporte activo. En contraste, las comunas 6, 5, 7, 11, 14 y 21 muestran una baja concurrencia de ciclistas, lo que podría deberse a falta de ciclovías, menor adopción del uso de bicicletas o barreras geográficas.
Motos: Las comunas 2, 19 y 17 también son líderes en cantidad de trayectos en moto, lo que evidencia que son zonas dinámicas y con alta movilidad de este tipo de vehículos. Por el contrario, la comuna 12 destaca como la zona con menor cantidad de viajes en moto.
Automóviles: En lo que respecta a los automóviles, las comunas 2 y 19 encabezan el número de trayectos con un rango de entre 678 y 922 vehículos diarios, lo que indica una alta densidad de tráfico automovilístico. Sin embargo, las comunas 5 y 12 registran una menor cantidad de viajes, con un rango de 88 a 185 automóviles, lo que podría deberse a que son zonas más residenciales o con menos actividades comerciales y laborales.
Importancia de estas comunas en la ciudad de Cali
Las comunas que mas cantidad de salida de viajes en este análisis, como la 2, 19 y 17, tienen un papel clave en la dinámica urbana de Cali:
Comuna 2: Ubicada en el norte de la ciudad, esta comuna es un área estratégica debido a su proximidad a importantes vías de acceso y su crecimiento comercial. Es una zona de tránsito para muchos habitantes de otras comunas y alberga centros educativos y de servicios, lo que explica su alta movilidad tanto en bicicletas, motos como en automóviles.
Comuna 19: Situada en el suroccidente de Cali, es conocida por su desarrollo residencial y su infraestructura de movilidad. Su importancia radica en la conectividad que ofrece entre varias zonas de la ciudad, especialmente hacia el sur, lo que la convierte en un epicentro de tránsito diario.
Comuna 17: Es otra zona en el suroccidente de la ciudad, caracterizada por su desarrollo urbanístico, centros comerciales y servicios, lo que la posiciona como un área de alta movilidad vehicular. Su infraestructura vial facilita el tránsito de distintos tipos de vehículos, y al igual que la comuna 19, sirve de conectora hacia otras partes importantes de Cali.
En contraste, las comunas que registran menos viajes, como la 5 y la 12, tienen características más residenciales o menos conectividad vial, lo que las convierte en áreas de menor tránsito vehicular. La comuna 12, por ejemplo, es conocida por su menor densidad poblacional y una menor concentración de centros de actividad económica, lo que puede explicar el bajo flujo de vehículos en comparación con otras comunas.##VIAJES DESTINO POR TIPO DE VEHICULO
#BICICLETAS DESDE DESTINO
# Contar los registros para COMUNA_OR
conteo_bicicleta_des <- Datos_CII %>%
filter(TIPO_VEH == 1) %>%
group_by(COMUNA_DES) %>%
summarise(total_vehiculos_tipo_1d = n())
# Unir los datos
shape_conteosbici <- left_join(shape_sf, conteo_bicicleta_des, by = c("comuna" = "COMUNA_DES"))
# Definir una paleta personalizada más clara
mi_paleta <- colorRampPalette(c("#d9f0a3", "#78c679", "#31a354", "#006837", "#e5f5e0", "#f7fcb9", "#ffffbf"))(7)
## creación mapa origen
# Cambiar color del mapa coroplético
tm_shape(shape_conteosbici) +
tm_polygons("total_vehiculos_tipo_1d", style = "jenks",
palette = mi_paleta, title = "Cantidad de viajes") +
tm_layout(legend.position = c("right", "bottom"),
title = "Total de viajes a destino en bicicleta",
title.position = c("center", 0.98),asp = 1.5) + # Ajustar el valor para mover el título
# Añadir etiquetas de las comunas en negrita y color negro
tm_text("comuna", size = 0.6, col = "black", fontface = "bold")
#MOTOS A DESTINO
# Contar los registros para COMUNA_DES
conteo_motos_des <- Datos_CII %>%
filter(TIPO_VEH == 2) %>%
group_by(COMUNA_DES) %>%
summarise(total_vehiculos_tipo_2d = n())
# Unir los datos
shape_conteosmotod <- left_join(shape_sf, conteo_motos_des, by = c("comuna" = "COMUNA_DES"))
mi_paleta <- colorRampPalette(c("#ffffcc", "#ffeda0", "#feb24c", "#fd8d3c", "#f03b20", "#bd0026", "#800026"))(7)
## creación mapa origen
# Cambiar color del mapa coroplético
tm_shape(shape_conteosmotod) +
tm_polygons("total_vehiculos_tipo_2d", style = "jenks",
palette = mi_paleta, title = "Cantidad de viajes") +
tm_layout(legend.position = c("right", "bottom"),
title = "Total de viajes a destino en Moto",
title.position = c("center", 0.98),asp = 1.5) + # Ajustar el valor para mover el título
# Añadir etiquetas de las comunas en negrita y color negro
tm_text("comuna", size = 0.6, col = "black", fontface = "bold")
#Automovil DESDE ORIGEN
# Contar los registros para COMUNA_OR
conteo_Auto_des <- Datos_CII %>%
filter(TIPO_VEH == 3) %>%
group_by(COMUNA_DES) %>%
summarise(total_vehiculos_tipo_3d = n())
# Unir los datos
shape_conteosautod <- left_join(shape_sf, conteo_Auto_des, by = c("comuna" = "COMUNA_DES"))
mi_paleta <- colorRampPalette(c("#e0f3f8", "#99d8c9", "#66c2a4", "#41ae76", "#238b45", "#005824", "#00441b"))(7)
## creación mapa origen
# Cambiar color del mapa coroplético
tm_shape(shape_conteosautod) +
tm_polygons("total_vehiculos_tipo_3d", style = "jenks",
palette = mi_paleta, title = "Cantidad de viajes") +
tm_layout(legend.position = c("right", "bottom"),
title = "Total de viajes a destino en Auto",
title.position = c("center", 0.98),asp = 1.5) + # Ajuste título
# Añadir etiquetas de las comunas en negrita y color negro
tm_text("comuna", size = 0.6, col = "black", fontface = "bold")
Se realiza análisis de los destinos de los viajes por tipo de vehículo (bicicleta, moto y automóvil) en la ciudad de Cali revela concentraciones y distribuciones significativas en distintas comunas, lo que resalta la importancia de ciertas áreas en la movilidad de la ciudad.
Bicicletas: Mayores concentraciones: Las comunas 2 y 3 son las zonas que reciben la mayor cantidad de viajes en bicicleta, con un rango de entre 131 y 194 llegadas. .
Menores concentraciones: Las comunas 11, 12, 13, 14, 15, 16, 18, 20 y 21 son las que registran menor número de llegadas de bicicletas, lo que puede deberse a varios factores, como la falta de infraestructura ciclista o la ubicación geográfica. Estas comunas, en su mayoría, no son zonas centrales o comerciales, lo que podría reducir la demanda de este tipo de transporte en estas áreas.
Motos: Mayores concentraciones: La comuna 2 sigue destacándose como la principal receptora de viajes en moto, con un rango que va de 1,330 a 1,734 llegadas. Esto se debe a que es una zona estratégica de la ciudad con una gran cantidad de actividades comerciales, educativas y de servicios, que atraen a personas que usan motocicletas para desplazarse de manera eficiente.
Menores concentraciones: Las comunas 5, 12, 14, 20 y 21 registran las menores llegadas de motos. Esto puede reflejar que estas comunas son principalmente residenciales, con menos actividades comerciales o servicios, lo que disminuye la atracción de este tipo de vehículos.
Automóviles: Mayores concentraciones: La comuna 2 nuevamente se destaca como la zona que recibe la mayor cantidad de automóviles, con un rango de 1,095 a 1,517 llegadas. Esta comuna alberga tanto áreas residenciales de nivel socioeconómico medio y alto, como centros comerciales y empresariales, lo que explica la alta concentración de llegadas en automóvil.
Menores concentraciones: Las comunas 5, 6, 7, 11, 12, 13, 14, 15, 18, 20 y 21 tienen las menores concentraciones de llegadas de automóviles, con un rango de entre 71 y 224 vehículos. Estas comunas suelen estar más alejadas de los centros de actividad económica, lo que reduce la cantidad de viajes en automóvil hacia estas zonas. Algunas de ellas son más residenciales o tienen menor oferta de servicios y comercios que demanden este tipo de transporte.
Importancia de las zonas receptoras de viajes
Comuna 2: Esta comuna emerge como un eje central de la movilidad en Cali, no solo por ser un punto importante de salida de vehículos, sino también por su capacidad de atraer una gran cantidad de viajes en bicicleta, moto y automóvil. Su ubicación en el norte de la ciudad, junto a la oferta de centros comerciales, instituciones educativas y zonas residenciales de alto nivel, la convierte en un nodo clave para el tránsito en Cali. Además, su conectividad con otras comunas a través de vías principales favorece su atractivo como destino.
Comuna 3: Aunque se destaca especialmente en la recepción de bicicletas, esta comuna también es un punto importante de movilidad en la ciudad. Ubicada en el centro de Cali, alberga varias instituciones gubernamentales, centros históricos y culturales, lo que la convierte en un destino atractivo, especialmente para quienes se movilizan en medios de transporte alternativo como la bicicleta.
Comunidades de baja recepción: Las comunas 11, 12, 13, 14, 15, 16, 18, 20 y 21, con menor atracción de vehículos, reflejan áreas más periféricas o residenciales de la ciudad. Estas comunas tienen menos actividad comercial o industrial, lo que explica que atraigan menos viajes, independientemente del tipo de transporte. La comuna 12, en particular, se mantiene consistente como una zona de baja movilidad tanto en la salida como en la recepción de vehículos, sugiriendo que es una zona principalmente residencial con baja densidad de actividades económicas o comerciales.