Cargar datos

library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3
datos <- read_excel("Casos/EncuestaOrigenDestino.xlsx")
## Warning: Coercing numeric to date in A2058 / R2058C1
## Warning: Coercing numeric to date in F2058 / R2058C6
## Warning: Coercing numeric to date in A2059 / R2059C1
## Warning: Coercing numeric to date in F2059 / R2059C6
## Warning: Coercing numeric to date in A2060 / R2060C1
## Warning: Coercing numeric to date in F2060 / R2060C6
## Warning: Coercing numeric to date in A2061 / R2061C1
## Warning: Coercing numeric to date in F2061 / R2061C6
## Warning: Coercing numeric to date in A2062 / R2062C1
## Warning: Coercing numeric to date in F2062 / R2062C6
## Warning: Coercing numeric to date in A2063 / R2063C1
## Warning: Coercing numeric to date in F2063 / R2063C6
## Warning: Coercing numeric to date in A2064 / R2064C1
## Warning: Coercing numeric to date in F2064 / R2064C6
## Warning: Coercing numeric to date in A2065 / R2065C1
## Warning: Coercing numeric to date in F2065 / R2065C6
## Warning: Coercing numeric to date in A2066 / R2066C1
## Warning: Coercing numeric to date in F2066 / R2066C6
## Warning: Coercing numeric to date in A2067 / R2067C1
## Warning: Coercing numeric to date in F2067 / R2067C6
## Warning: Coercing numeric to date in A2068 / R2068C1
## Warning: Coercing numeric to date in F2068 / R2068C6
## Warning: Coercing numeric to date in A2069 / R2069C1
## Warning: Coercing numeric to date in F2069 / R2069C6
## Warning: Coercing numeric to date in A2070 / R2070C1
## Warning: Coercing numeric to date in F2070 / R2070C6
## Warning: Coercing numeric to date in A2071 / R2071C1
## Warning: Coercing numeric to date in F2071 / R2071C6
## Warning: Coercing numeric to date in A2072 / R2072C1
## Warning: Coercing numeric to date in F2072 / R2072C6
## Warning: Coercing numeric to date in A2073 / R2073C1
## Warning: Coercing numeric to date in F2073 / R2073C6
## Warning: Coercing numeric to date in A2074 / R2074C1
## Warning: Coercing numeric to date in F2074 / R2074C6
## Warning: Coercing numeric to date in A2075 / R2075C1
## Warning: Coercing numeric to date in F2075 / R2075C6
## Warning: Coercing numeric to date in A2076 / R2076C1
## Warning: Coercing numeric to date in F2076 / R2076C6
## Warning: Coercing numeric to date in A2077 / R2077C1
## Warning: Coercing numeric to date in F2077 / R2077C6
## Warning: Coercing numeric to date in A2078 / R2078C1
## Warning: Coercing numeric to date in F2078 / R2078C6
## Warning: Coercing numeric to date in A2079 / R2079C1
## Warning: Coercing numeric to date in F2079 / R2079C6
## Warning: Coercing numeric to date in A2080 / R2080C1
## Warning: Coercing numeric to date in F2080 / R2080C6
## Warning: Coercing numeric to date in A2081 / R2081C1
## Warning: Coercing numeric to date in F2081 / R2081C6
## Warning: Coercing numeric to date in A2082 / R2082C1
## Warning: Coercing numeric to date in F2082 / R2082C6
## Warning: Coercing numeric to date in A2083 / R2083C1
## Warning: Coercing numeric to date in F2083 / R2083C6
## Warning: Coercing numeric to date in A2084 / R2084C1
## Warning: Coercing numeric to date in F2084 / R2084C6
## Warning: Coercing numeric to date in A2085 / R2085C1
## Warning: Coercing numeric to date in F2085 / R2085C6
## Warning: Coercing numeric to date in A2086 / R2086C1
## Warning: Coercing numeric to date in F2086 / R2086C6
## Warning: Coercing numeric to date in A2087 / R2087C1
## Warning: Coercing numeric to date in F2087 / R2087C6
## Warning: Coercing numeric to date in A2088 / R2088C1
## Warning: Coercing numeric to date in F2088 / R2088C6
## Warning: Coercing numeric to date in A2089 / R2089C1
## Warning: Coercing numeric to date in F2089 / R2089C6
## Warning: Coercing numeric to date in A2090 / R2090C1
## Warning: Coercing numeric to date in F2090 / R2090C6
## Warning: Coercing numeric to date in A2091 / R2091C1
## Warning: Coercing numeric to date in F2091 / R2091C6
## Warning: Coercing numeric to date in A2092 / R2092C1
## Warning: Coercing numeric to date in F2092 / R2092C6
## Warning: Coercing numeric to date in A2093 / R2093C1
## Warning: Coercing numeric to date in F2093 / R2093C6
## Warning: Coercing numeric to date in A2094 / R2094C1
## Warning: Coercing numeric to date in F2094 / R2094C6
## Warning: Coercing numeric to date in A2095 / R2095C1
## Warning: Coercing numeric to date in F2095 / R2095C6
## Warning: Coercing numeric to date in A2096 / R2096C1
## Warning: Coercing numeric to date in F2096 / R2096C6
## Warning: Coercing numeric to date in A2097 / R2097C1
## Warning: Coercing numeric to date in F2097 / R2097C6
## Warning: Coercing numeric to date in A2098 / R2098C1
## Warning: Coercing numeric to date in F2098 / R2098C6
## Warning: Coercing numeric to date in A2099 / R2099C1
## Warning: Coercing numeric to date in F2099 / R2099C6
## Warning: Coercing numeric to date in A2100 / R2100C1
## Warning: Coercing numeric to date in F2100 / R2100C6
## Warning: Coercing numeric to date in A2101 / R2101C1
## Warning: Coercing numeric to date in F2101 / R2101C6
## Warning: Coercing numeric to date in A2102 / R2102C1
## Warning: Coercing numeric to date in F2102 / R2102C6
## Warning: Coercing numeric to date in A2103 / R2103C1
## Warning: Coercing numeric to date in F2103 / R2103C6
## Warning: Coercing numeric to date in A2104 / R2104C1
## Warning: Coercing numeric to date in F2104 / R2104C6
## Warning: Coercing numeric to date in A2105 / R2105C1
## Warning: Coercing numeric to date in F2105 / R2105C6
## Warning: Coercing numeric to date in A2106 / R2106C1
## Warning: Coercing numeric to date in F2106 / R2106C6
## Warning: Coercing numeric to date in A2107 / R2107C1
## Warning: Coercing numeric to date in F2107 / R2107C6
## Warning: Coercing numeric to date in A2108 / R2108C1
## Warning: Coercing numeric to date in F2108 / R2108C6
## Warning: Coercing numeric to date in A2109 / R2109C1
## Warning: Coercing numeric to date in F2109 / R2109C6
## Warning: Coercing numeric to date in A2110 / R2110C1
## Warning: Coercing numeric to date in F2110 / R2110C6
## Warning: Coercing numeric to date in A2111 / R2111C1
## Warning: Coercing numeric to date in F2111 / R2111C6
## Warning: Coercing numeric to date in A2112 / R2112C1
## Warning: Coercing numeric to date in F2112 / R2112C6
## Warning: Coercing numeric to date in A2113 / R2113C1
## Warning: Coercing numeric to date in F2113 / R2113C6
## Warning: Coercing numeric to date in A2114 / R2114C1
## Warning: Coercing numeric to date in F2114 / R2114C6
## Warning: Coercing numeric to date in A2115 / R2115C1
## Warning: Coercing numeric to date in F2115 / R2115C6
## Warning: Coercing numeric to date in A2116 / R2116C1
## Warning: Coercing numeric to date in F2116 / R2116C6
## Warning: Coercing numeric to date in A2117 / R2117C1
## Warning: Coercing numeric to date in F2117 / R2117C6
## Warning: Coercing numeric to date in A2118 / R2118C1
## Warning: Coercing numeric to date in F2118 / R2118C6
## Warning: Coercing numeric to date in A2119 / R2119C1
## Warning: Coercing numeric to date in F2119 / R2119C6
## Warning: Coercing numeric to date in A2120 / R2120C1
## Warning: Coercing numeric to date in F2120 / R2120C6
## Warning: Coercing numeric to date in A2121 / R2121C1
## Warning: Coercing numeric to date in F2121 / R2121C6
## Warning: Coercing numeric to date in A2122 / R2122C1
## Warning: Coercing numeric to date in F2122 / R2122C6
## Warning: Coercing numeric to date in A2123 / R2123C1
## Warning: Coercing numeric to date in F2123 / R2123C6
## Warning: Coercing numeric to date in A2124 / R2124C1
## Warning: Coercing numeric to date in F2124 / R2124C6
## Warning: Coercing numeric to date in A2125 / R2125C1
## Warning: Coercing numeric to date in F2125 / R2125C6
## Warning: Coercing numeric to date in A2126 / R2126C1
## Warning: Coercing numeric to date in F2126 / R2126C6
## Warning: Coercing numeric to date in A2127 / R2127C1
## Warning: Coercing numeric to date in F2127 / R2127C6
## Warning: Coercing numeric to date in A2128 / R2128C1
## Warning: Coercing numeric to date in F2128 / R2128C6
## Warning: Coercing numeric to date in A2129 / R2129C1
## Warning: Coercing numeric to date in F2129 / R2129C6
## Warning: Coercing numeric to date in A2130 / R2130C1
## Warning: Coercing numeric to date in F2130 / R2130C6
## Warning: Coercing numeric to date in A2131 / R2131C1
## Warning: Coercing numeric to date in F2131 / R2131C6
## Warning: Coercing numeric to date in A2132 / R2132C1
## Warning: Coercing numeric to date in F2132 / R2132C6
## Warning: Coercing numeric to date in A2133 / R2133C1
## Warning: Coercing numeric to date in F2133 / R2133C6
## Warning: Coercing numeric to date in A2134 / R2134C1
## Warning: Coercing numeric to date in F2134 / R2134C6
## Warning: Coercing numeric to date in A2135 / R2135C1
## Warning: Coercing numeric to date in F2135 / R2135C6
## Warning: Coercing numeric to date in A2136 / R2136C1
## Warning: Coercing numeric to date in F2136 / R2136C6
## Warning: Coercing numeric to date in A2137 / R2137C1
## Warning: Coercing numeric to date in F2137 / R2137C6
## Warning: Coercing numeric to date in A2138 / R2138C1
## Warning: Coercing numeric to date in F2138 / R2138C6
## Warning: Coercing text to numeric in J2333 / R2333C10: '1'
## Warning: Coercing text to numeric in J2334 / R2334C10: '6'
## Warning: Coercing text to numeric in J2335 / R2335C10: '11'
## Warning: Coercing text to numeric in J2336 / R2336C10: '6'
## Warning: Coercing text to numeric in J2337 / R2337C10: '6'
## Warning: Coercing text to numeric in J2338 / R2338C10: '6'
## Warning: Coercing text to numeric in J2339 / R2339C10: '6'
## Warning: Expecting logical in X3860 / R3860C24: got 'MOTO-CARRO'
## Warning: Expecting logical in X4164 / R4164C24: got 'GRUA'
## Warning: Expecting logical in Q6623 / R6623C17: got 'BICICLETA'
## Warning: Expecting logical in X6758 / R6758C24: got 'MOTO-CARRO'
## Warning: Expecting logical in X6900 / R6900C24: got 'MOTO-CARRO'
## Warning: Expecting logical in X7914 / R7914C24: got 'MOTO-CARRO'
## Warning: Expecting logical in X11168 / R11168C24: got 'MOTO-CARRO'
## Warning: Expecting logical in X11833 / R11833C24: got 'MOTO-CARRO'
## Warning: Expecting logical in X12398 / R12398C24: got 'VAN ESCOLAR'
## Warning: Expecting logical in Q13865 / R13865C17: got 'BUSETA'
## Warning: Expecting logical in X17913 / R17913C24: got 'MOTO-CARRO'
## Warning: Expecting logical in X19592 / R19592C24: got 'MOTO-CARRO'
## Warning: Expecting logical in Q22244 / R22244C17: got 'BICICLETA'
## Warning: Expecting logical in X22329 / R22329C24: got 'BUS ESCOLAR'
## Warning: Expecting logical in X24019 / R24019C24: got 'MOTO-CARRO'
## Warning: Expecting logical in X25200 / R25200C24: got 'CARRETILLA'
## Warning: Coercing text to numeric in N26235 / R26235C14: '3'
## Warning: Coercing text to numeric in J26503 / R26503C10: '6'
## Warning: Coercing text to numeric in J26935 / R26935C10: '7'
## Warning: Coercing text to numeric in J26936 / R26936C10: '6'
## Warning: Coercing text to numeric in J26937 / R26937C10: '6'
## Warning: Coercing text to numeric in J26938 / R26938C10: '1'
## Warning: Coercing text to numeric in J26939 / R26939C10: '1'
## Warning: Coercing text to numeric in J26940 / R26940C10: '6'
## Warning: Coercing text to numeric in J26941 / R26941C10: '1'
## Warning: Coercing text to numeric in J26942 / R26942C10: '6'
## Warning: Coercing text to numeric in J26943 / R26943C10: '6'
## Warning: Coercing text to numeric in J26944 / R26944C10: '1'
## Warning: Coercing text to numeric in J26945 / R26945C10: '1'
## Warning: Coercing text to numeric in J26946 / R26946C10: '1'
## Warning: Coercing text to numeric in J26947 / R26947C10: '6'
## Warning: Coercing text to numeric in J26948 / R26948C10: '8'
## Warning: Coercing text to numeric in J26949 / R26949C10: '6'
## Warning: Coercing text to numeric in J26950 / R26950C10: '1'
## Warning: Coercing text to numeric in J26951 / R26951C10: '7'
## Warning: Coercing text to numeric in J26952 / R26952C10: '6'
## Warning: Coercing text to numeric in J26953 / R26953C10: '6'
## Warning: Coercing text to numeric in J26954 / R26954C10: '6'
## Warning: Coercing text to numeric in J26955 / R26955C10: '6'
## Warning: Coercing text to numeric in J26956 / R26956C10: '6'
## Warning: Coercing text to numeric in J26957 / R26957C10: '6'
## Warning: Coercing text to numeric in J26958 / R26958C10: '6'
## Warning: Coercing text to numeric in J26959 / R26959C10: '6'
## Warning: Coercing text to numeric in J26960 / R26960C10: '6'
## Warning: Coercing text to numeric in J26961 / R26961C10: '6'
## Warning: Coercing text to numeric in J26962 / R26962C10: '6'
## Warning: Coercing text to numeric in J26963 / R26963C10: '6'
## Warning: Coercing text to numeric in J26964 / R26964C10: '6'
## Warning: Coercing text to numeric in J26965 / R26965C10: '1'
## Warning: Coercing text to numeric in J26966 / R26966C10: '1'
## Warning: Coercing text to numeric in J26967 / R26967C10: '1'
## Warning: Coercing text to numeric in J26968 / R26968C10: '1'
## Warning: Coercing text to numeric in J26969 / R26969C10: '1'
## Warning: Coercing text to numeric in J26970 / R26970C10: '1'
## Warning: Coercing text to numeric in J26971 / R26971C10: '6'
## Warning: Coercing text to numeric in J26972 / R26972C10: '6'
## Warning: Coercing text to numeric in J26973 / R26973C10: '6'
## Warning: Coercing text to numeric in J26974 / R26974C10: '6'
## Warning: Coercing text to numeric in J26975 / R26975C10: '1'
## Warning: Coercing text to numeric in J26976 / R26976C10: '1'
## Warning: Coercing text to numeric in J26977 / R26977C10: '1'
## Warning: Coercing text to numeric in J26978 / R26978C10: '6'
## Warning: Coercing text to numeric in J26979 / R26979C10: '6'
## Warning: Coercing text to numeric in J26980 / R26980C10: '6'
## Warning: Coercing text to numeric in J26981 / R26981C10: '6'
## Warning: Coercing text to numeric in J26982 / R26982C10: '6'
## Warning: Coercing text to numeric in J26983 / R26983C10: '1'
## Warning: Coercing text to numeric in J26984 / R26984C10: '1'
## Warning: Coercing text to numeric in J26985 / R26985C10: '1'
## Warning: Coercing text to numeric in J26986 / R26986C10: '6'
## Warning: Coercing text to numeric in J26987 / R26987C10: '6'
## Warning: Coercing text to numeric in J26988 / R26988C10: '6'
## Warning: Coercing text to numeric in J26989 / R26989C10: '6'
## Warning: Coercing text to numeric in J26990 / R26990C10: '1'
## Warning: Coercing text to numeric in J26991 / R26991C10: '6'
## Warning: Coercing text to numeric in J26992 / R26992C10: '1'
## Warning: Coercing text to numeric in J26993 / R26993C10: '6'
## Warning: Coercing text to numeric in J26994 / R26994C10: '6'
## Warning: Coercing text to numeric in J26995 / R26995C10: '6'
## Warning: Coercing text to numeric in J26996 / R26996C10: '6'
## Warning: Coercing text to numeric in J26997 / R26997C10: '11'
## Warning: Coercing text to numeric in J26998 / R26998C10: '6'
## Warning: Coercing text to numeric in J26999 / R26999C10: '1'
## Warning: Coercing text to numeric in J27000 / R27000C10: '6'
## Warning: Coercing text to numeric in J27001 / R27001C10: '1'
## Warning: Coercing text to numeric in J27002 / R27002C10: '6'
## Warning: Coercing text to numeric in J27003 / R27003C10: '11'
## Warning: Coercing text to numeric in J27004 / R27004C10: '6'
## Warning: Coercing text to numeric in J27005 / R27005C10: '6'
## Warning: Coercing text to numeric in J27006 / R27006C10: '6'
## Warning: Coercing text to numeric in J27007 / R27007C10: '6'
## Warning: Coercing text to numeric in J27008 / R27008C10: '6'
## Warning: Coercing text to numeric in J27009 / R27009C10: '2'
## Warning: Coercing text to numeric in J27010 / R27010C10: '6'
## Warning: Coercing text to numeric in J27011 / R27011C10: '6'
## Warning: Coercing text to numeric in J27012 / R27012C10: '11'
## Warning: Coercing text to numeric in J27013 / R27013C10: '6'
## Warning: Coercing text to numeric in J27014 / R27014C10: '1'
## Warning: Coercing text to numeric in J27015 / R27015C10: '6'
## Warning: Coercing text to numeric in J27016 / R27016C10: '6'
## Warning: Coercing text to numeric in J27017 / R27017C10: '6'
## Warning: Coercing text to numeric in J27018 / R27018C10: '6'
## Warning: Coercing text to numeric in J27019 / R27019C10: '6'
## Warning: Coercing text to numeric in J27020 / R27020C10: '6'
## Warning: Coercing text to numeric in J27021 / R27021C10: '11'
## Warning: Coercing text to numeric in J27022 / R27022C10: '6'
## Warning: Coercing text to numeric in J27023 / R27023C10: '4'
## Warning: Coercing text to numeric in J27024 / R27024C10: '6'
## Warning: Coercing text to numeric in J27025 / R27025C10: '2'
## Warning: Coercing text to numeric in J27026 / R27026C10: '2'
## Warning: Coercing text to numeric in J27027 / R27027C10: '11'
## Warning: Coercing text to numeric in J27028 / R27028C10: '2'
## Warning: Coercing text to numeric in J27029 / R27029C10: '2'
## Warning: Coercing text to numeric in J27030 / R27030C10: '2'
## Warning: Expecting logical in X31653 / R31653C24: got 'VOLQUETA'
## Warning: Expecting numeric in J31842 / R31842C10: got 'ANULADO'
## Warning: Coercing numeric to date in A33837 / R33837C1
## Warning: Coercing numeric to date in F33837 / R33837C6
## Warning: Expecting logical in X34736 / R34736C24: got 'MOTO-CARRO'
## Warning: Expecting logical in X35053 / R35053C24: got 'MOTO-CARRO'
## 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`
head(datos)
## # A tibble: 6 × 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     
## # ℹ 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>,
## #   `ESTRATO EN SU VIVIENDA` <dbl>, …

Cargar Visualización de la cartografía de comunas

library(sf)
## Warning: package 'sf' was built under R version 4.3.3
## Linking to GEOS 3.11.2, GDAL 3.8.2, PROJ 9.3.1; sf_use_s2() is TRUE
mapa_comunas <- st_read("Casos/cali/Comunas.shp")
## Reading layer `Comunas' from data source 
##   `C:\Users\santi\Documents\Documento casos_Santiago Gomez\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
plot(mapa_comunas)

Se realizó la carga y visualización del archivo shapefile correspondiente a las comunas de la ciudad de Cali. En el mapa se observan las divisiones geográficas de cada comuna, junto con sus atributos asociados como identificador, código y nombre. Esta representación espacial permite identificar la distribución territorial de las comunas y servirá como base para integrar posteriormente la información de los viajes (origen y destino), con el fin de construir mapas temáticos que evidencien patrones de movilidad.La correcta carga del shapefile es fundamental, ya que este constituye la estructura geográfica sobre la cual se proyectarán los análisis de datos espaciales.

Limpiar nombres de comunas

library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
datos <- datos %>%
  mutate(
    comuna_origen_limpia = suppressWarnings(as.character(as.numeric(`comuna origen`))),
    comuna_destino_limpia = suppressWarnings(as.character(as.numeric(`comuna destino`))),
    tipo_vehiculo = as.numeric(`TIPO DE VEHÍCULO`)
  )

mapa_comunas <- mapa_comunas %>%
  mutate(
    comuna = as.character(as.numeric(comuna))
  )

Creación de Mapas

1. Mapa general (origen) de viajes por comuna

Para construir el mapa general de origen, primero se realiza el conteo de viajes por comuna de origen. Luego, esta información se integra con la cartografía de comunas de Cali. Este paso permite pasar de un análisis tabular a una representación espacial, tal como solicita la actividad al construir mapas temáticos para identificar de dónde se originan los viajes.

origen_conteo <- datos %>%
  count(comuna_origen_limpia) %>%
  arrange(desc(n))

head(origen_conteo)
## # A tibble: 6 × 2
##   comuna_origen_limpia     n
##   <chr>                <int>
## 1 <NA>                  6306
## 2 2                     2968
## 3 19                    2850
## 4 17                    2377
## 5 3                     2121
## 6 18                    1536

Interpretación del conteo de origen

Al realizar el conteo de la variable comuna_origen_limpia, se observa que una parte importante de los desplazamientos corresponde a registros no asociados directamente a una comuna de Cali, representados como valores nulos, los cuales corresponden a la categoría “Fuera de Cali”, con un total de 6.306 viajes.

Dentro de las comunas de Cali, la mayor generación de viajes se concentra en la comuna 2, con 2.968 registros, seguida por la comuna 19, con 2.850, y la comuna 17, con 2.377. También se destacan las comunas 3 y 18, aunque con una participación menor.

Estos resultados muestran que los viajes no se originan de forma uniforme en toda la ciudad, sino que se concentran en algunas zonas específicas.

mapa_origen <- mapa_comunas %>%
  left_join(origen_conteo, by = c("comuna" = "comuna_origen_limpia"))

mapa_origen$n[is.na(mapa_origen$n)] <- 0

head(mapa_origen)
## Simple feature collection with 6 features and 5 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 863572.5 xmax: 1066087 ymax: 878628.1
## Projected CRS: MAGNA_Colombia_Cali
##   OBJECTID gid comuna    nombre    n                       geometry
## 1        1 107      2  Comuna 2 2968 POLYGON ((1059648 874236.3,...
## 2        2 108      1  Comuna 1  794 POLYGON ((1054094 875172.8,...
## 3        3 109      3  Comuna 3 2121 POLYGON ((1061757 874615.5,...
## 4        4 110     19 Comuna 19 2850 POLYGON ((1057817 873269.4,...
## 5        5 103     15 Comuna 15 1171 POLYGON ((1065485 869864.1,...
## 6        6 104     17 Comuna 17 2377 POLYGON ((1061675 868320.9,...
library(ggplot2)

ggplot(mapa_origen) +
  geom_sf(aes(fill = n), color = "black", size = 0.3) +
  geom_sf_text(aes(label = comuna), size = 3, color = "black") +
  scale_fill_viridis_c(
    option = "plasma",
    name = "Número de viajes",
    limits = c(0, max(mapa_origen$n))
  ) +
  labs(
    title = "Mapa general de origen de viajes por comuna",
    subtitle = "Distribución espacial de los viajes en Cali",
    caption = "Fuente: Encuesta Origen-Destino"
  ) +
  theme_void() +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    plot.subtitle = element_text(size = 11)
  )

Interpretación del mapa general de origen

Al analizar el mapa se nota claramente que los viajes no se generan de manera uniforme en toda la ciudad. Hay zonas donde la cantidad de desplazamientos es mucho mayor, especialmente hacia el centro y sur de Cali.

Las comunas 2, 19 y 17 sobresalen con los valores más altos, lo que indica que desde estas zonas se origina una parte importante de los viajes registrados. Esto puede estar relacionado con una mayor concentración de población, actividad económica, comercio o facilidad de conexión con otras partes de la ciudad.

También se observa que varias comunas presentan valores bajos, especialmente en el norte y oriente de la ciudad. Esto no significa necesariamente que no exista movilidad en esas zonas, sino que dentro de la muestra analizada tienen menor participación como puntos de origen.

Otro aspecto importante es que los registros clasificados como “Fuera de Cali” no aparecen en el mapa, porque no hacen parte de la cartografía de comunas. Sin embargo, sí deben tenerse en cuenta en el análisis general, ya que representan un volumen importante de viajes.

En general, este mapa permite identificar las zonas que más aportan a la generación de viajes en Cali y ayuda a comprender mejor la distribución espacial de la movilidad urbana.

2. Mapa (origen) de viajes en bicicleta por comuna

En esta sección se analiza únicamente el subconjunto de viajes realizados en bicicleta. Para ello, se filtran los registros cuyo tipo de vehículo corresponde a la categoría 1, asociada a bicicleta, y posteriormente se realiza el conteo por comuna de origen. Este resultado se integra con la cartografía de comunas para visualizar espacialmente desde qué zonas se originan principalmente los viajes en bicicleta.

origen_bici <- datos %>%
  filter(tipo_vehiculo == 1) %>%
  count(comuna_origen_limpia) %>%
  arrange(desc(n))

head(origen_bici)
## # A tibble: 6 × 2
##   comuna_origen_limpia     n
##   <chr>                <int>
## 1 2                      159
## 2 <NA>                   156
## 3 17                     141
## 4 19                     141
## 5 18                     111
## 6 3                       99

Interpretación del conteo de origen en bicicleta

El conteo de viajes en bicicleta muestra que este medio de transporte tiene una presencia más concentrada en ciertas comunas de Cali. En los primeros registros aparecen principalmente comunas del occidente y sur de la ciudad, lo que sugiere que el uso de la bicicleta no se distribuye de forma uniforme en todo el territorio. También se observa que los viajes clasificados como “Fuera de Cali” quedan representados como valores nulos, ya que no corresponden a una comuna específica dentro de la cartografía utilizada. Por esta razón, aunque hacen parte del análisis tabular, no pueden representarse directamente en el mapa de comunas.

mapa_bici <- mapa_comunas %>%
  left_join(origen_bici, by = c("comuna" = "comuna_origen_limpia"))

mapa_bici$n[is.na(mapa_bici$n)] <- 0

head(mapa_bici)
## Simple feature collection with 6 features and 5 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 863572.5 xmax: 1066087 ymax: 878628.1
## Projected CRS: MAGNA_Colombia_Cali
##   OBJECTID gid comuna    nombre   n                       geometry
## 1        1 107      2  Comuna 2 159 POLYGON ((1059648 874236.3,...
## 2        2 108      1  Comuna 1  36 POLYGON ((1054094 875172.8,...
## 3        3 109      3  Comuna 3  99 POLYGON ((1061757 874615.5,...
## 4        4 110     19 Comuna 19 141 POLYGON ((1057817 873269.4,...
## 5        5 103     15 Comuna 15  70 POLYGON ((1065485 869864.1,...
## 6        6 104     17 Comuna 17 141 POLYGON ((1061675 868320.9,...
ggplot(mapa_bici) +
  geom_sf(aes(fill = n), color = "black", size = 0.3) +
  geom_sf_text(aes(label = comuna), size = 3, color = "black") +
  scale_fill_viridis_c(
    option = "plasma",
    name = "Viajes en bicicleta",
    limits = c(0, max(mapa_bici$n))
  ) +
  labs(
    title = "Mapa de origen de viajes en bicicleta por comuna",
    subtitle = "Distribución espacial de viajes en bicicleta en Cali",
    caption = "Fuente: Encuesta Origen-Destino"
  ) +
  theme_void() +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    plot.subtitle = element_text(size = 11)
  )

Interpretación del mapa de origen en bicicleta

Al analizar el mapa, se observa que los viajes en bicicleta presentan una distribución espacial particular dentro de la ciudad, concentrándose principalmente en algunas comunas específicas.

La comuna 2 destaca claramente con el mayor número de viajes en bicicleta, seguida por comunas como la 19, 17 y 18, que también muestran una participación importante. Esto sugiere que en estas zonas el uso de la bicicleta tiene mayor relevancia como medio de transporte, posiblemente debido a trayectos más cortos, condiciones urbanas favorables o patrones de movilidad más locales.

En contraste, varias comunas del norte y del oriente presentan valores bajos, lo que indica una menor utilización de la bicicleta en esas áreas dentro del conjunto de datos analizado. Esto podría estar relacionado con mayores distancias de desplazamiento, características del entorno urbano o preferencias por otros medios de transporte.

En general, el mapa evidencia que el uso de la bicicleta no es homogéneo en la ciudad, sino que se concentra en ciertas zonas, lo cual resulta útil para identificar áreas donde este medio de transporte tiene mayor potencial y donde podrían fortalecerse estrategias de movilidad sostenible.

3. Mapa (origen) de viajes en moto por comuna

En esta sección se analizan los viajes realizados en moto, filtrando los registros cuyo tipo de vehículo corresponde a la categoría 2. A partir de esta información, se realiza el conteo de viajes por comuna de origen y posteriormente se integra con la cartografía de comunas de Cali, con el fin de visualizar la distribución espacial de este tipo de desplazamientos.

origen_moto <- datos %>%
  filter(tipo_vehiculo == 2) %>%
  count(comuna_origen_limpia) %>%
  arrange(desc(n))

head(origen_moto)
## # A tibble: 6 × 2
##   comuna_origen_limpia     n
##   <chr>                <int>
## 1 <NA>                  2706
## 2 2                     1414
## 3 19                    1280
## 4 17                    1136
## 5 3                      970
## 6 18                     746

Interpretación del conteo de origen en moto

El conteo de los viajes en moto muestra una alta participación de registros asociados a valores no numéricos (NA), los cuales corresponden a la categoría “Fuera de Cali”. Esto indica que una parte importante de los desplazamientos en moto tiene origen externo a la ciudad.Dentro de las comunas de Cali, se destacan la comuna 2, la comuna 19 y la comuna 17 como las principales generadoras de viajes en moto, seguidas por otras comunas con menor participación. Esto sugiere que el uso de la moto está concentrado en ciertas zonas específicas de la ciudad.

mapa_moto <- mapa_comunas %>%
  left_join(origen_moto, by = c("comuna" = "comuna_origen_limpia"))

mapa_moto$n[is.na(mapa_moto$n)] <- 0

head(mapa_moto)
## Simple feature collection with 6 features and 5 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 863572.5 xmax: 1066087 ymax: 878628.1
## Projected CRS: MAGNA_Colombia_Cali
##   OBJECTID gid comuna    nombre    n                       geometry
## 1        1 107      2  Comuna 2 1414 POLYGON ((1059648 874236.3,...
## 2        2 108      1  Comuna 1  375 POLYGON ((1054094 875172.8,...
## 3        3 109      3  Comuna 3  970 POLYGON ((1061757 874615.5,...
## 4        4 110     19 Comuna 19 1280 POLYGON ((1057817 873269.4,...
## 5        5 103     15 Comuna 15  536 POLYGON ((1065485 869864.1,...
## 6        6 104     17 Comuna 17 1136 POLYGON ((1061675 868320.9,...
ggplot(mapa_moto) +
  geom_sf(aes(fill = n), color = "black", size = 0.3) +
  geom_sf_text(aes(label = comuna), size = 3, color = "black") +
  scale_fill_viridis_c(
    option = "plasma",
    name = "Viajes en moto",
    limits = c(0, max(mapa_moto$n))
  ) +
  labs(
    title = "Mapa de origen de viajes en moto por comuna",
    subtitle = "Distribución espacial de viajes en moto en Cali",
    caption = "Fuente: Encuesta Origen-Destino"
  ) +
  theme_void() +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    plot.subtitle = element_text(size = 11)
  )

Interpretación del mapa de origen en moto

Al analizar el mapa, se observa que los viajes en moto presentan una alta concentración en determinadas zonas de la ciudad, especialmente en el centro y sur de Cali.

La comuna 2 destaca como la principal generadora de viajes en moto, seguida por comunas como la 19, 17 y 18, que también presentan valores elevados. Esto indica que en estas áreas la moto es un medio de transporte ampliamente utilizado, posiblemente debido a su flexibilidad, menores costos frente a otros medios y la necesidad de realizar desplazamientos frecuentes.

Por otro lado, las comunas ubicadas hacia el norte muestran valores considerablemente más bajos, lo que sugiere una menor participación de la moto en la dinámica de movilidad de estas zonas dentro del conjunto de datos analizado.

En comparación con el uso de la bicicleta, la moto presenta una mayor cobertura en la ciudad y una intensidad más alta en varias comunas, lo que refleja su papel relevante dentro del sistema de transporte urbano.

En general, el mapa permite identificar que el uso de la moto no está distribuido de manera uniforme, sino que se concentra en ciertas comunas, lo cual resulta clave para entender los patrones de movilidad y apoyar la toma de decisiones en materia de transporte.

4. Mapa (origen) de viajes en automóvil por comuna

En esta sección se analizan los viajes realizados en automóvil, filtrando los registros cuyo tipo de vehículo corresponde a la categoría 3. A partir de esta información, se realiza el conteo de viajes por comuna de origen y posteriormente se integra con la cartografía de comunas de Cali, con el fin de visualizar la distribución espacial de este tipo de desplazamientos.

origen_auto <- datos %>%
  filter(tipo_vehiculo == 3) %>%
  count(comuna_origen_limpia) %>%
  arrange(desc(n))

head(origen_auto)
## # A tibble: 6 × 2
##   comuna_origen_limpia     n
##   <chr>                <int>
## 1 <NA>                  2917
## 2 19                    1165
## 3 2                     1121
## 4 17                     899
## 5 3                      854
## 6 18                     559

Interpretación del conteo de origen en automóvil

El conteo de viajes en automóvil muestra nuevamente una presencia importante de registros asociados a valores nulos, los cuales corresponden a viajes con origen fuera de Cali. Esto indica que el automóvil también es un medio de transporte relevante en desplazamientos intermunicipales o desde zonas externas a la ciudad.Dentro de las comunas de Cali, se observa que la mayor cantidad de viajes en automóvil se concentra en un grupo reducido de comunas, entre las que suelen destacarse la comuna 2, la comuna 19 y la comuna 17, seguidas por otras con menor participación. Esto refleja que el uso del automóvil está asociado principalmente a ciertas zonas de la ciudad.

mapa_auto <- mapa_comunas %>%
  left_join(origen_auto, by = c("comuna" = "comuna_origen_limpia"))

mapa_auto$n[is.na(mapa_auto$n)] <- 0

head(mapa_auto)
## Simple feature collection with 6 features and 5 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 863572.5 xmax: 1066087 ymax: 878628.1
## Projected CRS: MAGNA_Colombia_Cali
##   OBJECTID gid comuna    nombre    n                       geometry
## 1        1 107      2  Comuna 2 1121 POLYGON ((1059648 874236.3,...
## 2        2 108      1  Comuna 1  301 POLYGON ((1054094 875172.8,...
## 3        3 109      3  Comuna 3  854 POLYGON ((1061757 874615.5,...
## 4        4 110     19 Comuna 19 1165 POLYGON ((1057817 873269.4,...
## 5        5 103     15 Comuna 15  456 POLYGON ((1065485 869864.1,...
## 6        6 104     17 Comuna 17  899 POLYGON ((1061675 868320.9,...
ggplot(mapa_auto) +
  geom_sf(aes(fill = n), color = "black", size = 0.3) +
  geom_sf_text(aes(label = comuna), size = 3, color = "black") +
  scale_fill_viridis_c(
    option = "plasma",
    name = "Viajes en automóvil",
    limits = c(0, max(mapa_auto$n))
  ) +
  labs(
    title = "Mapa de origen de viajes en automóvil por comuna",
    subtitle = "Distribución espacial de viajes en automóvil en Cali",
    caption = "Fuente: Encuesta Origen-Destino"
  ) +
  theme_void() +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    plot.subtitle = element_text(size = 11)
  )

Interpretación del mapa de origen en automóvil

Al observar el mapa, se identifica que los viajes en automóvil presentan una concentración importante en algunas comunas específicas de la ciudad, principalmente en la zona centro y suroccidental de Cali.

La comuna 2 sobresale con el mayor número de viajes en automóvil, seguida por comunas como la 19 y la 17, que también muestran una alta participación. Esto sugiere que en estas zonas el automóvil es un medio de transporte ampliamente utilizado, posiblemente asociado a mayores niveles de ingreso, disponibilidad de vehículo propio y patrones de desplazamiento más extensos.

También se observa que comunas como la 18 presentan una participación relevante, aunque en menor medida en comparación con las principales. Por otro lado, las comunas del norte y algunas del oriente presentan valores más bajos, lo que indica una menor utilización del automóvil dentro del conjunto de datos analizado.

En comparación con otros medios de transporte, el automóvil muestra una distribución similar a la moto en cuanto a las zonas donde se concentra, aunque con diferencias en la intensidad de uso. Esto refleja que ambos medios tienen un papel importante dentro de la movilidad urbana, pero responden a dinámicas distintas.

En general, el mapa permite identificar las comunas donde el uso del automóvil es más frecuente, lo cual resulta útil para comprender los patrones de movilidad y apoyar la planificación del transporte en la ciudad.

5. Mapa de destino de viajes por comuna

En esta sección se analiza la distribución de los destinos de los viajes en la ciudad de Cali. Para ello, se realiza el conteo de la variable correspondiente a la comuna de destino y posteriormente se integra con la cartografía de comunas, con el fin de construir un mapa temático que permita identificar hacia qué zonas se dirigen principalmente los desplazamientos.

destino_conteo <- datos %>%
  count(comuna_destino_limpia) %>%
  arrange(desc(n))

head(destino_conteo)
## # A tibble: 6 × 2
##   comuna_destino_limpia     n
##   <chr>                 <int>
## 1 <NA>                   6400
## 2 2                      4810
## 3 3                      3859
## 4 19                     3158
## 5 17                     2164
## 6 22                     1860

Interpretación del conteo de destino

El conteo de la variable comuna_destino_limpia muestra que una parte importante de los viajes tiene como destino valores no asociados directamente a una comuna de Cali, representados como valores nulos, los cuales corresponden a la categoría “Fuera de Cali”.

Dentro de las comunas de la ciudad, se observa que los destinos de los viajes se concentran en un grupo reducido de comunas, lo que indica que existen zonas específicas que funcionan como principales puntos de llegada dentro de la dinámica de movilidad urbana.

mapa_destino <- mapa_comunas %>%
  left_join(destino_conteo, by = c("comuna" = "comuna_destino_limpia"))

mapa_destino$n[is.na(mapa_destino$n)] <- 0

head(mapa_destino)
## Simple feature collection with 6 features and 5 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 863572.5 xmax: 1066087 ymax: 878628.1
## Projected CRS: MAGNA_Colombia_Cali
##   OBJECTID gid comuna    nombre    n                       geometry
## 1        1 107      2  Comuna 2 4810 POLYGON ((1059648 874236.3,...
## 2        2 108      1  Comuna 1  230 POLYGON ((1054094 875172.8,...
## 3        3 109      3  Comuna 3 3859 POLYGON ((1061757 874615.5,...
## 4        4 110     19 Comuna 19 3158 POLYGON ((1057817 873269.4,...
## 5        5 103     15 Comuna 15  579 POLYGON ((1065485 869864.1,...
## 6        6 104     17 Comuna 17 2164 POLYGON ((1061675 868320.9,...
ggplot(mapa_destino) +
  geom_sf(aes(fill = n), color = "black", size = 0.3) +
  geom_sf_text(aes(label = comuna), size = 3, color = "black") +
  scale_fill_viridis_c(
    option = "plasma",
    name = "Número de viajes",
    limits = c(0, max(mapa_destino$n))
  ) +
  labs(
    title = "Mapa de destino de viajes por comuna",
    subtitle = "Distribución espacial de los destinos en Cali",
    caption = "Fuente: Encuesta Origen-Destino"
  ) +
  theme_void() +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    plot.subtitle = element_text(size = 11)
  )

Interpretación del mapa de destino de viajes por comuna

Al analizar el mapa, se observa que los destinos de los viajes se concentran principalmente en algunas comunas específicas de la ciudad, especialmente en la zona centro y norte de Cali.

La comuna 2 se destaca como el principal punto de llegada de los desplazamientos, seguida por comunas como la 19 y la 10, que también presentan una alta intensidad en el número de viajes recibidos. Esto sugiere que estas zonas funcionan como importantes centros de atracción, posiblemente debido a la presencia de actividades económicas, comerciales o institucionales.

Asimismo, se identifican otras comunas con una participación intermedia, que complementan la dinámica de movilidad urbana como destinos secundarios.

Por otro lado, las comunas ubicadas hacia el oriente y algunas del sur presentan valores más bajos, lo que indica una menor llegada de viajes hacia estas zonas dentro del conjunto de datos analizado.

Al comparar este resultado con el mapa de origen general, se evidencia que algunas comunas no solo generan una alta cantidad de viajes, sino que también los reciben, lo que refleja su papel central dentro de la estructura de movilidad de la ciudad.

En general, el mapa permite identificar las principales zonas receptoras de desplazamientos en Cali, aportando información clave para la planificación del transporte, la localización de servicios y el análisis de la dinámica urbana.

6. Mapa (destino) de viajes en bicicleta por comuna

En esta sección se analizan los destinos de los viajes realizados en bicicleta. Para ello, se filtran los registros correspondientes a la categoría 1 en la variable de tipo de vehículo y luego se realiza el conteo por comuna de destino. Posteriormente, esta información se integra con la cartografía de comunas de Cali para observar hacia qué zonas llegan principalmente los viajes en bicicleta.

destino_bici <- datos %>%
  filter(tipo_vehiculo == 1) %>%
  count(comuna_destino_limpia) %>%
  arrange(desc(n))

head(destino_bici)
## # A tibble: 6 × 2
##   comuna_destino_limpia     n
##   <chr>                 <int>
## 1 <NA>                    305
## 2 2                       218
## 3 3                       189
## 4 19                      147
## 5 17                      115
## 6 22                      100

Interpretación del conteo de destino en bicicleta

El conteo permite identificar cuáles son las comunas que reciben mayor cantidad de viajes en bicicleta. Al igual que en el análisis de origen, pueden aparecer registros con valores nulos, los cuales corresponden a destinos fuera de Cali y, por tanto, no se representan directamente en la cartografía de comunas.

Este primer resultado permite tener una idea inicial de las comunas que funcionan como principales puntos de llegada para los viajes en bicicleta.

mapa_destino_bici <- mapa_comunas %>%
  left_join(destino_bici, by = c("comuna" = "comuna_destino_limpia"))

mapa_destino_bici$n[is.na(mapa_destino_bici$n)] <- 0

head(mapa_destino_bici)
## Simple feature collection with 6 features and 5 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 863572.5 xmax: 1066087 ymax: 878628.1
## Projected CRS: MAGNA_Colombia_Cali
##   OBJECTID gid comuna    nombre   n                       geometry
## 1        1 107      2  Comuna 2 218 POLYGON ((1059648 874236.3,...
## 2        2 108      1  Comuna 1  12 POLYGON ((1054094 875172.8,...
## 3        3 109      3  Comuna 3 189 POLYGON ((1061757 874615.5,...
## 4        4 110     19 Comuna 19 147 POLYGON ((1057817 873269.4,...
## 5        5 103     15 Comuna 15  20 POLYGON ((1065485 869864.1,...
## 6        6 104     17 Comuna 17 115 POLYGON ((1061675 868320.9,...
ggplot(mapa_destino_bici) +
  geom_sf(aes(fill = n), color = "black", size = 0.3) +
  geom_sf_text(aes(label = comuna), size = 3, color = "black") +
  scale_fill_viridis_c(
    option = "plasma",
    name = "Viajes en bicicleta",
    limits = c(0, max(mapa_destino_bici$n))
  ) +
  labs(
    title = "Mapa de destino de viajes en bicicleta por comuna",
    subtitle = "Distribución espacial de destinos en bicicleta en Cali",
    caption = "Fuente: Encuesta Origen-Destino"
  ) +
  theme_void() +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    plot.subtitle = element_text(size = 11)
  )

Interpretación del mapa de destino en bicicleta

Al observar el mapa, se identifica que los destinos de los viajes en bicicleta se concentran principalmente en algunas comunas específicas, especialmente en la zona centro y norte de la ciudad.

La comuna 2 destaca como el principal punto de llegada de viajes en bicicleta, seguida por comunas como la 19 y la 17, que también presentan una alta concentración de destinos. Esto sugiere que estas zonas no solo generan viajes en bicicleta, sino que también actúan como importantes puntos de atracción dentro de la dinámica de movilidad ciclista.

En contraste, varias comunas del oriente y algunas del sur presentan valores más bajos, lo que indica una menor llegada de viajes en bicicleta hacia estas zonas dentro del conjunto de datos analizado.

Al comparar este mapa con el de origen en bicicleta, se observa que existe cierta coincidencia en las comunas que concentran tanto salidas como llegadas, lo que puede indicar patrones de movilidad relativamente locales o trayectos de corta distancia dentro de áreas específicas de la ciudad.

En general, el mapa permite identificar las comunas que funcionan como principales destinos de los viajes en bicicleta, lo cual resulta útil para orientar estrategias de infraestructura ciclista, planificación urbana y promoción de la movilidad sostenible.

7. Mapa (destino) de viajes en moto por comuna

En esta sección se analizan los destinos de los viajes realizados en moto, filtrando los registros cuyo tipo de vehículo corresponde a la categoría 2. A partir de esta información, se realiza el conteo por comuna de destino y posteriormente se integra con la cartografía de comunas de Cali para visualizar la distribución espacial de estos desplazamientos.

destino_moto <- datos %>%
  filter(tipo_vehiculo == 2) %>%
  count(comuna_destino_limpia) %>%
  arrange(desc(n))

head(destino_moto)
## # A tibble: 6 × 2
##   comuna_destino_limpia     n
##   <chr>                 <int>
## 1 <NA>                   2961
## 2 2                      2177
## 3 3                      1734
## 4 19                     1421
## 5 17                      927
## 6 22                      911

Interpretación del conteo de destino en moto

El conteo de los destinos en moto muestra nuevamente una presencia importante de registros asociados a valores nulos, los cuales corresponden a viajes con destino fuera de Cali. Esto indica que una parte significativa de los desplazamientos en moto no termina dentro de la ciudad.

Dentro de las comunas de Cali, se identifican algunas zonas con mayor concentración de destinos, lo que sugiere que existen áreas específicas que funcionan como principales puntos de llegada para este tipo de transporte.

mapa_destino_moto <- mapa_comunas %>%
  left_join(destino_moto, by = c("comuna" = "comuna_destino_limpia"))

mapa_destino_moto$n[is.na(mapa_destino_moto$n)] <- 0

head(mapa_destino_moto)
## Simple feature collection with 6 features and 5 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 863572.5 xmax: 1066087 ymax: 878628.1
## Projected CRS: MAGNA_Colombia_Cali
##   OBJECTID gid comuna    nombre    n                       geometry
## 1        1 107      2  Comuna 2 2177 POLYGON ((1059648 874236.3,...
## 2        2 108      1  Comuna 1  112 POLYGON ((1054094 875172.8,...
## 3        3 109      3  Comuna 3 1734 POLYGON ((1061757 874615.5,...
## 4        4 110     19 Comuna 19 1421 POLYGON ((1057817 873269.4,...
## 5        5 103     15 Comuna 15  271 POLYGON ((1065485 869864.1,...
## 6        6 104     17 Comuna 17  927 POLYGON ((1061675 868320.9,...
ggplot(mapa_destino_moto) +
  geom_sf(aes(fill = n), color = "black", size = 0.3) +
  geom_sf_text(aes(label = comuna), size = 3, color = "black") +
  scale_fill_viridis_c(
    option = "plasma",
    name = "Viajes en moto",
    limits = c(0, max(mapa_destino_moto$n))
  ) +
  labs(
    title = "Mapa de destino de viajes en moto por comuna",
    subtitle = "Distribución espacial de destinos en moto en Cali",
    caption = "Fuente: Encuesta Origen-Destino"
  ) +
  theme_void() +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    plot.subtitle = element_text(size = 11)
  )

Interpretación del mapa de destino en moto

Al analizar el mapa, se observa que los destinos de los viajes en moto se concentran principalmente en algunas comunas del centro y norte de Cali.

La comuna 2 destaca como el principal punto de llegada de los viajes en moto, seguida por comunas como la 19 y la 10, que también presentan una alta intensidad en el número de desplazamientos recibidos. Esto indica que estas zonas funcionan como importantes polos de atracción para este medio de transporte, posiblemente debido a la concentración de actividades económicas, comerciales o de servicios.

Asimismo, se identifican comunas con una participación intermedia que complementan la dinámica de movilidad urbana, mientras que las comunas del oriente y algunas del sur presentan valores más bajos, lo que sugiere una menor llegada de viajes en moto hacia estas zonas dentro del conjunto de datos analizado.

Al comparar este resultado con el mapa de origen en moto, se observa que varias de las comunas con mayor número de viajes también coinciden como principales destinos, lo que refleja patrones de movilidad relativamente concentrados y posiblemente trayectos frecuentes entre zonas específicas.

En general, el mapa permite identificar las comunas que actúan como principales destinos de los viajes en moto, aportando información clave para comprender la dinámica del transporte urbano y apoyar la planificación de la movilidad en la ciudad.

8. Mapa (destino) de viajes en auomóvil por comuna

En esta sección se analizan los destinos de los viajes realizados en automóvil, filtrando los registros cuyo tipo de vehículo corresponde a la categoría 3. A partir de esta información, se realiza el conteo por comuna de destino y posteriormente se integra con la cartografía de comunas de Cali para visualizar la distribución espacial de estos desplazamientos.

destino_auto <- datos %>%
  filter(tipo_vehiculo == 3) %>%
  count(comuna_destino_limpia) %>%
  arrange(desc(n))

head(destino_auto)
## # A tibble: 6 × 2
##   comuna_destino_limpia     n
##   <chr>                 <int>
## 1 <NA>                   2525
## 2 2                      2006
## 3 3                      1557
## 4 19                     1302
## 5 17                      959
## 6 4                       757

Interpretación del conteo de destino en automóvil

El conteo de los destinos en automóvil muestra una presencia importante de registros asociados a valores nulos, los cuales corresponden a viajes cuyo destino se encuentra fuera de Cali. Esto indica que el automóvil es un medio de transporte relevante también en desplazamientos intermunicipales.

Dentro de las comunas de la ciudad, se observa que los destinos se concentran en un grupo reducido de zonas, lo que sugiere que existen áreas específicas que funcionan como principales puntos de llegada para este tipo de transporte.

mapa_destino_auto <- mapa_comunas %>%
  left_join(destino_auto, by = c("comuna" = "comuna_destino_limpia"))

mapa_destino_auto$n[is.na(mapa_destino_auto$n)] <- 0

head(mapa_destino_auto)
## Simple feature collection with 6 features and 5 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 1053868 ymin: 863572.5 xmax: 1066087 ymax: 878628.1
## Projected CRS: MAGNA_Colombia_Cali
##   OBJECTID gid comuna    nombre    n                       geometry
## 1        1 107      2  Comuna 2 2006 POLYGON ((1059648 874236.3,...
## 2        2 108      1  Comuna 1   86 POLYGON ((1054094 875172.8,...
## 3        3 109      3  Comuna 3 1557 POLYGON ((1061757 874615.5,...
## 4        4 110     19 Comuna 19 1302 POLYGON ((1057817 873269.4,...
## 5        5 103     15 Comuna 15  245 POLYGON ((1065485 869864.1,...
## 6        6 104     17 Comuna 17  959 POLYGON ((1061675 868320.9,...
ggplot(mapa_destino_auto) +
  geom_sf(aes(fill = n), color = "black", size = 0.3) +
  geom_sf_text(aes(label = comuna), size = 3, color = "black") +
  scale_fill_viridis_c(
    option = "plasma",
    name = "Viajes en automóvil",
    limits = c(0, max(mapa_destino_auto$n))
  ) +
  labs(
    title = "Mapa de destino de viajes en automóvil por comuna",
    subtitle = "Distribución espacial de destinos en automóvil en Cali",
    caption = "Fuente: Encuesta Origen-Destino"
  ) +
  theme_void() +
  theme(
    plot.title = element_text(face = "bold", size = 14),
    plot.subtitle = element_text(size = 11)
  )

Interpretación del mapa de destino en automóvil

Al analizar el mapa, se observa que los destinos de los viajes en automóvil presentan una clara concentración en algunas comunas del centro y norte de la ciudad.

La comuna 2 se destaca como el principal punto de llegada de los viajes en automóvil, seguida por comunas como la 19 y la 10, que también registran una alta intensidad en el número de desplazamientos recibidos. Esto sugiere que estas zonas funcionan como importantes centros de atracción, posiblemente debido a la presencia de actividades económicas, comerciales, institucionales y de servicios.

Asimismo, se identifican comunas con una participación intermedia que complementan la dinámica de movilidad urbana, mientras que las comunas del oriente y algunas del sur presentan valores más bajos, lo que indica una menor llegada de viajes en automóvil hacia estas zonas dentro del conjunto de datos analizado.

Al comparar este mapa con el de origen en automóvil, se observa que varias comunas coinciden tanto como generadoras como receptoras de viajes, lo que refleja patrones de movilidad relativamente concentrados y una fuerte interacción entre zonas específicas de la ciudad.

En general, el mapa permite identificar las principales comunas que actúan como destinos de los viajes en automóvil, aportando información clave para comprender los patrones de movilidad urbana y apoyar la planificación del transporte.

Conclusiones

  1. Los resultados evidencian que la movilidad en la ciudad de Cali no se distribuye de manera homogénea, sino que se concentra en un conjunto reducido de comunas, particularmente en la zona centro y norte. Estas áreas cumplen un papel clave tanto como generadoras como receptoras de viajes, lo que refleja su importancia dentro de la dinámica urbana.

  2. El análisis por tipo de vehículo muestra comportamientos diferenciados en los patrones de movilidad. Mientras que la bicicleta presenta una concentración más localizada, la moto y el automóvil tienen una mayor cobertura en la ciudad, lo que indica su relevancia como medios de transporte para distintos tipos de desplazamientos.

  3. Se identificó una proporción significativa de viajes con origen o destino fuera de Cali, lo que sugiere una fuerte interacción con municipios cercanos. Este hallazgo resalta la importancia de considerar la movilidad metropolitana en los procesos de planificación del transporte y desarrollo urbano.