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.
#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
#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
#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.
#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.
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.