El objetivo del presente Script es analizar los viajes que se realizan en el área urbana de la ciuad de Cali, con base en la comuna de origen y la comuna de destino y algunos vehículos en especial. Se utiliza un archivo .shp para plasmar las columnas y una archivo de Excel con la información detallada de los vaijes.

Se procede a cargar la base de comunas.shp

#Cargue de librerias necesarias para trabajar con archivos con extensión .shp
require(raster)
require(rgdal)
require(sp)
require(maps)

#Cargue del archivo de comunas
comunas=shapefile("C:/Users/PACHO/Documents/Maestria/SIG/cali/Comunas.shp")
comunas
## class       : SpatialPolygonsDataFrame 
## features    : 22 
## extent      : 1053868, 1068492, 860190.2, 879441.5  (xmin, xmax, ymin, ymax)
## crs         : +proj=tmerc +lat_0=3.441883333 +lon_0=-76.5205625 +k=1 +x_0=1061900.18 +y_0=872364.63 +a=6379137 +rf=298.257222101 +units=m +no_defs 
## variables   : 4
## names       : OBJECTID, gid, comuna,   nombre 
## min values  :        1,  89,      1, Comuna 1 
## max values  :       22, 110,     22, Comuna 9
#Se orden las comunas en orden ascedente, de la 1 hasta la 22
pos_ordenadas=match(1:22,comunas@data$comuna)
comunas_orden=comunas[pos_ordenadas,]
comunas_orden@data
##    OBJECTID gid comuna    nombre
## 2         2 108      1  Comuna 1
## 1         1 107      2  Comuna 2
## 3         3 109      3  Comuna 3
## 10       10  90      4  Comuna 4
## 11       11  91      5  Comuna 5
## 9         9  89      6  Comuna 6
## 12       12  92      7  Comuna 7
## 13       13  93      8  Comuna 8
## 14       14  94      9  Comuna 9
## 20       20 100     10 Comuna 10
## 19       19  99     11 Comuna 11
## 17       17  97     12 Comuna 12
## 16       16  96     13 Comuna 13
## 18       18  98     14 Comuna 14
## 5         5 103     15 Comuna 15
## 22       22 102     16 Comuna 16
## 6         6 104     17 Comuna 17
## 7         7 105     18 Comuna 18
## 4         4 110     19 Comuna 19
## 21       21 101     20 Comuna 20
## 15       15  95     21 Comuna 21
## 8         8 106     22 Comuna 22

Se procede a cargar la base de viajes

#Cargar base de viajes
library(readxl)
EncuestaOrigenDestino <- read_excel("C:/Users/PACHO/Documents/Maestria/SIG/EncuestaOrigenDestino.xlsx",
  sheet = "Sheet4")
head(EncuestaOrigenDestino,10)
## # A tibble: 10 × 28
##    FECHA               IDESTACIÓN ESTACIÓN      ACCESO MOVIMIENTO HoradeEncuesta
##    <dttm>                   <dbl> <chr>         <chr>  <chr>      <chr>         
##  1 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       6:10:00AM     
##  2 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       6:11:00AM     
##  3 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       6:12:00AM     
##  4 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       6:13:00AM     
##  5 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       6:14:00AM     
##  6 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       6:15:00AM     
##  7 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       6:16:00AM     
##  8 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       6:17:00AM     
##  9 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       6:18:00AM     
## 10 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       6:20:00AM     
## # ℹ 22 more variables: MUNICIPIO...7 <chr>,
## #   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...8` <chr>,
## #   CodigoOrigen_SDG <chr>, `¿QUEESTABAHACIENDOENESELUGAR?` <chr>,
## #   MUNICIPIO...11 <chr>,
## #   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...12` <chr>,
## #   CodigoDestino_SDG <chr>, `¿QUEVAHACERAESELUGAR?` <chr>,
## #   ESTRATOENSUVIVIENDA <chr>, …
#Filtrar las columnas comunaorigen y comunadestino  para eliminar los valores FueradeCali y comuna0
library(dplyr)
BDfiltrada = EncuestaOrigenDestino%>%
  filter(comunaorigen != "FueradeCali" & comunaorigen != 0) %>%
  filter(comunadestino != "FueradeCali" & comunadestino != 0)
head(BDfiltrada,10)
## # A tibble: 10 × 28
##    FECHA               IDESTACIÓN ESTACIÓN      ACCESO MOVIMIENTO HoradeEncuesta
##    <dttm>                   <dbl> <chr>         <chr>  <chr>      <chr>         
##  1 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       6:10:00AM     
##  2 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       6:28:00AM     
##  3 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       6:30:00AM     
##  4 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       7:16:00AM     
##  5 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       7:20:00AM     
##  6 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       7:29:00AM     
##  7 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       7:40:00AM     
##  8 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       7:47:00AM     
##  9 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       7:50:00AM     
## 10 2015-06-01 00:00:00          1 Avenida6NXCa… NORTE  MOV1       7:55:00AM     
## # ℹ 22 more variables: MUNICIPIO...7 <chr>,
## #   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...8` <chr>,
## #   CodigoOrigen_SDG <chr>, `¿QUEESTABAHACIENDOENESELUGAR?` <chr>,
## #   MUNICIPIO...11 <chr>,
## #   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...12` <chr>,
## #   CodigoDestino_SDG <chr>, `¿QUEVAHACERAESELUGAR?` <chr>,
## #   ESTRATOENSUVIVIENDA <chr>, …
#Se filtra por tipo de vehiculo siendo 1= bicicleta, 2=Moto y 3= Automóvil.
library(dplyr)
Origen_total = BDfiltrada %>% group_by(comunaorigen) %>% summarise(viajes = n())
Origen_bici = BDfiltrada %>% filter(TIPODEVEHÍCULO == 1) %>% group_by(comunaorigen) %>% summarise(viajes = n())
Origen_moto = BDfiltrada %>% filter(TIPODEVEHÍCULO == 2) %>% group_by(comunaorigen) %>% summarise(viajes = n())
Origen_auto = BDfiltrada %>% filter(TIPODEVEHÍCULO == 3) %>% group_by(comunaorigen) %>% summarise(viajes = n())
Destino_total = BDfiltrada %>% group_by(comunadestino) %>% summarise(viajes = n())
Destino_bici = BDfiltrada %>% filter(TIPODEVEHÍCULO == 1) %>% group_by(comunadestino) %>% summarise(viajes = n())
Destino_moto = BDfiltrada %>% filter(TIPODEVEHÍCULO == 2) %>% group_by(comunadestino) %>% summarise(viajes = n())
Destino_auto = BDfiltrada %>% filter(TIPODEVEHÍCULO == 3) %>% group_by(comunadestino) %>% summarise(viajes = n())
#Al archivo de comunas se añaden columnas adicionales para poder graficar
comunas_orden@data$origent=Origen_total$viajes
comunas_orden@data$origenbici=Origen_bici$viajes
comunas_orden@data$origenmoto=Origen_moto$viajes
comunas_orden@data$origenauto=Origen_auto$viajes
comunas_orden@data$destinot=Destino_total$viajes
comunas_orden@data$destinobici=Destino_bici$viajes
comunas_orden@data$destinomoto=Destino_moto$viajes
comunas_orden@data$destinoauto=Destino_auto$viajes
comunas_orden@data
##    OBJECTID gid comuna    nombre origent origenbici origenmoto origenauto
## 2         2 108      1  Comuna 1     626         32        296        234
## 1         1 107      2  Comuna 2    2250        122       1063        860
## 3         3 109      3  Comuna 3    1610         84        702        679
## 10       10  90      4  Comuna 4    1193         58        571        443
## 11       11  91      5  Comuna 5     521         28        260        185
## 9         9  89      6  Comuna 6     797         29        377        314
## 12       12  92      7  Comuna 7     583         30        272        229
## 13       13  93      8  Comuna 8     862         46        421        319
## 14       14  94      9  Comuna 9     737         36        317        295
## 20       20 100     10 Comuna 10    1094         71        535        404
## 19       19  99     11 Comuna 11     717         42        339        268
## 17       17  97     12 Comuna 12     257         10        133         88
## 16       16  96     13 Comuna 13    1031         62        453        412
## 18       18  98     14 Comuna 14     575         32        258        236
## 5         5 103     15 Comuna 15     974         55        455        377
## 22       22 102     16 Comuna 16     836         65        383        320
## 6         6 104     17 Comuna 17    1762        103        853        662
## 7         7 105     18 Comuna 18    1208         85        593        433
## 4         4 110     19 Comuna 19    2241        113        995        923
## 21       21 101     20 Comuna 20     599         33        278        228
## 15       15  95     21 Comuna 21     693         35        323        272
## 8         8 106     22 Comuna 22     985         52        430        424
##    destinot destinobici destinomoto destinoauto
## 2       187           9          90          73
## 1      3773         194        1734        1518
## 3      2887         169        1333        1098
## 10     1497          80         678         596
## 11      440          38         183         181
## 9       570          31         255         208
## 12      598          36         279         224
## 13      830          46         382         325
## 14     1055          56         512         382
## 20      741          34         353         291
## 19      483          26         217         204
## 17      207          13         106          71
## 16      560          28         285         189
## 18      316          20         150         120
## 5       481          17         232         199
## 22      645          31         290         275
## 6      1616          95         744         650
## 7       526          28         240         216
## 4      2441         131        1152         926
## 21      303          22         124         131
## 15      434          24         202         164
## 8      1561          95         766         564

Análisis de los recorridos

Análisis por Comuna de Origen

#Se realizan las gráficas y se agrupan.
require(ggpubr)
a=spplot(comunas_orden[,5])
b=spplot(comunas_orden[,6])
c=spplot(comunas_orden[,7])
d=spplot(comunas_orden[,8])
ggarrange(a, b, c, d,labels = c("Origenes totales", "Origenes en bici", "Origenes en moto","Origenes en auto"),ncol = 2, nrow = 2)

Pregunta 1: ¿Cuál es la comuna con mayor cantidad de origenes?: La comuna con mayor número de origenes es la comuna 2 con un total de 2250 viajes.

Pregunta 2 : ¿Cual es la comuna con mayor número de viajes de origen en bicicleta?: La comuna con mayor número de viajes de origen en bicicleta es la comuna 2 con un total de 122 viajes.

Pregunta 3 : ¿Cual es la comuna con mayor número de viajes de origen en moto?: La comuna con mayor número de viajes de origen en moto es la comuna 2 con un total de 1063 viajes.

Pregunta 4 : ¿Cual es la comuna con mayor número de viajes de origen en auto?: La comuna con mayor número de viajes de origen en auto es la comuna 2 con un total de 860 viajes.

Análisis por Comuna de Destino

#Se realizan las gráficas y se agrupan.
e=spplot(comunas_orden[,9])
f=spplot(comunas_orden[,10])
g=spplot(comunas_orden[,11])
h=spplot(comunas_orden[,12])
ggarrange(e, f, g, h,labels = c("Destinos totales", "Destinos en bici", "Destinos en moto","Destinos en auto"),ncol = 2, nrow = 2)

Pregunta 5: ¿Cuál es la comuna con mayor cantidad de destinos?: La comuna con mayor número de destinos es la comuna 2 con un total de 3773 viajes.

Pregunta 6 : ¿Cual es la comuna con mayor número de viajes de destino en bicicleta?: La comuna con mayor número de viajes de destino en bicicleta es la comuna 2 con un total de 194 viajes.

Pregunta 7 : ¿Cual es la comuna con mayor número de viajes de destino en moto?: La comuna con mayor número de viajes de destino en moto es la comuna 2 con un total de 1734 viajes.

Pregunta 8 : ¿Cual es la comuna con mayor número de viajes de destino en auto?: La comuna con mayor número de viajes de destino en auto es la comuna 2 con un total de 1518 viajes.

Conclusiones

De acuerdo con el análisis realizado, se evidencia que tanto para la comuna de origen como la comuna de destino de los viajes que se realizan en el área urbana de la ciudad de Cali, la comuna 2 representa la mayor cantidad. Así mismo, para la comuna de origen de los tipos de vehiculos analizados, se realizan más viajes en moto con 1063 por encima del auto y la bicicleta. Para la comuna de destino de los viajes, la moto también es el vehículo con mayor número de viajes con un total de 1734 superior al automovil y la bicicleta.

Para dar contexto sobre la comuna 2, esta comuna se encuentra ubicada al norte de Cali, contiene el 9,4% del área total del municipio de Santiago de Cali y cuenta con 55.279 predios construidos, siendo la comuna con mayor número de predios construidos con el 11,7% del total de la ciudad. La comuna se caracteriza por ser una zona financiera importante y por su alta infraestructura de hoteles, centros educativos, sitios comerciales, de servicios, de entretenimiento, parques, etc.