Trayectos de personas en la ciudad Cali

El propósito general del problema es realizar diversas visualizaciones de las trayectorias realizadas por habitantes de Cali registradas en el 2015. A partir de información espacial de las diferentes comunas de la ciudad del Valle del Cauca, se podrán identificar los diferentes orígenes y destinos de las trayectorias realizadas por: Bicicleta, Moto y Automóvil. Para tal propósito se realizarán mapas para observar la información espacial contenida en los datos.

library(readxl)
encuestaOD <- read_excel(paste(path, "EncuestaOrigenDestino.xlsx", sep = "/"))

El conjunto de datos consta de diversas variables. No obstante, se procede a seleccionar las que son de mayor interés:

  • comuna origen: Esta variable hace referencia a la comuna origen de la trayectoria del habitante de Cali.
  • comuna destino: Esta variable hace referencia a la comuna destino de la trayectoria del habitante de Cali.
  • Tipo de vehículo: Hace referencia al medio de transporte que usa la persona en su trayectoria de la comuna de salida a la comuna de destino. Los valores de interés de esta variable son: 1 (Bicicleta), 2 (Moto), 3 (Automóvil).

Las visualizaciones basadas en mapas que describen los resultados de la información espacial a menudo utilizan archivos con formato shape, los cuales son comúnmente empleados en sistemas de información geográfica (GIS) para representar datos geoespaciales. Estos archivos constan de un conjunto de archivos que contienen información sobre elementos geográficos, tales como puntos, líneas o polígonos, junto con sus atributos asociados. Para este caso se usará un archivo shape de las comunas de Cali. Por tal motivo se procede a cargar en consola para hacer los análisis pertinentes.

require(raster)
comunas=shapefile(paste(path_, "Comunas.shp", sep = "/"))
# Convertir el objeto SpatialPolygonsDataFrame a un objeto sf
library(sf)
library(ggplot2)
comunas_sf <- st_as_sf(comunas)

# Graficar el objeto sf con ggplot2
ggplot() +
  geom_sf(data = comunas_sf, fill = "lightblue", color = "black") + 
  labs(title = "Mapa de Comunas en Cali", x = "", y = "") +  # Etiquetas de ejes vacías
  theme_void()  # Usa theme_void() en lugar de theme_minimal()

1. Recorridos de origen (Cali)

El conjunto de datos consta de 35055 registros de trayectos de personas. Para poder identificar los distintos registros de salida (considerando el punto de partida de los trayectos), se realiza un filtro de la información considerando un origen de partida diferente de Fuera de Cali.

Una distribución de frecuencias de la información, considerando la comuna de origen, está dada por la siguiente línea de código:

encuestaOD1 <- subset(encuestaOD, `comuna origen` != "Fuera de Cali")

Una forma de poder identificar la distribución de frecuencias de la cantidad de recorridos de origen es mediante la función table, la cual permite identificar en cada comuna cuántas trayectorias iniciaron en estas regiones geográficas de Cali.

table(encuestaOD1$`comuna origen`)
## 
##    0   01   02   03   04   05   06   07   08   09   10   11   12   13   14   15 
##  672  794 2968 2121 1493  664  998  734 1124  952 1401  925  348 1238  685 1171 
##   16   17   18   19   20   21   22 
##  993 2377 1536 2850  733  818 1153
df1 = data.frame(table(encuestaOD1$`comuna origen`))
df1$Var1 = as.numeric(df1$Var1)
colnames(df1) <- c("Var1","N_Recorridos_Origen")
df1
##    Var1 N_Recorridos_Origen
## 1     1                 672
## 2     2                 794
## 3     3                2968
## 4     4                2121
## 5     5                1493
## 6     6                 664
## 7     7                 998
## 8     8                 734
## 9     9                1124
## 10   10                 952
## 11   11                1401
## 12   12                 925
## 13   13                 348
## 14   14                1238
## 15   15                 685
## 16   16                1171
## 17   17                 993
## 18   18                2377
## 19   19                1536
## 20   20                2850
## 21   21                 733
## 22   22                 818
## 23   23                1153

Para asociar las cantidades de trayectorias realizadas en Cali desde el punto de origen, se procede a hacer un merge con la información anteriormente denotada:

# Combina el shapefile de comunas con los datos de población
comunas_con_poblacion <- merge(comunas, df1, by.x = "comuna", by.y = "Var1")

Considerando lo anterior, se obtiene una estructura de datos tipo (Geometry type: MULTIPOLYGON), la cual será utilizada para representar datos espaciales en el paquete sf de R. Este objeto representa datos espaciales que constan de múltiples polígonos (como comunas o áreas geográficas) con atributos asociados. Esencial para el análisis y la visualización de datos espaciales (Obsérvese las siguientes líneas de código).

library(sp)
library(sf)

# Convertir el objeto SpatialPolygonsDataFrame a sf
comunas_sf <- st_as_sf(comunas_con_poblacion)

# Convertir a formato MULTIPOLYGON
comunas_multipolygon <- st_cast(comunas_sf, "MULTIPOLYGON")
comunas_multipolygon
## Simple feature collection with 22 features and 5 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 860190.2 xmax: 1068492 ymax: 879441.5
## Projected CRS: +proj=tmerc +lat_0=3.441883333 +lon_0=-76.5205625 +k=1 +x_0=1061900.18 +y_0=872364.63 +a=6379137 +rf=298.257222101 +units=m +no_defs
## First 10 features:
##    comuna OBJECTID gid    nombre N_Recorridos_Origen
## 1       2        1 107  Comuna 2                 794
## 2       1        2 108  Comuna 1                 672
## 3       3        3 109  Comuna 3                2968
## 4      19        4 110 Comuna 19                1536
## 5      15        5 103 Comuna 15                 685
## 6      17        6 104 Comuna 17                 993
## 7      18        7 105 Comuna 18                2377
## 8      22        8 106 Comuna 22                 818
## 9       6        9  89  Comuna 6                 664
## 10      4       10  90  Comuna 4                2121
##                          geometry
## 1  MULTIPOLYGON (((1059648 874...
## 2  MULTIPOLYGON (((1054094 875...
## 3  MULTIPOLYGON (((1061757 874...
## 4  MULTIPOLYGON (((1057817 873...
## 5  MULTIPOLYGON (((1065485 869...
## 6  MULTIPOLYGON (((1061675 868...
## 7  MULTIPOLYGON (((1059061 867...
## 8  MULTIPOLYGON (((1059486 864...
## 9  MULTIPOLYGON (((1065143 879...
## 10 MULTIPOLYGON (((1063833 877...

Se logra observar en Projected CRS la descripción del sistema de referencia de coordenadas (CRS) proyectado utilizado para representar las coordenadas de las geometrías en el conjunto de datos. Adicionalmente, se presentan las variables internas (comunas, nombres, N_Recorridos_Origen).

1.1 Comunas y sus trayectorias (Origen Cali)

require(dplyr)
mapa_cali_comunas <- comunas_multipolygon %>% 
  #filter(name_long == "Freq") %>%  
  select(N_Recorridos_Origen, nombre)  

library(sf)
library(tmap)
tmap_mode("view") 
mapa_comunas_Cali <- tm_shape(mapa_cali_comunas) +
  tm_borders() +
  tm_fill(col = "N_Recorridos_Origen", palette = "viridis") +
  tm_text("nombre", size = 0.8) 
mapa_comunas_Cali

La visualización anterior muestra las comunas de Cali con los conteos de trayectorias realizadas considerando la comuna de partida, esta información muestra una variación significativa en la cantidad de recorridos de origen en la ciudad de Cali, con la Comuna 3 registrando la cifra más alta de 2968 trayectos y la Comuna 13 la más baja con solo 348 trayectos. Las tres comunas con la mayor cantidad de recorridos de origen son:

  • Comuna 3: Registra un total de 2968 trayectos.
  • Comuna 20: Con 2850 trayectos registrados.
  • Comuna 18: Presenta 2377 trayectos de origen.

Estas comunas son claramente áreas de alta actividad de salida, lo que puede estar relacionado con su densidad de población, ubicación geográfica o infraestructura de transporte.Por otro lado, las comunas con la menor cantidad de recorridos de origen son:

  • Comuna 13: Con solo 348 trayectos.
  • Comuna 6: Registrando 664 trayectos.
  • Comuna 21: Presenta 733 trayectos de origen.

Estas cifras más bajas pueden ser indicativas de áreas residenciales menos densas o con menos opciones de transporte público, lo que puede influir en la movilidad de los habitantes en esas áreas.

2. Recorridos de origen (Cali) en Tipo de transporte Bicicleta

Para identificar los trayectos de Cali que fueron realizados en bicicleta, se realiza un filtro de la información considerando un origen de partida diferente de Fuera de Cali y adicionalmente que el tipo de transporte sea 1 (bicicleta). A continuación, se muestran las líneas de código para contar los trayectos según estas características:

library(dplyr)
origen_bici <- encuestaOD %>% 
  filter(`TIPO DE VEHÍCULO`== 1 & `comuna origen` != "Fuera de Cali")  

df2 = data.frame(table(origen_bici$`comuna origen`))
df2$Var1 = as.numeric(df2$Var1)
colnames(df2) <- c("Var1","N_Recorridos_Origen_Bici")
str(df2)
## 'data.frame':    23 obs. of  2 variables:
##  $ Var1                    : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ N_Recorridos_Origen_Bici: int  43 36 159 99 74 38 44 35 52 53 ...

Anteriormente se muestra la distribución de frecuencias de la cantidad de recorridos de origen (desde el uso de la bicicleta) mediante la función table, la cual permite identificar cuántas trayectorias iniciaron en cada comuna de Cali.

Para asociar las cantidades de trayectorias realizadas en Cali desde el punto de origen, se procede a realizar un merge con la información anteriormente mencionada:

# Combina el shapefile de comunas con los datos de población
comunas_con_poblacion <- merge(comunas, df2, by.x = "comuna", by.y = "Var1")
comunas_sf <- st_as_sf(comunas_con_poblacion)  # Convertir el objeto SpatialPolygonsDataFrame a sf
comunas_multipolygon <- st_cast(comunas_sf, "MULTIPOLYGON")  # Convertir a formato MULTIPOLYGON
comunas_multipolygon
## Simple feature collection with 22 features and 5 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 860190.2 xmax: 1068492 ymax: 879441.5
## Projected CRS: +proj=tmerc +lat_0=3.441883333 +lon_0=-76.5205625 +k=1 +x_0=1061900.18 +y_0=872364.63 +a=6379137 +rf=298.257222101 +units=m +no_defs
## First 10 features:
##    comuna OBJECTID gid    nombre N_Recorridos_Origen_Bici
## 1       2        1 107  Comuna 2                       36
## 2       1        2 108  Comuna 1                       43
## 3       3        3 109  Comuna 3                      159
## 4      19        4 110 Comuna 19                      111
## 5      15        5 103 Comuna 15                       37
## 6      17        6 104 Comuna 17                       73
## 7      18        7 105 Comuna 18                      141
## 8      22        8 106 Comuna 22                       44
## 9       6        9  89  Comuna 6                       38
## 10      4       10  90  Comuna 4                       99
##                          geometry
## 1  MULTIPOLYGON (((1059648 874...
## 2  MULTIPOLYGON (((1054094 875...
## 3  MULTIPOLYGON (((1061757 874...
## 4  MULTIPOLYGON (((1057817 873...
## 5  MULTIPOLYGON (((1065485 869...
## 6  MULTIPOLYGON (((1061675 868...
## 7  MULTIPOLYGON (((1059061 867...
## 8  MULTIPOLYGON (((1059486 864...
## 9  MULTIPOLYGON (((1065143 879...
## 10 MULTIPOLYGON (((1063833 877...
library(dplyr)
mapa_cali_comunas <- comunas_multipolygon %>% 
  select(N_Recorridos_Origen_Bici, nombre)  

Dado el valor de las representaciones geográficas para este conjunto de datos, es fundamental crear los mapas pertinentes:

2.1 Comunas y sus trayectorias (origen Cali y Medio Bicicleta)

library(tmap)
mapa_comunas_Cali <- tm_shape(mapa_cali_comunas) +
  tm_borders() +
  tm_fill(col = "N_Recorridos_Origen_Bici", palette = "viridis") +
  tm_text("nombre", size = 0.8) 
mapa_comunas_Cali

La visualización anterior muestra las comunas de Cali con los conteos de trayectorias realizadas con el uso del medio de transporte Bicicleta, se puede observar que la comunas 3 es la región que lidera con la mayor cantidad de trayectorias con 159.

Una variedad en la cantidad de recorridos de origen en bicicleta en la ciudad de Cali, con la Comuna 3 registrando la cifra más alta de 159 trayectos y la Comuna 13 la más baja con solo 14 trayectos. Las tres comunas con la mayor cantidad de recorridos de origen en bicicleta son:

  • Comuna 3: Registra un total de 159 trayectos en bicicleta.
  • Comuna 20: Con 141 trayectos registrados.
  • Comuna 18: Presenta 141 trayectos de origen en bicicleta.

Estas comunas son áreas donde la bicicleta es un medio de transporte popular, lo que puede estar relacionado con factores como la infraestructura de ciclovías, la topografía y la cultura ciclista. Por otro lado, las comunas con la menor cantidad de recorridos de origen en bicicleta son:

  • Comuna 13: Con solo 14 trayectos en bicicleta.
  • Comuna 6: Registrando 38 trayectos.
  • Comuna 15: Presenta 37 trayectos de origen en bicicleta.

Estas cifras más bajas pueden deberse a una infraestructura de ciclovías menos desarrollada o a una menor cultura de uso de la bicicleta como medio de transporte en esas áreas.

3. Recorridos de origen (Cali) en Tipo de transporte Moto

Para identificar los trayectos realizados en Cali utilizando Moto, se filtra la información considerando que el origen del trayecto no sea Fuera de Cali y que el tipo de transporte sea 2 (Moto). En las siguientes líneas de código se realiza el conteo de trayectos según estas características:

library(dplyr)
origen_moto <- encuestaOD %>% 
  filter(`TIPO DE VEHÍCULO`== 2 & `comuna origen` != "Fuera de Cali")  

df3 = data.frame(table(origen_moto$`comuna origen`))
df3$Var1 = as.numeric(df3$Var1)
colnames(df3) <- c("Var1","N_Recorridos_Origen_Moto")
str(df3)
## 'data.frame':    23 obs. of  2 variables:
##  $ Var1                    : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ N_Recorridos_Origen_Moto: int  259 375 1414 970 720 319 473 350 552 413 ...

Anteriormente se muestra la distribución de frecuencias de la cantidad de recorridos de origen (utilizando moto) mediante la función table, la cual permite identificar en cada comuna cuántas trayectorias iniciaron en estas regiones geográficas de Cali.

Para asociar las cantidades de trayectorias realizadas en Cali desde el punto de origen, se procede a hacer un merge con la información anteriormente denotada:

# Combina el shapefile de comunas con los datos de población
comunas_con_poblacion <- merge(comunas, df3, by.x = "comuna", by.y = "Var1")
comunas_sf <- st_as_sf(comunas_con_poblacion)  # Convertir el objeto SpatialPolygonsDataFrame a sf
comunas_multipolygon <- st_cast(comunas_sf, "MULTIPOLYGON")  # Convertir a formato MULTIPOLYGON
comunas_multipolygon
## Simple feature collection with 22 features and 5 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 860190.2 xmax: 1068492 ymax: 879441.5
## Projected CRS: +proj=tmerc +lat_0=3.441883333 +lon_0=-76.5205625 +k=1 +x_0=1061900.18 +y_0=872364.63 +a=6379137 +rf=298.257222101 +units=m +no_defs
## First 10 features:
##    comuna OBJECTID gid    nombre N_Recorridos_Origen_Moto
## 1       2        1 107  Comuna 2                      375
## 2       1        2 108  Comuna 1                      259
## 3       3        3 109  Comuna 3                     1414
## 4      19        4 110 Comuna 19                      746
## 5      15        5 103 Comuna 15                      310
## 6      17        6 104 Comuna 17                      450
## 7      18        7 105 Comuna 18                     1136
## 8      22        8 106 Comuna 22                      378
## 9       6        9  89  Comuna 6                      319
## 10      4       10  90  Comuna 4                      970
##                          geometry
## 1  MULTIPOLYGON (((1059648 874...
## 2  MULTIPOLYGON (((1054094 875...
## 3  MULTIPOLYGON (((1061757 874...
## 4  MULTIPOLYGON (((1057817 873...
## 5  MULTIPOLYGON (((1065485 869...
## 6  MULTIPOLYGON (((1061675 868...
## 7  MULTIPOLYGON (((1059061 867...
## 8  MULTIPOLYGON (((1059486 864...
## 9  MULTIPOLYGON (((1065143 879...
## 10 MULTIPOLYGON (((1063833 877...
library(dplyr)
mapa_cali_comunas <- comunas_multipolygon %>% 
  select(N_Recorridos_Origen_Moto, nombre)  

Considerando la importancia de establecer visualizaciones geográficas para este tipo de información, se procede a realizar los mapas correspondientes:

3.1 Comunas y sus trayectorias (Origen Cali y Medio de transporte Moto)

library(tmap)
mapa_comunas_Cali <- tm_shape(mapa_cali_comunas) +
  tm_borders() +
  tm_fill(col = "N_Recorridos_Origen_Moto", palette = "viridis") +
  tm_text("nombre", size = 0.8) 
mapa_comunas_Cali

Basado en los datos proporcionados, se puede observar que las comunas con la mayor cantidad de recorridos de origen en moto son las siguientes:

  • Comuna 3: 1414 trayectos.
  • Comuna 20: 1280 trayectos.
  • Comuna 18: 1136 trayectos.

Estas tres comunas destacan por tener el mayor número de recorridos de origen en moto en la ciudad de Cali. Este análisis proporciona información importante para comprender la distribución de la movilidad en la ciudad y puede ser útil para la planificación urbana y el diseño de políticas de transporte. Adicionalmente, las comunas con la menor cantidad de recorridos de origen en moto son:

  • Comuna 13: 176 trayectos.
  • Comuna 6: 319 trayectos.
  • Comuna 15: 310 trayectos.

4. Recorridos de origen (Cali) en Tipo de transporte Automovil

Para identificar los trayectos realizados en Cali utilizando Auto, se filtra la información considerando que el origen del trayecto no sea Fuera de Cali y que el tipo de transporte sea 3 (Auto). En las siguientes líneas de código se realiza el conteo de trayectos según estas características:

library(dplyr)
origen_auto <- encuestaOD %>% 
  filter(`TIPO DE VEHÍCULO`== 3 & `comuna origen` != "Fuera de Cali")  

df4 = data.frame(table(origen_auto$`comuna origen`))
df4$Var1 = as.numeric(df4$Var1)
colnames(df4) <- c("Var1","N_Recorridos_Origen_Auto")
str(df4)
## 'data.frame':    23 obs. of  2 variables:
##  $ Var1                    : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ N_Recorridos_Origen_Auto: int  317 301 1121 854 551 241 389 283 420 382 ...

Anteriormente se muestra la distribución de frecuencias de la cantidad de recorridos de origen (utilizando Auto) mediante la función table, la cual permite identificar en cada comuna cuántas trayectorias iniciaron en estas regiones geográficas de Cali.

Para asociar las cantidades de trayectorias realizadas en Cali desde el punto de origen, se procede a hacer un merge con la información anteriormente denotada:

# Combina el shapefile de comunas con los datos de población
comunas_con_poblacion <- merge(comunas, df4, by.x = "comuna", by.y = "Var1")
comunas_sf <- st_as_sf(comunas_con_poblacion)  # Convertir el objeto SpatialPolygonsDataFrame a sf
comunas_multipolygon <- st_cast(comunas_sf, "MULTIPOLYGON")  # Convertir a formato MULTIPOLYGON
comunas_multipolygon
## Simple feature collection with 22 features and 5 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 860190.2 xmax: 1068492 ymax: 879441.5
## Projected CRS: +proj=tmerc +lat_0=3.441883333 +lon_0=-76.5205625 +k=1 +x_0=1061900.18 +y_0=872364.63 +a=6379137 +rf=298.257222101 +units=m +no_defs
## First 10 features:
##    comuna OBJECTID gid    nombre N_Recorridos_Origen_Auto
## 1       2        1 107  Comuna 2                      301
## 2       1        2 108  Comuna 1                      317
## 3       3        3 109  Comuna 3                     1121
## 4      19        4 110 Comuna 19                      559
## 5      15        5 103 Comuna 15                      272
## 6      17        6 104 Comuna 17                      385
## 7      18        7 105 Comuna 18                      899
## 8      22        8 106 Comuna 22                      328
## 9       6        9  89  Comuna 6                      241
## 10      4       10  90  Comuna 4                      854
##                          geometry
## 1  MULTIPOLYGON (((1059648 874...
## 2  MULTIPOLYGON (((1054094 875...
## 3  MULTIPOLYGON (((1061757 874...
## 4  MULTIPOLYGON (((1057817 873...
## 5  MULTIPOLYGON (((1065485 869...
## 6  MULTIPOLYGON (((1061675 868...
## 7  MULTIPOLYGON (((1059061 867...
## 8  MULTIPOLYGON (((1059486 864...
## 9  MULTIPOLYGON (((1065143 879...
## 10 MULTIPOLYGON (((1063833 877...
library(dplyr)
mapa_cali_comunas <- comunas_multipolygon %>% 
  select(N_Recorridos_Origen_Auto, nombre)  

Considerando la importancia de establecer visualizaciones geográficas para este tipo de información, se procede a realizar los mapas correspondientes:

4.1 Comunas y sus trayectorias (Origen Cali y Medio de transporte Automovil)

library(tmap)
mapa_comunas_Cali <- tm_shape(mapa_cali_comunas) +
  tm_borders() +
  tm_fill(col = "N_Recorridos_Origen_Auto", palette = "viridis") +
  tm_text("nombre", size = 0.8) 
mapa_comunas_Cali

Basado en los datos proporcionados, se puede realizar un análisis detallado de los recorridos de origen en automóvil en la ciudad de Cali. Entre las comunas de Cali, se observa que las siguientes tres comunas destacan por tener la mayor cantidad de recorridos de origen en automóvil:

  • Comuna 3: Con 1121 trayectos registrados.
  • Comuna 20: Presenta 1165 trayectos.
  • Comuna 18: Con un total de 899 trayectos de origen en automóvil.

Estas cifras revelan una fuerte preferencia por el uso del automóvil como medio de transporte para los residentes que realizan trayectos dentro de la ciudad. Esta tendencia puede estar influenciada por varios factores, como la disponibilidad de vías y estacionamiento, la distancia entre lugares de interés y la infraestructura de transporte público.

Por otro lado, también es importante identificar las comunas con la menor cantidad de recorridos de origen en automóvil, ya que esto puede indicar una menor dependencia del automóvil como medio de transporte principal. Las comunas con menor cantidad de recorridos de origen en automóvil son:

  • Comuna 13: Con solo 123 trayectos registrados.
  • Comuna 6: Presenta 241 trayectos.
  • Comuna 15: Con un total de 272 trayectos de origen en automóvil.

Estas comunas muestran una preferencia relativa por otros medios de transporte, como la bicicleta, el transporte público o incluso caminar, lo que puede reflejar una mayor conciencia ambiental, una mejor accesibilidad al transporte público o una infraestructura vial más adecuada para modos de transporte alternativos.

5. Recorridos de destino en Cali

Para identificar los trayectos de destino en Cali, se realiza un filtro de la información considerando un origen de destino diferente de `Fuera de Cali. A continuación, se muestran las líneas de código para contar los trayectos según estas características:

library(dplyr)
destino <- encuestaOD %>% 
  filter(`comuna destino` != "Fuera de Cali")  

df5 = data.frame(table(destino$`comuna destino`))
df5$Var1 = as.numeric(df5$Var1)
colnames(df5) <- c("Var1","N_Recorridos_Destino")
str(df5)
## 'data.frame':    23 obs. of  2 variables:
##  $ Var1                : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ N_Recorridos_Destino: int  788 230 4810 3859 1856 522 716 748 1025 1279 ...

Anteriormente se muestra la distribución de frecuencias de la cantidad de recorridos hacia el destino mediante la función table, la cual permite identificar cuántas trayectorias de llegada en cada comuna de Cali.

Para asociar las cantidades de trayectorias realizadas en Cali hacia el punto de destino, se procede a realizar un merge con la información anteriormente mencionada:

# Combina el shapefile de comunas con los datos de población
comunas_con_poblacion <- merge(comunas, df5, by.x = "comuna", by.y = "Var1")
comunas_sf <- st_as_sf(comunas_con_poblacion)  # Convertir el objeto SpatialPolygonsDataFrame a sf
comunas_multipolygon <- st_cast(comunas_sf, "MULTIPOLYGON")  # Convertir a formato MULTIPOLYGON
comunas_multipolygon
## Simple feature collection with 22 features and 5 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 860190.2 xmax: 1068492 ymax: 879441.5
## Projected CRS: +proj=tmerc +lat_0=3.441883333 +lon_0=-76.5205625 +k=1 +x_0=1061900.18 +y_0=872364.63 +a=6379137 +rf=298.257222101 +units=m +no_defs
## First 10 features:
##    comuna OBJECTID gid    nombre N_Recorridos_Destino
## 1       2        1 107  Comuna 2                  230
## 2       1        2 108  Comuna 1                  788
## 3       3        3 109  Comuna 3                 4810
## 4      19        4 110 Comuna 19                  662
## 5      15        5 103 Comuna 15                  379
## 6      17        6 104 Comuna 17                  743
## 7      18        7 105 Comuna 18                 2164
## 8      22        8 106 Comuna 22                  515
## 9       6        9  89  Comuna 6                  522
## 10      4       10  90  Comuna 4                 3859
##                          geometry
## 1  MULTIPOLYGON (((1059648 874...
## 2  MULTIPOLYGON (((1054094 875...
## 3  MULTIPOLYGON (((1061757 874...
## 4  MULTIPOLYGON (((1057817 873...
## 5  MULTIPOLYGON (((1065485 869...
## 6  MULTIPOLYGON (((1061675 868...
## 7  MULTIPOLYGON (((1059061 867...
## 8  MULTIPOLYGON (((1059486 864...
## 9  MULTIPOLYGON (((1065143 879...
## 10 MULTIPOLYGON (((1063833 877...
library(dplyr)
mapa_cali_comunas <- comunas_multipolygon %>% 
  select(N_Recorridos_Destino, nombre)  

Dado el valor de las representaciones geográficas para este conjunto de datos, es fundamental crear los mapas pertinentes:

5.1 Comunas y sus trayectorias (Puntos de destino Cali)

library(tmap)
mapa_comunas_Cali <- tm_shape(mapa_cali_comunas) +
  tm_borders() +
  tm_fill(col = "N_Recorridos_Destino", palette = "viridis") +
  tm_text("nombre", size = 0.8)
mapa_comunas_Cali

Basado en los datos proporcionados sobre los recorridos de origen en la ciudad de Cali, se puede realizar un análisis centrado en las comunas de destino de estos trayectos. Al examinar los recorridos hacia diferentes comunas de destino, se observa que algunas comunas destacan por recibir un mayor número de trayectos. Las tres comunas con la mayor cantidad de recorridos de destino son:

  • Comuna 3: Recibe un total de 4810 trayectos.
  • Comuna 20: Con 3158 trayectos registrados.
  • Comuna 4: Presenta 3859 trayectos de destino.

Estas cifras sugieren que estas comunas son destinos populares para los residentes de Cali en sus desplazamientos, lo que puede estar relacionado con la presencia de centros comerciales, instituciones educativas, lugares de trabajo u otras atracciones importantes en estas áreas.

Por otro lado, también es importante identificar las comunas que reciben menos trayectos, ya que esto puede indicar una menor actividad o interés en esas áreas como destinos finales. Las comunas con la menor cantidad de recorridos de destino son:

  • Comuna 13: Recibe solo 246 trayectos.
  • Comuna 6: Con 522 trayectos registrados.
  • Comuna 15: Presenta 37

6. Recorridos de Destino (Cali) en Tipo de transporte Bicicleta

Para identificar los trayectos de destino en Cali que fueron realizados en bicicleta, se realiza un filtro de la información considerando un origen de partida diferente de Fuera de Cali y adicionalmente que el tipo de transporte sea 1 (bicicleta). A continuación, se muestran las líneas de código para contar los trayectos según estas características:

library(dplyr)
destino_bici <- encuestaOD %>% 
  filter(`TIPO DE VEHÍCULO`== 1 & `comuna destino` != "Fuera de Cali")  

df6 = data.frame(table(origen_bici$`comuna destino`))
df6$Var1 = as.numeric(df6$Var1)
colnames(df6) <- c("Var1","N_Recorridos_Destino_Bici")
str(df6)
## 'data.frame':    24 obs. of  2 variables:
##  $ Var1                     : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ N_Recorridos_Destino_Bici: int  42 10 201 172 80 40 32 36 47 59 ...

Anteriormente se muestra la distribución de frecuencias de la cantidad de recorridos de destino (desde el uso de la bicicleta) mediante la función table, la cual permite identificar cuántas trayectorias iniciaron en cada comuna de Cali.

Para asociar las cantidades de trayectorias realizadas en Cali hacia el punto de destino, se procede a realizar un merge con la información anteriormente mencionada:

# Combina el shapefile de comunas con los datos de población
comunas_con_poblacion <- merge(comunas, df6, by.x = "comuna", by.y = "Var1")
comunas_sf <- st_as_sf(comunas_con_poblacion)  # Convertir el objeto SpatialPolygonsDataFrame a sf
comunas_multipolygon <- st_cast(comunas_sf, "MULTIPOLYGON")  # Convertir a formato MULTIPOLYGON
comunas_multipolygon
## Simple feature collection with 22 features and 5 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 860190.2 xmax: 1068492 ymax: 879441.5
## Projected CRS: +proj=tmerc +lat_0=3.441883333 +lon_0=-76.5205625 +k=1 +x_0=1061900.18 +y_0=872364.63 +a=6379137 +rf=298.257222101 +units=m +no_defs
## First 10 features:
##    comuna OBJECTID gid    nombre N_Recorridos_Destino_Bici
## 1       2        1 107  Comuna 2                        10
## 2       1        2 108  Comuna 1                        42
## 3       3        3 109  Comuna 3                       201
## 4      19        4 110 Comuna 19                        29
## 5      15        5 103 Comuna 15                        20
## 6      17        6 104 Comuna 17                        31
## 7      18        7 105 Comuna 18                       101
## 8      22        8 106 Comuna 22                        24
## 9       6        9  89  Comuna 6                        40
## 10      4       10  90  Comuna 4                       172
##                          geometry
## 1  MULTIPOLYGON (((1059648 874...
## 2  MULTIPOLYGON (((1054094 875...
## 3  MULTIPOLYGON (((1061757 874...
## 4  MULTIPOLYGON (((1057817 873...
## 5  MULTIPOLYGON (((1065485 869...
## 6  MULTIPOLYGON (((1061675 868...
## 7  MULTIPOLYGON (((1059061 867...
## 8  MULTIPOLYGON (((1059486 864...
## 9  MULTIPOLYGON (((1065143 879...
## 10 MULTIPOLYGON (((1063833 877...
library(dplyr)
mapa_cali_comunas <- comunas_multipolygon %>% 
  select(N_Recorridos_Destino_Bici, nombre)  

Dado el valor de las representaciones geográficas para este conjunto de datos, es fundamental crear los mapas pertinentes:

6.1 Comunas y sus trayectorias de destino en Cali (Medio de transporte Bicicleta)

library(tmap)
mapa_comunas_Cali <- tm_shape(mapa_cali_comunas) +
  tm_borders() +
  tm_fill(col = "N_Recorridos_Destino_Bici", palette = "viridis") +
  tm_text("nombre", size = 0.8) 
mapa_comunas_Cali

Ahora en relación a los datos proporcionados sobre los recorridos en bicicleta hacia diferentes comunas de destino en la ciudad de Cali, se identifican las comunas más frecuentadas por los ciclistas y aquellas que reciben menos trayectos en bicicleta lacia el lugar de destino. Las tres comunas con la mayor cantidad de recorridos de destino en bicicleta son:

  • Comuna 3: Recibe un total de 201 trayectos en bicicleta.
  • Comuna 20: Con 133 trayectos registrados.
  • Comuna 4: Presenta 172 trayectos en bicicleta de destino.

Estos datos sugieren que estas comunas son destinos populares para los ciclistas en Cali, lo que puede estar relacionado con la presencia de infraestructura ciclista, rutas seguras o atracciones específicas en esas áreas.

Por otro lado, también es importante destacar las comunas que reciben menos trayectos en bicicleta, ya que esto puede indicar áreas con una infraestructura menos favorable para los ciclistas o una menor demanda de viajes en bicicleta. Las comunas con la menor cantidad de recorridos de destino en bicicleta son:

  • Comuna 13: Recibe solo 13 trayectos en bicicleta.
  • Comuna 15: Con 20 trayectos registrados.
  • Comuna 16: Presenta 19 trayectos en bicicleta de destino.

7. Recorridos de Destino (Cali) en Tipo de transporte Moto

Para identificar los trayectos de llegada a destinos realizados en Cali utilizando Moto, se filtra la información considerando que el origen del trayecto no sea Fuera de Cali y que el tipo de transporte sea 2 (Moto). En las siguientes líneas de código se realiza el conteo de trayectos según estas características:

library(dplyr)
destino_moto <- encuestaOD %>% 
  filter(`TIPO DE VEHÍCULO`== 2 & `comuna destino` != "Fuera de Cali")  

df7 = data.frame(table(destino_moto$`comuna destino`))
df7$Var1 = as.numeric(df7$Var1)
colnames(df7) <- c("Var1","N_Recorridos_Destino_Moto")
str(df7)
## 'data.frame':    23 obs. of  2 variables:
##  $ Var1                     : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ N_Recorridos_Destino_Moto: int  390 112 2177 1734 846 215 323 353 470 608 ...

Anteriormente se muestra la distribución de frecuencias de la cantidad de recorridos hacia destinos (utilizando moto) mediante la función table, la cual permite identificar en cada comuna cuántas trayectorias terminan en estas regiones geográficas de Cali.

Para asociar las cantidades de trayectorias realizadas en Cali hacia el punto de llegada o destino, se procede a hacer un merge con la información anteriormente denotada:

# Combina el shapefile de comunas con los datos de población
comunas_con_poblacion <- merge(comunas, df7, by.x = "comuna", by.y = "Var1")
comunas_sf <- st_as_sf(comunas_con_poblacion)  # Convertir el objeto SpatialPolygonsDataFrame a sf
comunas_multipolygon <- st_cast(comunas_sf, "MULTIPOLYGON")  # Convertir a formato MULTIPOLYGON
comunas_multipolygon
## Simple feature collection with 22 features and 5 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 860190.2 xmax: 1068492 ymax: 879441.5
## Projected CRS: +proj=tmerc +lat_0=3.441883333 +lon_0=-76.5205625 +k=1 +x_0=1061900.18 +y_0=872364.63 +a=6379137 +rf=298.257222101 +units=m +no_defs
## First 10 features:
##    comuna OBJECTID gid    nombre N_Recorridos_Destino_Moto
## 1       2        1 107  Comuna 2                       112
## 2       1        2 108  Comuna 1                       390
## 3       3        3 109  Comuna 3                      2177
## 4      19        4 110 Comuna 19                       302
## 5      15        5 103 Comuna 15                       188
## 6      17        6 104 Comuna 17                       327
## 7      18        7 105 Comuna 18                       927
## 8      22        8 106 Comuna 22                       243
## 9       6        9  89  Comuna 6                       215
## 10      4       10  90  Comuna 4                      1734
##                          geometry
## 1  MULTIPOLYGON (((1059648 874...
## 2  MULTIPOLYGON (((1054094 875...
## 3  MULTIPOLYGON (((1061757 874...
## 4  MULTIPOLYGON (((1057817 873...
## 5  MULTIPOLYGON (((1065485 869...
## 6  MULTIPOLYGON (((1061675 868...
## 7  MULTIPOLYGON (((1059061 867...
## 8  MULTIPOLYGON (((1059486 864...
## 9  MULTIPOLYGON (((1065143 879...
## 10 MULTIPOLYGON (((1063833 877...
library(dplyr)
mapa_cali_comunas <- comunas_multipolygon %>% 
  select(N_Recorridos_Destino_Moto, nombre)  

CA continuación se establecen visualizaciones geográficas para este tipo de información, se procede a realizar los mapas correspondientes:

7.1 Comunas y sus trayectorias de destino en Cali (Medio de transporte Moto)

library(tmap)
mapa_comunas_Cali <- tm_shape(mapa_cali_comunas) +
  tm_borders() +
  tm_fill(col = "N_Recorridos_Destino_Moto", palette = "viridis") +
  tm_text("nombre", size = 0.8)
mapa_comunas_Cali

En referencia a trayectos en moto y analizando las comunas de destino en la ciudad de Cali, se identifica que:

  • Comuna 3: Recibe un total de 2177 trayectos en moto.
  • Comuna 20: Con 1421 trayectos registrados.
  • Comuna 4: Presenta 1734 trayectos en moto de destino.

Estos datos sugieren que estas comunas son destinos populares para los motociclistas en Cali, lo que puede estar relacionado con diferentes factores como la densidad de población, la actividad comercial o la accesibilidad vial.

Por otro lado, también es importante destacar las comunas que reciben menos trayectos en moto, ya que esto puede indicar áreas con una menor demanda de viajes en moto o una infraestructura vial menos favorable para este tipo de vehículos. Las comunas con la menor cantidad de recorridos de destino en moto son:

  • Comuna 13: Recibe solo 128 trayectos en moto.
  • Comuna 6: Con 215 trayectos registrados.
  • Comuna 15: Presenta 188 trayectos en moto de destino.

Estas comunas pueden tener una menor actividad comercial o una menor densidad de población

8. Recorridos de Destino (Cali) en Tipo de transporte Autómovil

Para identificar los trayectos realizados en Cali utilizando Auto, se filtra la información considerando que el destino del trayecto no sea Fuera de Cali y que el tipo de transporte sea 3 (Auto). En las siguientes líneas de código se realiza el conteo de trayectos según estas características:

library(dplyr)
origen_auto <- encuestaOD %>% 
  filter(`TIPO DE VEHÍCULO`== 3 & `comuna origen` != "Fuera de Cali")  

df8 = data.frame(table(origen_auto$`comuna origen`))
df8$Var1 = as.numeric(df8$Var1)
colnames(df8) <- c("Var1","N_Recorridos_Destino_Auto")
str(df8)
## 'data.frame':    23 obs. of  2 variables:
##  $ Var1                     : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ N_Recorridos_Destino_Auto: int  317 301 1121 854 551 241 389 283 420 382 ...

Anteriormente se muestra la distribución de frecuencias de la cantidad de recorridos de destino (utilizando Auto) mediante la función table, la cual permite identificar en cada comuna cuántas trayectorias iniciaron en estas regiones geográficas de Cali.

Para asociar las cantidades de trayectorias realizadas en Cali hacia el punto de destino, se procede a hacer un merge con la información anteriormente denotada:

# Combina el shapefile de comunas con los datos de población
comunas_con_poblacion <- merge(comunas, df8, by.x = "comuna", by.y = "Var1")
comunas_sf <- st_as_sf(comunas_con_poblacion)  # Convertir el objeto SpatialPolygonsDataFrame a sf
comunas_multipolygon <- st_cast(comunas_sf, "MULTIPOLYGON")  # Convertir a formato MULTIPOLYGON
comunas_multipolygon
## Simple feature collection with 22 features and 5 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 860190.2 xmax: 1068492 ymax: 879441.5
## Projected CRS: +proj=tmerc +lat_0=3.441883333 +lon_0=-76.5205625 +k=1 +x_0=1061900.18 +y_0=872364.63 +a=6379137 +rf=298.257222101 +units=m +no_defs
## First 10 features:
##    comuna OBJECTID gid    nombre N_Recorridos_Destino_Auto
## 1       2        1 107  Comuna 2                       301
## 2       1        2 108  Comuna 1                       317
## 3       3        3 109  Comuna 3                      1121
## 4      19        4 110 Comuna 19                       559
## 5      15        5 103 Comuna 15                       272
## 6      17        6 104 Comuna 17                       385
## 7      18        7 105 Comuna 18                       899
## 8      22        8 106 Comuna 22                       328
## 9       6        9  89  Comuna 6                       241
## 10      4       10  90  Comuna 4                       854
##                          geometry
## 1  MULTIPOLYGON (((1059648 874...
## 2  MULTIPOLYGON (((1054094 875...
## 3  MULTIPOLYGON (((1061757 874...
## 4  MULTIPOLYGON (((1057817 873...
## 5  MULTIPOLYGON (((1065485 869...
## 6  MULTIPOLYGON (((1061675 868...
## 7  MULTIPOLYGON (((1059061 867...
## 8  MULTIPOLYGON (((1059486 864...
## 9  MULTIPOLYGON (((1065143 879...
## 10 MULTIPOLYGON (((1063833 877...
library(dplyr)
mapa_cali_comunas <- comunas_multipolygon %>% 
  select(N_Recorridos_Destino_Auto, nombre)  

Considerando la importancia de establecer visualizaciones geográficas para este tipo de información, se procede a realizar los mapas correspondientes:

8.1 Comunas y sus trayectorias de destino en Cali (Medio de transporte Automóvil)

library(tmap)
mapa_comunas_Cali <- tm_shape(mapa_cali_comunas) +
  tm_borders() +
  tm_fill(col = "N_Recorridos_Destino_Auto", palette = "viridis") +
  tm_text("nombre", size = 0.8) 
mapa_comunas_Cali

Los recorridos en automóvil en la ciudad de Cali,indican que las comunas más frecuentadas por los conductores a sus lugares de destino son:

  • Comuna 3: Recibe un total de 1121 trayectos en automóvil.
  • Comuna 20: Con 1165 trayectos registrados.
  • Comuna 18: Presenta 899 trayectos en automóvil de destino.

Estos datos indican que estas comunas son destinos populares para los conductores de autos en Cali, lo que puede estar relacionado con factores como la ubicación de áreas comerciales, centros de trabajo u otros puntos de interés.

Por otro lado, también es importante considerar las comunas que reciben menos trayectos en automóvil, ya que esto puede indicar áreas con menor actividad comercial o menor densidad de población, así como posibles limitaciones en la infraestructura vial. Las comunas con la menor cantidad de recorridos de destino en automóvil son:

  • Comuna 13: Recibe solo 123 trayectos en automóvil.
  • Comuna 21: Con 272 trayectos registrados.
  • Comuna 6: Presenta 241 trayectos en automóvil de destino.

Estas comunas pueden tener una menor demanda de viajes en automóvil debido a factores como una menor densidad de población, menos actividad comercial o una infraestructura vial menos favorable.

9. Conclusiones

A partir de los análisis individuales de los distintos tipos de trayectos en la ciudad de Cali, se puede extraer varias conclusiones:

Según las trayectorias de Origen

  1. Distribución de Trayectos: La ciudad de Cali muestra una distribución variada en cuanto a los puntos de origen de los trayectos registrados. Desde áreas densamente pobladas hasta zonas residenciales más tranquilas, la diversidad de puntos de origen refleja la complejidad de la movilidad urbana en la ciudad.

  2. Patrones de Movilidad: Los datos revelan patrones de movilidad distintivos en diferentes comunas de Cali. Comunas como la 3, 20 y 18 emergen como puntos de origen prominentes, sugiriendo una alta actividad de salida, posiblemente asociada con áreas comerciales, centros educativos o lugares de trabajo.

  3. Uso de Medios de Transporte: Se observa una variedad en los medios de transporte utilizados para los trayectos de origen. Mientras que algunas comunas muestran una preferencia por la bicicleta, otras dependen más de vehículos motorizados como motocicletas y automóviles. Esto resalta la importancia de políticas de movilidad inclusivas que aborden las necesidades de diferentes grupos de usuarios.

Según las trayectorias de destino

  1. Conectividad: El análisis de los destinos de los trayectos revela la importancia de una red de transporte bien conectada. Comunas como la 3, 20 y 4, que reciben un gran número de trayectos, probablemente estén bien conectadas a través de vías principales y servicios de transporte público eficientes.

  2. Desigualdades Espaciales: Se observa una disparidad en la distribución de trayectos hacia diferentes comunas, lo que puede reflejar desigualdades en el acceso a oportunidades y servicios.

  3. Patrones de Movilidad: Al analizar los recorridos según las comunas de origen y destino, se identifican patrones claros de movilidad. Por ejemplo, algunas comunas como la 3, 20 y 18 destacan tanto como puntos de origen como de destino para diversos tipos de trayectos, lo que sugiere una alta actividad económica, residencial o comercial en esas áreas.

Conclusiones Generales

  1. Preferencias de Transporte: Los datos muestran que algunas comunas son más propensas a utilizar ciertos medios de transporte. Por ejemplo, la Comuna 3 es popular tanto para trayectos en moto como en automóvil, mientras que la Comuna 20 destaca en trayectos en bicicleta. Estas preferencias pueden estar influenciadas por factores como la infraestructura vial, la accesibilidad y las preferencias individuales de los residentes.Es importante generar políticas o actividades en la población para mejorar el trafico y sobre todo el desplazamiento de las personas.

  2. Desigualdades en la Movilidad: Se observa una disparidad en la cantidad de trayectos entre diferentes comunas. Mientras que algunas comunas registran muchos trayectos, otras tienen cifras significativamente más bajas. Esta disparidad puede deberse a diferencias en la densidad de población, la actividad económica y la infraestructura de transporte en cada comuna. No obstante, es crucial abordar las desigualdades en el acceso a la movilidad urbana para garantizar que todos los ciudadanos de la ciudad de Cali puedan acceder a oportunidades y servicios de manera equitativa.