Actividad #1- Análisis de encuesta origen-destino

Presentado por: Valentina Villa

Objetivo de la actividad

El objetivo de esta actividad es aplicar los conocimientos adquiridos durante el Módulo 1, especialmente en la carga de archivos espaciales tipo shapefile y el análisis de información geográfica como herramienta de apoyo para la toma de decisiones. Para el desarrollo de la actividad se utilizarán dos archivos: un shapefile que contiene los polígonos y la ubicación geográfica de las comunas, y un archivo Excel con los resultados de una encuesta origen-destino, que incluye información sobre los desplazamientos realizados por las personas encuestadas. El resultado esperado es la elaboración de ocho mapas temáticos: dos mapas generales que representen las comunas de origen y destino de los desplazamientos, y seis mapas adicionales que permitan analizar esta información según el medio de transporte utilizado, considerando únicamente bicicleta, motocicleta y automóvil.Para ello, se relacionarán ambos archivos mediante un campo común, con el fin de integrar la información de la encuesta con los datos espaciales y visualizar la distribución de los desplazamientos por comuna.

1. Carga de datos

Inicialmente debemos instalar las librerias raster, rgdal y sp para importar archivos en formato shapefile.

#Librerias a utilizar
require(raster)
## Loading required package: raster
## Loading required package: sp
require(sf)
## Loading required package: sf
## Linking to GEOS 3.13.1, GDAL 3.11.4, PROJ 9.7.0; sf_use_s2() is TRUE
require(sp)
require(readxl)
## Loading required package: readxl

1.1 Carga del shapefile de comunas

Para iniciar el análisis espacial, se importa el archivo shapefile que contiene los límites geográficos de las comunas de la ciudad de Cali. Para ello, se utiliza la función st_read() del paquete sf, indicando la ruta donde se encuentra almacenado el archivo.Una vez cargada la información, se revisan los atributos y las características espaciales del archivo, incluyendo el tipo de geometría y el sistema de referencia de coordenadas (CRS). Posteriormente, se realiza una visualización inicial de los polígonos que representan las comunas.

comunas = st_read("C:/Users/vvill/Documents/Valentina/Maestria_CienciaDatos/Semestre 2/SIG/Casos/Casos/cali/Comunas.shp")
## Reading layer `Comunas' from data source 
##   `C:\Users\vvill\Documents\Valentina\Maestria_CienciaDatos\Semestre 2\SIG\Casos\Casos\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
comunas
## 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
## First 10 features:
##    OBJECTID gid comuna    nombre                       geometry
## 1         1 107      2  Comuna 2 POLYGON ((1059648 874236.3,...
## 2         2 108      1  Comuna 1 POLYGON ((1054094 875172.8,...
## 3         3 109      3  Comuna 3 POLYGON ((1061757 874615.5,...
## 4         4 110     19 Comuna 19 POLYGON ((1057817 873269.4,...
## 5         5 103     15 Comuna 15 POLYGON ((1065485 869864.1,...
## 6         6 104     17 Comuna 17 POLYGON ((1061675 868320.9,...
## 7         7 105     18 Comuna 18 POLYGON ((1059061 867223.6,...
## 8         8 106     22 Comuna 22 POLYGON ((1059486 864976.4,...
## 9         9  89      6  Comuna 6 POLYGON ((1065143 879409.5,...
## 10       10  90      4  Comuna 4 POLYGON ((1063833 877507.1,...
unique(comunas$comuna)
##  [1]  2  1  3 19 15 17 18 22  6  4  5  7  8  9 21 13 12 14 11 10 20 16
class(comunas$comuna)
## [1] "integer"

Según la información obtenida, el shapefile de comunas presenta una geometría de tipo polígono y utiliza el sistema de referencia de coordenadas proyectado MAGNA Colombia Cali. El archivo contiene 22 polígonos que representan las comunas de la ciudad de Cali, cada uno con cuatro atributos asociados:OBJECTID, identificador único de cada registro; gid, identificador numérico de la entidad geográfica;comuna, número que identifica cada comuna; y nombre, denominación de la comuna. Estos atributos permiten identificar y diferenciar las unidades espaciales y facilitarán su posterior relación con la información de la encuesta origen-destino.

Finalmente con la función plot podemos hacer una visualizacion de los 22 polígonos que comprende el este archivo tipo shapefile.

plot(st_geometry(comunas))

Nota: En el material del Módulo 1 se utiliza el paquete rgdal para trabajar con archivos espaciales en formato shapefile. Sin embargo, este paquete fue retirado de CRAN en octubre de 2023 y ya no se encuentra disponible para su instalación convencional en las versiones actuales de R. Por esta razón, en el desarrollo de la actividad se utilizará el paquete sf, que permite importar, visualizar y analizar información espacial mediante funciones como st_read() y st_geometry().

1.2 Carga de la encuesta origen-destino

Para cargar la encuesta origen-destino en formato Excel, se utilizará el paquete readxl, previamente cargado al inicio del documento. Mediante la función read_excel(), se importará el archivo que contiene la información de los desplazamientos de las personas encuestadas, para su posterior análisis.

Encuesta=read_excel("C:/Users/vvill/Documents/Valentina/Maestria_CienciaDatos/Semestre 2/SIG/Casos/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`
Encuesta
## # A tibble: 35,054 × 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     
## # ℹ 35,044 more rows
## # ℹ 23 more variables: `Hora de Encuesta` <dttm>, MUNICIPIO...7 <chr>,
## #   `DEPARTAMENTO / LOCALIDAD  / COMUNA / DISTRITO / BARRIO / VEREDA  / HITO / DIRECCIÓN...8` <chr>,
## #   `Codigo Origen_SDG` <chr>, `¿QUE ESTABA HACIENDO EN ESE LUGAR?` <dbl>,
## #   MUNICIPIO...11 <chr>,
## #   `DEPARTAMENTO / LOCALIDAD  / COMUNA / DISTRITO / BARRIO / VEREDA  / HITO / DIRECCIÓN...12` <chr>,
## #   `Codigo Destino_SDG` <chr>, `¿QUE VA HACER A ESE LUGAR?` <dbl>, …

Una vez cargado el archivo Excel, se relacionará la información de la encuesta origen-destino con el shapefile de comunas mediante un campo común.

Antes de continuar, se realizará un análisis exploratorio de la base de datos Encuesta para identificar posibles valores faltantes, especialmente en las variables de interés: comuna de origen, comuna de destino y tipo de vehículo.

variables <- Encuesta[, c("TIPO DE VEHÍCULO",
                          "comuna origen",
                          "comuna destino")]

summary(variables)
##  TIPO DE VEHÍCULO comuna origen      comuna destino    
##  Min.   : 1.000   Length:35054       Length:35054      
##  1st Qu.: 2.000   Class :character   Class :character  
##  Median : 2.000   Mode  :character   Mode  :character  
##  Mean   : 2.786                                        
##  3rd Qu.: 3.000                                        
##  Max.   :77.000                                        
##  NA's   :115
dim(Encuesta)
## [1] 35054    28

El análisis exploratorio muestra que la base de datos Encuesta contiene 35.054 registros. Las variables de interés, comuna de origen y comuna de destino, no presentan valores faltantes. Por su parte, la variable tipo de vehículo presenta 115 valores faltantes; sin embargo, dado que para el análisis únicamente se considerarán los códigos 1 (bicicleta), 2 (moto) y 3 (automóvil), no será necesario realizar un tratamiento de estos valores, ya que quedarán excluidos al aplicar los filtros. Sin embargo,e identificó que las variables comuna origen y comuna destino están almacenadas como character, mientras que el atributo comuna del shapefile es de tipo integer. Por esta razón, se creará una copia de la encuesta y se convertirán ambas variables a integer, eliminando los ceros a la izquierda. De esta manera, se contará con una base de datos preparada para elaborar los mapas generales y los mapas por tipo de vehículo, sin necesidad de repetir el proceso de limpieza en cada análisis.

# Creamos una copia de la encuesta original
Encuesta_limpia = Encuesta

# Convertimos los códigos de las comunas a integer
Encuesta_limpia$`comuna origen` =as.integer(
  Encuesta_limpia$`comuna origen`
)
## Warning: NAs introduced by coercion
Encuesta_limpia$`comuna destino`= as.integer(
  Encuesta_limpia$`comuna destino`
)
## Warning: NAs introduced by coercion
Encuesta_limpia
## # A tibble: 35,054 × 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     
## # ℹ 35,044 more rows
## # ℹ 23 more variables: `Hora de Encuesta` <dttm>, MUNICIPIO...7 <chr>,
## #   `DEPARTAMENTO / LOCALIDAD  / COMUNA / DISTRITO / BARRIO / VEREDA  / HITO / DIRECCIÓN...8` <chr>,
## #   `Codigo Origen_SDG` <chr>, `¿QUE ESTABA HACIENDO EN ESE LUGAR?` <dbl>,
## #   MUNICIPIO...11 <chr>,
## #   `DEPARTAMENTO / LOCALIDAD  / COMUNA / DISTRITO / BARRIO / VEREDA  / HITO / DIRECCIÓN...12` <chr>,
## #   `Codigo Destino_SDG` <chr>, `¿QUE VA HACER A ESE LUGAR?` <dbl>, …

Durante la conversión de las variables comuna origen y comuna destino a tipo intege`, algunos valores de texto, como Fuera de Cali, fueron transformados en NA, generando una advertencia en R. Por esta razón, se decidió conservar la encuesta original sin aplicar filtros generales, con el fin de mantener la mayor cantidad posible de información. Las categorías que no tienen correspondencia con el shapefile se excluirán únicamente al elaborar cada mapa, según la variable de origen o destino que se esté analizando.

2. Mapas de comunas de origen

Como se mencionó anteriormente, se utilizará la función merge() para unir los polígonos de las comunas de Cali con la cantidad de viajes registrados en la encuesta según su comuna de origen. Sin embargo, antes de realizar esta unión, es necesario contar la cantidad de viajes que se originan en cada comuna.El objetivo es elaborar un mapa que permita visualizar la distribución espacial de los viajes e identificar en qué comunas se origina la mayor cantidad de desplazamientos hacia otros lugares de la ciudad.

#Contamos cuantos viajes se realizaron segun la comuna origen
viajes_origen <- table(Encuesta_limpia$`comuna origen`)

viajes_origen
## 
##    0    1    2    3    4    5    6    7    8    9   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

Una vez obtenido el conteo de viajes por comuna de origen, se convierte el resultado en un data.frame y se asignan nombres a las columnas para facilitar su posterior unión con el shapefile.

viajes_origen= as.data.frame(viajes_origen)

#asiganmos nombres a las columnas
names(viajes_origen) <- c("comuna", "total_viajes")

viajes_origen
##    comuna total_viajes
## 1       0          672
## 2       1          794
## 3       2         2968
## 4       3         2121
## 5       4         1493
## 6       5          664
## 7       6          998
## 8       7          734
## 9       8         1124
## 10      9          952
## 11     10         1401
## 12     11          925
## 13     12          348
## 14     13         1238
## 15     14          685
## 16     15         1171
## 17     16          993
## 18     17         2377
## 19     18         1536
## 20     19         2850
## 21     20          733
## 22     21          818
## 23     22         1153

2.1 Mapa general

Como se mencionó anteriormente, se utilizará la función merge() para unir los polígonos de las comunas de Cali con la cantidad de viajes registrados en la encuesta según su comuna de origen. El objetivo es elaborar un mapa que permita visualizar la distribución espacial de los viajes e identificar en qué comunas se origina la mayor cantidad de desplazamientos hacia otros lugares de la ciudad.

mapa_origen= merge(comunas,viajes_origen,by='comuna',all.x = TRUE)
plot(mapa_origen["total_viajes"], main="Total de viajes por comuna origen - Cali", reset= FALSE)

#agregamos el numero a cada comuna para facilitar la lectura
centros <- st_point_on_surface(st_geometry(mapa_origen))

text(
  st_coordinates(centros),
  labels = mapa_origen$comuna,
  col = "black",
  cex = 0.8
)

Al analizar el mapa general de viajes por comuna de origen, no se identifica un patrón geográfico claramente definido que indique una mayor concentración de desplazamientos en el norte, sur, este u oeste de la ciudad. Sin embargo, se observa que las comunas ubicadas hacia el este de Cali presentan, en general, una menor cantidad de viajes en comparación con las del oeste. Adicionalmente, se destaca que tres de las cuatro comunas con los valores más altos de viajes, representadas en tonos amarillos y naranjas, se encuentran ubicadas hacia el noroccidente de la ciudad. Esto sugiere una mayor concentración de viajes de origen en esta zona, aunque no se evidencia una tendencia espacial uniforme en toda Cali.

2.2 Bicicleta

En este apartado se analizará la cantidad de viajes en bicicleta que se originan en las diferentes comunas de Cali. Para ello, se filtrarán los registros de la encuesta correspondientes a este medio de transporte y se elaborará un mapa que permita identificar las comunas con mayor y menor número de desplazamientos.

#Filtramos con subset el tipo de vehiculo=1 correpsondiente a bicicleta
Encuesta_bicicleta= subset(Encuesta_limpia,`TIPO DE VEHÍCULO`==1)
Encuesta_bicicleta
## # A tibble: 1,731 × 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 SUR    MOV 2     
## 10 2015-06-01 00:00:00             1 Avenida 6N X Calle 70N SUR    MOV 2     
## # ℹ 1,721 more rows
## # ℹ 23 more variables: `Hora de Encuesta` <dttm>, MUNICIPIO...7 <chr>,
## #   `DEPARTAMENTO / LOCALIDAD  / COMUNA / DISTRITO / BARRIO / VEREDA  / HITO / DIRECCIÓN...8` <chr>,
## #   `Codigo Origen_SDG` <chr>, `¿QUE ESTABA HACIENDO EN ESE LUGAR?` <dbl>,
## #   MUNICIPIO...11 <chr>,
## #   `DEPARTAMENTO / LOCALIDAD  / COMUNA / DISTRITO / BARRIO / VEREDA  / HITO / DIRECCIÓN...12` <chr>,
## #   `Codigo Destino_SDG` <chr>, `¿QUE VA HACER A ESE LUGAR?` <dbl>, …
#Contamos cuantos viajes se realizaron segun la comuna origen y en bicicleta
viajes_bici_origen=table(Encuesta_bicicleta$`comuna origen`)

viajes_bici_origen
## 
##   0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19 
##  43  36 159  99  74  38  44  35  52  53  82  52  14  76  37  70  73 141 111 141 
##  20  21  22 
##  46  44  55
#Creamos un dataframe para viajes origen en bicicleta
viajes_bici_origen= as.data.frame(viajes_bici_origen)

#asiganmos nombres a las columnas
names(viajes_bici_origen) <- c("comuna", "total_viajes")

viajes_bici_origen
##    comuna total_viajes
## 1       0           43
## 2       1           36
## 3       2          159
## 4       3           99
## 5       4           74
## 6       5           38
## 7       6           44
## 8       7           35
## 9       8           52
## 10      9           53
## 11     10           82
## 12     11           52
## 13     12           14
## 14     13           76
## 15     14           37
## 16     15           70
## 17     16           73
## 18     17          141
## 19     18          111
## 20     19          141
## 21     20           46
## 22     21           44
## 23     22           55

Al igual que en el mapa general de origen, se utilizará la función merge() para unir los polígonos de las comunas de Cali con la información de los viajes. Sin embargo, en este caso se utilizará el data.frame viajes_bici_origen, que contiene el conteo de viajes por comuna de origen, considerando únicamente los desplazamientos realizados en bicicleta.

mapa_origen_bici= merge(comunas,viajes_bici_origen,by='comuna',all.x = TRUE)
plot(mapa_origen_bici["total_viajes"],main= "Viajes en bicicleta por comuna de origen - Cali", reset= FALSE)

#agregamos el numero a cada comuna para facilitar la lectura
centros <- st_point_on_surface(st_geometry(mapa_origen_bici))

text(
  st_coordinates(centros),
  labels = mapa_origen_bici$comuna,
  col = "black",
  cex = 0.8
)

Al analizar el mapa de viajes en bicicleta por comuna de origen, se observa un comportamiento similar al identificado en el mapa general. Las comunas que presentan una mayor cantidad de desplazamientos en bicicleta coinciden, en gran medida, con aquellas que registraron los valores más altos en el análisis general. En particular, las comunas 2, 17 y 19, ubicadas en el occidente de Cali, presentan los mayores valores de viajes en bicicleta. Por el contrario, las comunas situadas hacia el oriente de la ciudad registran, en general, una menor cantidad de desplazamientos.Esto evidencia una distribución espacial similar entre los viajes en bicicleta y el total de viajes por comuna de origen.

2.3 Motocicleta

Al igual que en el apartado de bicicletas, se analizará la cantidad de viajes en motocicleta que se originan en las diferentes comunas de Cali. Para ello, se filtrará la base de datos Encuesta_limpia, seleccionando únicamente los registros donde TIPO DE VEHÍCULO == 2, código correspondiente a este medio de transporte. Posteriormente, se elaborará un mapa que permita identificar la distribución espacial de los viajes en motocicleta y las comunas con mayor y menor cantidad de desplazamientos.

#Filtramos con subset el tipo de vehiculo=2 correspondiente a motocicleta

Encuesta_moto= subset(Encuesta_limpia,`TIPO DE VEHÍCULO`==2)
Encuesta_moto
## # A tibble: 16,077 × 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     
## # ℹ 16,067 more rows
## # ℹ 23 more variables: `Hora de Encuesta` <dttm>, MUNICIPIO...7 <chr>,
## #   `DEPARTAMENTO / LOCALIDAD  / COMUNA / DISTRITO / BARRIO / VEREDA  / HITO / DIRECCIÓN...8` <chr>,
## #   `Codigo Origen_SDG` <chr>, `¿QUE ESTABA HACIENDO EN ESE LUGAR?` <dbl>,
## #   MUNICIPIO...11 <chr>,
## #   `DEPARTAMENTO / LOCALIDAD  / COMUNA / DISTRITO / BARRIO / VEREDA  / HITO / DIRECCIÓN...12` <chr>,
## #   `Codigo Destino_SDG` <chr>, `¿QUE VA HACER A ESE LUGAR?` <dbl>, …
#Contamos cuantos viajes se realizaron segun la comuna origen y en moto
viajes_moto_origen=table(Encuesta_moto$`comuna origen`)

viajes_moto_origen
## 
##    0    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15 
##  259  375 1414  970  720  319  473  350  552  413  675  431  176  554  310  536 
##   16   17   18   19   20   21   22 
##  450 1136  746 1280  339  378  515
#Creamos un dataframe para viajes origen en motocicleta
viajes_moto_origen= as.data.frame(viajes_moto_origen)

#asiganmos nombres a las columnas
names(viajes_moto_origen) <- c("comuna", "total_viajes")

viajes_moto_origen
##    comuna total_viajes
## 1       0          259
## 2       1          375
## 3       2         1414
## 4       3          970
## 5       4          720
## 6       5          319
## 7       6          473
## 8       7          350
## 9       8          552
## 10      9          413
## 11     10          675
## 12     11          431
## 13     12          176
## 14     13          554
## 15     14          310
## 16     15          536
## 17     16          450
## 18     17         1136
## 19     18          746
## 20     19         1280
## 21     20          339
## 22     21          378
## 23     22          515

Nuevamente se utiliza la función merge() para unir los polígonos de las comunas de Cali con la información de los viajes realizados en esta caso en motocicleta, utilizando el data.frame viajes_moto_origen, que contiene el conteo de viajes por comuna de origen, considerando únicamente los desplazamientos realizados en motocicleta.

mapa_origen_moto= merge(comunas,viajes_moto_origen,by='comuna',all.x = TRUE)
plot(mapa_origen_moto["total_viajes"],main= "Viajes en motocicleta por comuna de origen - Cali", reset= FALSE)

#agregamos el numero a cada comuna para facilitar la lectura
centros <- st_point_on_surface(st_geometry(mapa_origen_moto))

text(
  st_coordinates(centros),
  labels = mapa_origen_moto$comuna,
  col = "black",
  cex = 0.8
)

Al analizar el mapa de viajes en motocicleta por comuna de origen, se observa un aumento considerable en la cantidad de desplazamientos en comparación con los realizados en bicicleta. Mientras que en el mapa de bicicletas los valores máximos se encuentran alrededor de 160 viajes, en el de motocicletas superan los 1400 viajes. A pesar de esta diferencia, se mantiene un comportamiento espacial similar, con una mayor concentración de viajes en las comunas 2, 17 y 19, ubicadas hacia el norte y occidente de Cali. Por el contrario, las comunas situadas hacia el oriente presentan, en general, una menor cantidad de desplazamientos en motocicleta. Estos resultados muestran que, aunque la cantidad de viajes varía considerablemente entre ambos medios de transporte, su distribución espacial por comuna de origen presenta algunas similitudes.

2.4 Automóvil

De manera similar, se examinará la distribución espacial de los viajes en automóvil que se originan en las diferentes comunas de Cali. Para ello, se filtrará la base de datos Encuesta_limpia, seleccionando únicamente los registros donde TIPO DE VEHÍCULO == 3, código correspondiente a este medio de transporte. Posteriormente, se elaborará un mapa que permita identificar las comunas con mayor y menor cantidad de viajes en automóvil, así como su distribución espacial dentro de la ciudad.

#Filtramos con subset el tipo de vehiculo=3 correpsondiente a carro
Encuesta_auto= subset(Encuesta_limpia,`TIPO DE VEHÍCULO`==3)
Encuesta_auto
## # A tibble: 14,100 × 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     
## # ℹ 14,090 more rows
## # ℹ 23 more variables: `Hora de Encuesta` <dttm>, MUNICIPIO...7 <chr>,
## #   `DEPARTAMENTO / LOCALIDAD  / COMUNA / DISTRITO / BARRIO / VEREDA  / HITO / DIRECCIÓN...8` <chr>,
## #   `Codigo Origen_SDG` <chr>, `¿QUE ESTABA HACIENDO EN ESE LUGAR?` <dbl>,
## #   MUNICIPIO...11 <chr>,
## #   `DEPARTAMENTO / LOCALIDAD  / COMUNA / DISTRITO / BARRIO / VEREDA  / HITO / DIRECCIÓN...12` <chr>,
## #   `Codigo Destino_SDG` <chr>, `¿QUE VA HACER A ESE LUGAR?` <dbl>, …
#Contamos cuantos viajes se realizaron segun la comuna origen y en automovil
viajes_auto_origen=table(Encuesta_auto$`comuna origen`)

viajes_auto_origen
## 
##    0    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15 
##  317  301 1121  854  551  241  389  283  420  382  529  361  123  486  272  456 
##   16   17   18   19   20   21   22 
##  385  899  559 1165  272  328  489
#Creamos un dataframe para viajes origen en bicicleta
viajes_auto_origen= as.data.frame(viajes_auto_origen)

#asiganmos nombres a las columnas
names(viajes_auto_origen) <- c("comuna", "total_viajes")

viajes_auto_origen
##    comuna total_viajes
## 1       0          317
## 2       1          301
## 3       2         1121
## 4       3          854
## 5       4          551
## 6       5          241
## 7       6          389
## 8       7          283
## 9       8          420
## 10      9          382
## 11     10          529
## 12     11          361
## 13     12          123
## 14     13          486
## 15     14          272
## 16     15          456
## 17     16          385
## 18     17          899
## 19     18          559
## 20     19         1165
## 21     20          272
## 22     21          328
## 23     22          489

Haciendo uso de la función merge() unimos los polígonos de las comunas de Cali con la información de los viajes realizados en esta caso en auto, utilizando el data.frame viajes_auto_origen, que contiene el conteo de viajes por comuna de origen, considerando únicamente los desplazamientos realizados en automóvil.

mapa_origen_auto= merge(comunas,viajes_auto_origen,by='comuna',all.x = TRUE)
plot(mapa_origen_auto["total_viajes"],main= "Viajes en automóvil por comuna de origen - Cali", reset= FALSE)

#agregamos el numero a cada comuna para facilitar la lectura
centros <- st_point_on_surface(st_geometry(mapa_origen_auto))

text(
  st_coordinates(centros),
  labels = mapa_origen_auto$comuna,
  col = "black",
  cex = 0.8
)

Al analizar el mapa de viajes en automóvil por comuna de origen, se observa una tendencia espacial similar a la identificada en los mapas anteriores. Las comunas 2, 3, 17 y 19, ubicadas principalmente hacia el costado occidental de Cali, presentan una mayor cantidad de desplazamientos, mientras que las comunas situadas hacia el oriente registran, en general, valores más bajos. En cuanto a la cantidad de viajes, se observa que los desplazamientos en automóvil son más numerosos que los realizados en bicicleta, pero inferiores a los registrados en motocicleta. Esto sugiere que, entre los tres medios de transporte analizados, la motocicleta es el más utilizado por las personas encuestadas para desplazarse desde sus comunas de origen hacia sus destinos.

3. Mapas de comunas de destino

El procedimiento para elaborar el mapa general de viajes por comuna de destino será similar al utilizado para las comunas de origen. Se empleará nuevamente la función merge() para relacionar los polígonos del shapefile con la cantidad de viajes registrados en cada comuna de destino. Sin embargo, antes de realizar esta unión, es necesario contar los viajes según la comuna de destino.

#Contamos cuantos viajes se realizaron segun la comuna destino
viajes_destino <- table(Encuesta_limpia$`comuna destino`)

viajes_destino
## 
##    0    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15 
##  788  230 4810 3859 1856  522  716  748 1025 1279  927  564  246  673  379  579 
##   16   17   18   19   20   21   22 
##  743 2164  662 3158  351  515 1860

Convertimos el conteo en un data.frame asignandole nombres a las columnas para facilitar el merge con el shapefile de comunas.

viajes_destino= as.data.frame(viajes_destino)

#asiganmos nombres a las columnas
names(viajes_destino) <- c("comuna", "total_viajes")

viajes_destino
##    comuna total_viajes
## 1       0          788
## 2       1          230
## 3       2         4810
## 4       3         3859
## 5       4         1856
## 6       5          522
## 7       6          716
## 8       7          748
## 9       8         1025
## 10      9         1279
## 11     10          927
## 12     11          564
## 13     12          246
## 14     13          673
## 15     14          379
## 16     15          579
## 17     16          743
## 18     17         2164
## 19     18          662
## 20     19         3158
## 21     20          351
## 22     21          515
## 23     22         1860

Como se mencionó anteriormente, se utilizará la función merge() para unir los polígonos de las comunas de Cali con la cantidad de viajes registrados en la encuesta según su comuna de destino. A partir de esta unión, se elaborará un mapa que permita visualizar la distribución espacial de los viajes e identificar las comunas que reciben una mayor y menor cantidad de desplazamientos.

mapa_destino= merge(comunas,viajes_destino,by='comuna',all.x = TRUE)
plot(mapa_destino["total_viajes"], main="Total de viajes por comuna destino - Cali", reset= FALSE)

#agregamos el numero a cada comuna para facilitar la lectura
centros <- st_point_on_surface(st_geometry(mapa_destino))

text(
  st_coordinates(centros),
  labels = mapa_destino$comuna,
  col = "black",
  cex = 0.8
)

Al comparar los mapas de origen y destino, se observa un comportamiento similar, donde las comunas 2, 3, 17 y 19 tienden a concentrar una mayor cantidad de viajes. Sin embargo, hay algunas diferencias: las comunas 2, 3 y 19 destacan por recibir más viajes, mientras que la comuna 17 presenta una cantidad importante de viajes de origen. Esta tendencia podría estar relacionada con las características de estas zonas. P or ejemplo, las comunas 2 y 3 tienen una alta presencia de comercio, oficinas y empresas, mientras que las comunas 17 y 19 cuentan con zonas residenciales, universidades, hospitales y centros comerciales. Por otro lado, varias comunas del oriente de Cali registran menos viajes, tanto de origen como de destino. En general, los mapas muestran que los desplazamientos no se distribuyen de manera uniforme por la ciudad, sino que se concentran más en algunas comunas. Aunque las actividades presentes en estas zonas podrían ayudar a explicar este comportamiento, con los mapas solo podemos identificar estas tendencias, sin asegurar cuáles son sus causas.

3.1 Bicicleta

En este apartado se analizará la cantidad de viajes en bicicleta según su comuna de destino en Cali. Para ello, se seguirá la misma metodología utilizada en el análisis de los viajes en bicicleta por comuna de origen, pero esta vez se tendrán en cuenta las comunas de destino. Se contará la cantidad de viajes que llegan a cada comuna y se elaborará un mapa para visualizar su distribución e identificar cuáles reciben más y menos desplazamientos en bicicleta.

En este caso, no es necesario volver a filtrar Encuesta_limpia, ya que contamos con el objeto Encuesta_bicicleta , que contiene los registros de los viajes realizados en este medio de transporte. Por lo tanto, solo debemos contar cuántos viajes en bicicleta tienen como destino cada una de las comunas de Cali.

#Contamos cuantos viajes se realizaron segun la comuna destino y en bicicleta
viajes_bici_destino=table(Encuesta_bicicleta$`comuna destino`)

viajes_bici_destino
## 
##   0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19 
##  46  12 218 189  85  41  34  41  54  65  43  29  15  33  22  20  35 115  31 147 
##  20  21  22 
##  25  26 100
#Creamos un dataframe para viajes destino en bicicleta
viajes_bici_destino= as.data.frame(viajes_bici_destino)

#asiganmos nombres a las columnas
names(viajes_bici_destino) <- c("comuna", "total_viajes")

viajes_bici_destino
##    comuna total_viajes
## 1       0           46
## 2       1           12
## 3       2          218
## 4       3          189
## 5       4           85
## 6       5           41
## 7       6           34
## 8       7           41
## 9       8           54
## 10      9           65
## 11     10           43
## 12     11           29
## 13     12           15
## 14     13           33
## 15     14           22
## 16     15           20
## 17     16           35
## 18     17          115
## 19     18           31
## 20     19          147
## 21     20           25
## 22     21           26
## 23     22          100

Siguiendo la misma metodología utilizada anteriormente, emplearemos la función merge() para unir los polígonos de las comunas de Cali con la cantidad de viajes en bicicleta que tienen como destino cada comuna. Esto permitirá representar los resultados en un mapa y observar cómo se distribuyen estos desplazamientos en la ciudad.

mapa_destino_bici= merge(comunas,viajes_bici_destino,by='comuna',all.x = TRUE)
plot(mapa_destino_bici["total_viajes"],main= "Viajes en bicicleta por comuna destino - Cali", reset= FALSE)

#agregamos el numero a cada comuna para facilitar la lectura
centros <- st_point_on_surface(st_geometry(mapa_destino_bici))

text(
  st_coordinates(centros),
  labels = mapa_destino_bici$comuna,
  col = "black",
  cex = 0.8
)

En el mapa de viajes en bicicleta por comuna de destino, se observa que la comuna 2 recibe la mayor cantidad de desplazamientos, con más de 200 viajes. Le siguen las comunas 3 y 19, con valores aproximados entre 150 y 200 viajes, mientras que la comuna 17 también presenta una cantidad importante. Por el contrario, varias comunas del oriente de Cali registran menos viajes en bicicleta, especialmente las comunas 13, 14, 15 y 21.

Para analizar mejor las diferencias y similitudes entre los viajes en bicicleta según su comuna de origen y destino, a continuación se presentan ambos mapas en una misma visualización. Esto permitirá comparar la cantidad de desplazamientos que salen y llegan a cada comuna de Cali, identificar las principales tendencias y sacar conclusiones sobre su distribución espacial.

Al comparar los mapas de origen y destino de los viajes en bicicleta, se observa un comportamiento bastante similar, con una mayor concentración de desplazamientos hacia el occidente de Cali. Las comunas 2, 19 y 17 continúan destacándose por registrar cantidades altas de viajes, tanto de origen como de destino. Por otro lado, varias comunas del oriente de la ciudad mantienen valores bajos en ambos mapas. Sin embargo, se observan algunas diferencias en las comunas 13, 15 y 16, donde se registra una mayor cantidad de viajes de origen que de destino. Esto indica que, según los datos de la encuesta, desde estas comunas salen más desplazamientos en bicicleta de los que llegan.En general, aunque los dos mapas presentan una distribución espacial parecida, se pueden identificar diferencias en la cantidad de viajes que salen y llegan a determinadas comunas.

3.2 Motocicleta

En la sección 2 se realizó un filtro de la base de datos Encuesta_limpia para seleccionar únicamente los viajes realizados en motocicleta, creando el objeto Encuesta_moto. En este apartado utilizaremos ese mismo objeto, pero esta vez para contar la cantidad de viajes según su comuna de destino. Como se ha venido trabajando, el resultado se convertirá en un data.frame y posteriormente se utilizará la función merge() para unir esta información con los polígonos de las comunas de Cali.

Finalmente, se elaborará un mapa que permita visualizar la cantidad de viajes en motocicleta que llegan a cada comuna e identificar las zonas con mayor y menor número de desplazamientos.

#Contamos cuantos viajes se realizaron segun la comuna destino y en moto
viajes_moto_destino=table(Encuesta_moto$`comuna destino`)

viajes_moto_destino
## 
##    0    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15 
##  390  112 2177 1734  846  215  323  353  470  608  419  254  128  346  188  271 
##   16   17   18   19   20   21   22 
##  327  927  302 1421  151  243  911
#Creamos un dataframe para viajesdestino en moto
viajes_moto_destino= as.data.frame(viajes_moto_destino)

#asiganmos nombres a las columnas
names(viajes_moto_destino) <- c("comuna", "total_viajes")

viajes_moto_destino
##    comuna total_viajes
## 1       0          390
## 2       1          112
## 3       2         2177
## 4       3         1734
## 5       4          846
## 6       5          215
## 7       6          323
## 8       7          353
## 9       8          470
## 10      9          608
## 11     10          419
## 12     11          254
## 13     12          128
## 14     13          346
## 15     14          188
## 16     15          271
## 17     16          327
## 18     17          927
## 19     18          302
## 20     19         1421
## 21     20          151
## 22     21          243
## 23     22          911
#uso de la funcion merge para la generación de mapa: shapefile comunas + viajes moto comuna destino
mapa_destino_moto= merge(comunas,viajes_moto_destino,by='comuna',all.x = TRUE)
plot(mapa_destino_moto["total_viajes"],main= "Viajes en motocicleta por comuna destino - Cali", reset= FALSE)

#agregamos el numero a cada comuna para facilitar la lectura
centros <- st_point_on_surface(st_geometry(mapa_destino_moto))

text(
  st_coordinates(centros),
  labels = mapa_destino_moto$comuna,
  col = "black",
  cex = 0.8
)

En general, el mapa muestra que los viajes en motocicleta se concentran principalmente hacia el noroccidente de Cali, aunque también se observan valores altos en algunas comunas del suroccidente. Las comunas 2, 3 y 19 destacan por recibir la mayor cantidad de desplazamientos, con 2177, 1734 y 1421 viajes, respectivamente.Por otro lado, varias comunas del oriente de la ciudad presentan valores más bajos, manteniendo una tendencia similar a la observada en los mapas anteriores. Esto muestra que los viajes en motocicleta no se distribuyen de manera uniforme entre las comunas de Cali.

A continuación, se presentan los mapas de viajes en motocicleta por comuna de origen y destino, teniendo en cuenta la cantidad de desplazamientos registrados en la encuesta. Se utilizó la misma escala de colores en ambos mapas para facilitar la comparación e identificar las diferencias y similitudes en la distribución de los viajes.

Al comparar los mapas de viajes en motocicleta por comuna de origen y destino, se observan las siguientes tendencias: 1.Comunas del oriente: Se mantiene la tendencia de registrar cantidades relativamente bajas de desplazamientos, tanto de origen como de destino. En general, los valores no superan los 750 viajes por comuna. 2. Zonas del extremo sur y occidente: Algunas comunas presentan cantidades similares de viajes de origen y destino. Sin embargo, los valores varían entre ellas, por lo que no todas registran menos de 100 desplazamientos. 3. Comunas 2 y 3: Ambas presentan una cantidad importante de viajes, tanto de origen como de destino. Sin embargo, se observa que reciben más desplazamientos de los que se originan en ellas. Esta diferencia podría estar relacionada con la presencia de zonas comerciales, oficinas y servicios, además de que la comuna 3 comprende parte del centro de Cali. Estas características podrían contribuir a que sean destinos frecuentes de desplazamientos. 4. Comuna 17: A diferencia de las comunas 2 y 3, presenta una mayor cantidad de viajes de origen que de destino. Una posible explicación es su carácter residencial, ya que desde esta comuna podrían generarse desplazamientos hacia otras zonas de la ciudad. Sin embargo, esta relación no se puede confirmar únicamente con los mapas. 5. Comuna 19: Se observa una cantidad elevada de viajes tanto de origen como de destino, con valores bastante similares. Esto muestra que la comuna tiene una participación importante en los desplazamientos en motocicleta en ambos sentidos. En general, los dos mapas muestran una distribución espacial parecida, con una mayor concentración de viajes en las comunas del norte, centro y occidente de Cali. No obstante, al compararlos se identifican diferencias entre las comunas que generan más desplazamientos y aquellas que reciben una mayor cantidad de viajes.

3.3 Automóvil

En este apartado se analizará la cantidad de viajes en automóvil según su comuna de destino en Cali. Para ello, se utilizará el objeto Encuesta_auto, creado anteriormente al filtrar los registros correspondientes a este tipo de vehículo. Se seguirá la misma metodología utilizada en los mapas anteriores: contar los viajes que llegan a cada comuna, organizar los resultados en un data.frame y unirlos con los polígonos mediante la función merge(). Finalmente, se elaborará un mapa para visualizar la distribución de estos desplazamientos e identificar las comunas que reciben una mayor y menor cantidad de viajes en automóvil.

#Contamos cuantos viajes se realizaron segun la comuna destino y en automovil
viajes_auto_destino=table(Encuesta_auto$`comuna destino`)

viajes_auto_destino
## 
##    0    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15 
##  280   86 2006 1557  757  225  275  286  403  489  384  239   85  226  138  245 
##   16   17   18   19   20   21   22 
##  321  959  276 1302  144  198  694
#Creamos un dataframe para viajes origen en bicicleta
viajes_auto_destino= as.data.frame(viajes_auto_destino)

#asiganmos nombres a las columnas
names(viajes_auto_destino) <- c("comuna", "total_viajes")

viajes_auto_destino
##    comuna total_viajes
## 1       0          280
## 2       1           86
## 3       2         2006
## 4       3         1557
## 5       4          757
## 6       5          225
## 7       6          275
## 8       7          286
## 9       8          403
## 10      9          489
## 11     10          384
## 12     11          239
## 13     12           85
## 14     13          226
## 15     14          138
## 16     15          245
## 17     16          321
## 18     17          959
## 19     18          276
## 20     19         1302
## 21     20          144
## 22     21          198
## 23     22          694

Haciendo uso de la función merge() unimos los polígonos de las comunas de Cali con la información de los viajes realizados en esta caso en auto, utilizando el data.frame viajes_auto_desitno, que contiene el conteo de viajes por comuna destino, considerando únicamente los desplazamientos realizados en automóvil.

mapa_destino_auto= merge(comunas,viajes_auto_destino,by='comuna',all.x = TRUE)
plot(mapa_destino_auto["total_viajes"],main= "Viajes en automóvil por comuna de destino - Cali", reset= FALSE)

#agregamos el numero a cada comuna para facilitar la lectura
centros <- st_point_on_surface(st_geometry(mapa_destino_auto))

text(
  st_coordinates(centros),
  labels = mapa_destino_auto$comuna,
  col = "black",
  cex = 0.8
)

La tendencia observada en los mapas anteriores se mantiene para los viajes en automóvil. Las comunas ubicadas hacia el norte y occidente de Cali, especialmente la 2, 3 y 19, registran una mayor cantidad de desplazamientos de destino. Por el contrario, varias comunas del oriente de la ciudad presentan valores más bajos. Al igual que en los análisis anteriores, a continuación se presentan los mapas de viajes en automóvil por comuna de origen y destino, utilizando la misma escala de colores para facilitar la comparación e identificar las diferencias y similitudes entre ambos.

Al comparar los mapas de viajes en automóvil por comuna de origen y destino, se identifican las siguientes tendencias: 1. Comunas 19 y 17: Continúan presentando una cantidad importante de desplazamientos, tanto de origen como de destino. En ambos mapas se observan valores similares, lo que indica que estas comunas mantienen una participación importante en los viajes en automóvil. 2. Comunas 2 y 3: Se observa un aumento considerable en la cantidad de viajes que llegan a estas comunas en comparación con los que se originan en ellas. Esto podría estar relacionado con la presencia del centro de la ciudad, zonas comerciales, oficinas y diferentes servicios, que pueden atraer desplazamientos de trabajadores, visitantes y otras personas desde diferentes sectores de Cali. 3. Comunas del oriente: No se observan cambios significativos entre los mapas de origen y destino. Estas comunas mantienen valores relativamente bajos de desplazamientos en automóvil, siguiendo la misma tendencia identificada en los mapas anteriores.

En general, los viajes en automóvil mantienen una distribución espacial similar a la observada para los otros medios de transporte, destacándose las comunas del norte y occidente de Cali. Sin embargo, las comunas 2 y 3 presentan una diferencia importante entre los viajes de origen y destino, al recibir una mayor cantidad de desplazamientos.

Conclusiones generales

  1. De acuerdo con los resultados obtenidos, la motocicleta fue el medio de transporte que registró la mayor cantidad de desplazamientos entre los tres tipos de vehículos analizados: bicicleta, motocicleta y automóvil.
  2. Se identificó una tendencia general en las comunas 2, 3, 17 y 19, que registraron las mayores cantidades de viajes, tanto de origen como de destino. En estas zonas se encuentran el centro de Cali, universidades, centros comerciales, hospitales y diferentes servicios. Por lo tanto, es posible que estas actividades estén relacionadas con la concentración de desplazamientos hacia y desde estas comunas.
  3. Una tendencia que se repitió en los tres tipos de vehículos analizados fue la menor cantidad de desplazamientos registrados en varias comunas del oriente de la ciudad. Al consultar información sobre esta zona, se encontró que presenta una alta concentración de población y condiciones de desigualdad socioeconómica. Una posible explicación es que parte de las personas que viven o se desplazan hacia estos sectores utilicen otros medios de transporte, como el transporte público o los desplazamientos a pie. Sin embargo, esto no se puede confirmar únicamente con los resultados obtenidos.
  4. Sería interesante incluir otros medios de transporte y relacionarlos con las características socioeconómicas de las comunas, especialmente el estrato socioeconómico. Esto permitiría comprender mejor las diferencias en los patrones de movilidad de Cali y evaluar si existe alguna relación entre las condiciones socioeconómicas de la población y el tipo de transporte utilizado.