Áreas de la estadística Espacial y Conceptos de cartografía

Objetivo: Identificar las diferentes áreas de la estadística espacial y los tipos de datos espaciales a través de la revisión de conceptos para su posterior uso en aplicaciones reales.

Carga de librerias

## Loading required package: raster
## Warning: package 'raster' was built under R version 4.2.3
## Loading required package: sp
## Warning: package 'sp' was built under R version 4.2.3
## The legacy packages maptools, rgdal, and rgeos, underpinning the sp package,
## which was just loaded, will retire in October 2023.
## Please refer to R-spatial evolution reports for details, especially
## https://r-spatial.org/r/2023/05/15/evolution4.html.
## It may be desirable to make the sf package available;
## package maintainers should consider adding sf to Suggests:.
## The sp package is now running under evolution status 2
##      (status 2 uses the sf package in place of rgdal)
## Loading required package: terra
## Warning: package 'terra' was built under R version 4.2.3
## terra 1.7.46
## Loading required package: sf
## Warning: package 'sf' was built under R version 4.2.3
## Linking to GEOS 3.9.3, GDAL 3.5.2, PROJ 8.2.1; sf_use_s2() is TRUE
## Loading required package: RColorBrewer
## Loading required package: leaflet
## Warning: package 'leaflet' was built under R version 4.2.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.2.3
## Loading required package: readxl
## Warning: package 'readxl' was built under R version 4.2.3

Carga de archivos

Para resolver el caso, se requieren cargar dos archivos, el primero tipo shapefile que contiene la cartografía de Cali, esencial para el análisis y el segundo, un arhivo excel con los registros de una encuesta con los diferentes tipos de desplazamiento, su medio de transporte, comuna de origen y destino.

mapacali= shapefile("C:/Users/USUARIO/OneDrive - PUJ Cali/Master/3 semestre/GEOGRAFIA/U1/Casos/Casos/cali/Comunas.shp")
mapacali
## 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

revisar carga de archivo

# Carga Encuesta

## New names:
## • `MUNICIPIO` -> `MUNICIPIO...6`
## • `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN` ->
##   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...7`
## • `MUNICIPIO` -> `MUNICIPIO...10`
## • `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN` ->
##   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...11`
## • `OTRO¿CUÁL?` -> `OTRO¿CUÁL?...16`
## • `OTRO¿CUÁL?` -> `OTRO¿CUÁL?...23`
## # A tibble: 6 × 27
##   IDESTACIÓN ESTACIÓN           ACCESO MOVIMIENTO HoradeEncuesta MUNICIPIO...6
##        <dbl> <chr>              <chr>  <chr>      <chr>          <chr>        
## 1          1 Avenida6NXCalle70N NORTE  MOV1       6:10:00AM      CALI         
## 2          1 Avenida6NXCalle70N NORTE  MOV1       6:11:00AM      CALIMA       
## 3          1 Avenida6NXCalle70N NORTE  MOV1       6:12:00AM      YUMBO        
## 4          1 Avenida6NXCalle70N NORTE  MOV1       6:13:00AM      YUMBO        
## 5          1 Avenida6NXCalle70N NORTE  MOV1       6:14:00AM      PALMIRA      
## 6          1 Avenida6NXCalle70N NORTE  MOV1       6:15:00AM      PALMIRA      
## # ℹ 21 more variables:
## #   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...7` <chr>,
## #   CodigoOrigen_SDG <chr>, `¿QUEESTABAHACIENDOENESELUGAR?` <chr>,
## #   MUNICIPIO...10 <chr>,
## #   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...11` <chr>,
## #   CodigoDestino_SDG <chr>, `¿QUEVAHACERAESELUGAR?` <chr>,
## #   ESTRATOENSUVIVIENDA <chr>, …
## tibble [35,054 × 27] (S3: tbl_df/tbl/data.frame)
##  $ IDESTACIÓN                                                              : num [1:35054] 1 1 1 1 1 1 1 1 1 1 ...
##  $ ESTACIÓN                                                                : chr [1:35054] "Avenida6NXCalle70N" "Avenida6NXCalle70N" "Avenida6NXCalle70N" "Avenida6NXCalle70N" ...
##  $ ACCESO                                                                  : chr [1:35054] "NORTE" "NORTE" "NORTE" "NORTE" ...
##  $ MOVIMIENTO                                                              : chr [1:35054] "MOV1" "MOV1" "MOV1" "MOV1" ...
##  $ HoradeEncuesta                                                          : chr [1:35054] "6:10:00AM" "6:11:00AM" "6:12:00AM" "6:13:00AM" ...
##  $ MUNICIPIO...6                                                           : chr [1:35054] "CALI" "CALIMA" "YUMBO" "YUMBO" ...
##  $ DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...7 : chr [1:35054] "BCHIPICHAPE" "DARIEN" "VALLEDELCAUCA" "VALLEDELCAUCA" ...
##  $ CodigoOrigen_SDG                                                        : chr [1:35054] "218" "4102" "3102" "3102" ...
##  $ ¿QUEESTABAHACIENDOENESELUGAR?                                           : chr [1:35054] "5" "6" "6" "6" ...
##  $ MUNICIPIO...10                                                          : chr [1:35054] "CALI" "CALI" "CALI" "CALI" ...
##  $ DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...11: chr [1:35054] "BPANCE" "TEQUENDAMA" "BELPEÑON" "BOBRERO" ...
##  $ CodigoDestino_SDG                                                       : chr [1:35054] "2216" "1904" "302" "910" ...
##  $ ¿QUEVAHACERAESELUGAR?                                                   : chr [1:35054] "1" "4" "1" "1" ...
##  $ ESTRATOENSUVIVIENDA                                                     : chr [1:35054] "3" "2" "3" "2" ...
##  $ ¿DISPONIADEUNVEHÍCULOPARAREALIZARESTEDESPLAZAMIENTO?                    : chr [1:35054] "0" "NA" "NA" "NA" ...
##  $ OTRO¿CUÁL?...16                                                         : chr [1:35054] "NA" "NA" "NA" "NA" ...
##  $ ANTES                                                                   : chr [1:35054] "NA" "NA" "NA" "NA" ...
##  $ DESPUES                                                                 : chr [1:35054] "NA" "NA" "NA" "NA" ...
##  $ EDAD                                                                    : chr [1:35054] "35" "40" "33" "28" ...
##  $ SEXO                                                                    : chr [1:35054] "2" "2" "2" "2" ...
##  $ PERSONASENELVEHÍCULO                                                    : chr [1:35054] "1" "4" "1" "1" ...
##  $ TIPODEVEHÍCULO                                                          : chr [1:35054] "2" "3" "2" "2" ...
##  $ OTRO¿CUÁL?...23                                                         : chr [1:35054] "NA" "NA" "NA" "NA" ...
##  $ TIPODEVIAJERO                                                           : chr [1:35054] "1" "1" "1" "1" ...
##  $ comunaorigen                                                            : chr [1:35054] "02" "FueradeCali" "FueradeCali" "FueradeCali" ...
##  $ comunadestino                                                           : chr [1:35054] "22" "19" "03" "09" ...
##  $ Intracomuna                                                             : chr [1:35054] "0" "0" "0" "0" ...

Limpieza, filtrado y transformación de Datos

Paso necesario para eliminar datos faltantes, se observa ademas que las columnas “comuna destino” e “Comuna origen” son tipo chr, contienen el texto “Fuera de Cali” por lo tanto se procede a la limpieza y transformación. Es necesario además filtrar “Fuera de Cali” y “0”, dado a que no aportan a la solución del caso.

## # A tibble: 6 × 27
##   IDESTACIÓN ESTACIÓN           ACCESO MOVIMIENTO HoradeEncuesta MUNICIPIO...6
##        <dbl> <chr>              <chr>  <chr>      <chr>          <chr>        
## 1          1 Avenida6NXCalle70N NORTE  MOV1       6:10:00AM      CALI         
## 2          1 Avenida6NXCalle70N NORTE  MOV1       6:28:00AM      CALI         
## 3          1 Avenida6NXCalle70N NORTE  MOV1       6:30:00AM      CALI         
## 4          1 Avenida6NXCalle70N NORTE  MOV1       7:16:00AM      CALI         
## 5          1 Avenida6NXCalle70N NORTE  MOV1       7:20:00AM      CALI         
## 6          1 Avenida6NXCalle70N NORTE  MOV1       7:29:00AM      CALI         
## # ℹ 21 more variables:
## #   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...7` <chr>,
## #   CodigoOrigen_SDG <chr>, `¿QUEESTABAHACIENDOENESELUGAR?` <chr>,
## #   MUNICIPIO...10 <chr>,
## #   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...11` <chr>,
## #   CodigoDestino_SDG <chr>, `¿QUEVAHACERAESELUGAR?` <chr>,
## #   ESTRATOENSUVIVIENDA <chr>, …
## # A tibble: 6 × 27
##   IDESTACIÓN ESTACIÓN           ACCESO MOVIMIENTO HoradeEncuesta MUNICIPIO...6
##        <dbl> <chr>              <chr>  <chr>      <chr>          <chr>        
## 1          1 Avenida6NXCalle70N NORTE  MOV1       6:10:00AM      CALI         
## 2          1 Avenida6NXCalle70N NORTE  MOV1       6:28:00AM      CALI         
## 3          1 Avenida6NXCalle70N NORTE  MOV1       6:30:00AM      CALI         
## 4          1 Avenida6NXCalle70N NORTE  MOV1       7:16:00AM      CALI         
## 5          1 Avenida6NXCalle70N NORTE  MOV1       7:20:00AM      CALI         
## 6          1 Avenida6NXCalle70N NORTE  MOV1       7:29:00AM      CALI         
## # ℹ 21 more variables:
## #   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...7` <chr>,
## #   CodigoOrigen_SDG <chr>, `¿QUEESTABAHACIENDOENESELUGAR?` <chr>,
## #   MUNICIPIO...10 <chr>,
## #   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...11` <chr>,
## #   CodigoDestino_SDG <chr>, `¿QUEVAHACERAESELUGAR?` <chr>,
## #   ESTRATOENSUVIVIENDA <chr>, …

Se procede a asignar coordenas a las comunas, para ello se toma como referencia el archivo Shapefile cargado lineas arriba

## # A tibble: 6 × 31
##   IDESTACIÓN ESTACIÓN           ACCESO MOVIMIENTO HoradeEncuesta MUNICIPIO...6
##        <dbl> <chr>              <chr>  <chr>      <chr>          <chr>        
## 1          1 Avenida6NXCalle70N NORTE  MOV1       6:10:00AM      CALI         
## 2          1 Avenida6NXCalle70N NORTE  MOV1       6:28:00AM      CALI         
## 3          1 Avenida6NXCalle70N NORTE  MOV1       6:30:00AM      CALI         
## 4          1 Avenida6NXCalle70N NORTE  MOV1       7:16:00AM      CALI         
## 5          1 Avenida6NXCalle70N NORTE  MOV1       7:20:00AM      CALI         
## 6          1 Avenida6NXCalle70N NORTE  MOV1       7:29:00AM      CALI         
## # ℹ 25 more variables:
## #   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...7` <chr>,
## #   CodigoOrigen_SDG <chr>, `¿QUEESTABAHACIENDOENESELUGAR?` <chr>,
## #   MUNICIPIO...10 <chr>,
## #   `DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...11` <chr>,
## #   CodigoDestino_SDG <chr>, `¿QUEVAHACERAESELUGAR?` <chr>,
## #   ESTRATOENSUVIVIENDA <chr>, …

Conteo de datos faltantes

nulos_lat_ori <- sum(is.na(datosfil$latitud_com_ori))
nulos_long_ori <- sum(is.na(datosfil$longitud_com_ori))
nulos_lat_des <- sum(is.na(datosfil$latitud_com_des))
nulos_long_des <- sum(is.na(datosfil$longitud_com_des))

print("Valores nulos en latitud_com_ori")
## [1] "Valores nulos en latitud_com_ori"
print(nulos_lat_ori)
## [1] 0
print(nulos_long_ori)
## [1] 0
print(nulos_lat_des)
## [1] 0
print(nulos_long_des)
## [1] 0

Resolución del Caso

Mapas de Origen

Para este primera parte, se realizará la visualización del Mapa de Cali según el origen por categoria según tipo de Vehículo (Bicicleta, Moto y Automóvil)

mapaorigen = SpatialPointsDataFrame(coords = datosfil[, 28:29],
                                    data = datosfil,
                                    proj4string = crs(calimap)
                                    )
mapaorigen
## class       : SpatialPointsDataFrame 
## features    : 22151 
## extent      : 862283.3, 877232, 1056762, 1067421  (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   : 31
## names       : IDESTACIÓN,                   ESTACIÓN, ACCESO, MOVIMIENTO,      HoradeEncuesta, MUNICIPIO...6, DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...7, CodigoOrigen_SDG, ¿QUEESTABAHACIENDOENESELUGAR?, MUNICIPIO...10, DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...11, CodigoDestino_SDG, ¿QUEVAHACERAESELUGAR?, ESTRATOENSUVIVIENDA, ¿DISPONIADEUNVEHÍCULOPARAREALIZARESTEDESPLAZAMIENTO?, ... 
## min values  :          1,      AutopistaCali-Jamundí,  NORTE,       MOV1, 0.35972222222222222,          CALI,                                                                10CENTRO,             1001,                             1,           CALI,                                                                  10CON10,              1001,                     1,                   1,                                                    0, ... 
## max values  :         30, Diagonal15XAv.CiudaddeCali,    SUR,       MOV4,           9:59:00AM,       POPAYAN,                                                          ZUPIANOLLOREDA,              914,                            NA,        POPAYAN,                                                           ZOOLOGICOOESTE,               914,                    NA,                  NA,                                                   NA, ...

Mapas de desplazamiento: Origen de Bicleta, Moto y Automóvil

mapainteres = mapaorigen

crs(mapainteres) <- crs(calimap)

Conteo_comunas <- table(mapainteres$`comunaorigen`)

#Creación de nueva variable y asignar conteo

calimap$mapainteres <- Conteo_comunas[match(calimap$comuna, names(Conteo_comunas))]
calimap$mapainteres <-as.numeric(calimap$mapainteres)

head(calimap@data, 25)
##    OBJECTID gid comuna    nombre mapainteres
## 1         1 107      2  Comuna 2        2250
## 2         2 108      1  Comuna 1         626
## 3         3 109      3  Comuna 3        1610
## 4         4 110     19 Comuna 19        2241
## 5         5 103     15 Comuna 15         974
## 6         6 104     17 Comuna 17        1762
## 7         7 105     18 Comuna 18        1208
## 8         8 106     22 Comuna 22         985
## 9         9  89      6  Comuna 6         797
## 10       10  90      4  Comuna 4        1193
## 11       11  91      5  Comuna 5         521
## 12       12  92      7  Comuna 7         583
## 13       13  93      8  Comuna 8         862
## 14       14  94      9  Comuna 9         737
## 15       15  95     21 Comuna 21         693
## 16       16  96     13 Comuna 13        1031
## 17       17  97     12 Comuna 12         257
## 18       18  98     14 Comuna 14         575
## 19       19  99     11 Comuna 11         717
## 20       20 100     10 Comuna 10        1094
## 21       21 101     20 Comuna 20         599
## 22       22 102     16 Comuna 16         836

Se crea el mapa con las tres categorías de interés

spplot(calimap, "mapainteres", col.regions= brewer.pal(9, "Reds"), cuts = 6, main = "Mapa Origen para desplazamientos en Carro, Moto y Bicicleta")

### Dada la visualización, se puede evidenciar que las comunas donde más se registran desplazamiento cuyo origen haya sido en carro, moto y/o bicicelta, fueron desde la comuna 2 con 2250 viajes, seguidamente, la comuna 19 con 2241, la comuna 17 sobresale también con 1762 desplazamientos de origen. Se puede observar también que la comuna con menos desplazamientos de origen es la comuna 5

Desplazamientos de origen en Automóvil

Automoviles =which(mapaorigen@data$`TIPODEVEHÍCULO`== 3)

mapainteresCar = mapaorigen[Automoviles, ]
datoscarros = mapainteresCar

crs(datoscarros) <- crs(calimap) 

conteo_carros <- table(datoscarros$`comunaorigen`)

calimap$datoscarros <- conteo_carros[match(calimap$comuna, names(conteo_carros))]
calimap$datoscarros <-as.numeric(calimap$datoscarros)

head(calimap@data, 25)
##    OBJECTID gid comuna    nombre mapainteres datoscarros
## 1         1 107      2  Comuna 2        2250         860
## 2         2 108      1  Comuna 1         626         234
## 3         3 109      3  Comuna 3        1610         679
## 4         4 110     19 Comuna 19        2241         923
## 5         5 103     15 Comuna 15         974         377
## 6         6 104     17 Comuna 17        1762         662
## 7         7 105     18 Comuna 18        1208         433
## 8         8 106     22 Comuna 22         985         424
## 9         9  89      6  Comuna 6         797         314
## 10       10  90      4  Comuna 4        1193         443
## 11       11  91      5  Comuna 5         521         185
## 12       12  92      7  Comuna 7         583         229
## 13       13  93      8  Comuna 8         862         319
## 14       14  94      9  Comuna 9         737         295
## 15       15  95     21 Comuna 21         693         272
## 16       16  96     13 Comuna 13        1031         412
## 17       17  97     12 Comuna 12         257          88
## 18       18  98     14 Comuna 14         575         236
## 19       19  99     11 Comuna 11         717         268
## 20       20 100     10 Comuna 10        1094         404
## 21       21 101     20 Comuna 20         599         228
## 22       22 102     16 Comuna 16         836         320
spplot(calimap, "datoscarros", col.regions= brewer.pal(9, "Reds"), cuts = 6, main = "Mapa Origen para desplazamientos en Automóvil")

### Las comunas con más desplazamientos de origen en Carros son la 19, 2, 3, 17 y la 4. Las comunas 12 y 5, son las de menores trayectos en este tipo de transporte.

Desplazamientos de origen en Moto

Motos =which(mapaorigen@data$`TIPODEVEHÍCULO`== 2)

mapainteresMoto = mapaorigen[Motos, ]
datosMotos = mapainteresMoto

crs(datosMotos) <- crs(calimap) 

conteo_Motos <- table(datosMotos$`comunaorigen`)

calimap$datosMotos <- conteo_Motos[match(calimap$comuna, names(conteo_Motos))]
calimap$datosMotos <-as.numeric(calimap$datosMotos)

head(calimap@data, 25)
##    OBJECTID gid comuna    nombre mapainteres datoscarros datosMotos
## 1         1 107      2  Comuna 2        2250         860       1063
## 2         2 108      1  Comuna 1         626         234        296
## 3         3 109      3  Comuna 3        1610         679        702
## 4         4 110     19 Comuna 19        2241         923        995
## 5         5 103     15 Comuna 15         974         377        455
## 6         6 104     17 Comuna 17        1762         662        853
## 7         7 105     18 Comuna 18        1208         433        593
## 8         8 106     22 Comuna 22         985         424        430
## 9         9  89      6  Comuna 6         797         314        377
## 10       10  90      4  Comuna 4        1193         443        571
## 11       11  91      5  Comuna 5         521         185        260
## 12       12  92      7  Comuna 7         583         229        272
## 13       13  93      8  Comuna 8         862         319        421
## 14       14  94      9  Comuna 9         737         295        317
## 15       15  95     21 Comuna 21         693         272        323
## 16       16  96     13 Comuna 13        1031         412        453
## 17       17  97     12 Comuna 12         257          88        133
## 18       18  98     14 Comuna 14         575         236        258
## 19       19  99     11 Comuna 11         717         268        339
## 20       20 100     10 Comuna 10        1094         404        535
## 21       21 101     20 Comuna 20         599         228        278
## 22       22 102     16 Comuna 16         836         320        383
spplot(calimap, "datosMotos", col.regions= brewer.pal(9, "Reds"), cuts = 6, main = "Mapa Origen para desplazamientos en Moto")

### Los desplazamientos de origen en Moto fueron en su mayoria desde las comunas 2 y 19.

Desplazamientos de origen en Bicicleta

Bike =which(mapaorigen@data$`TIPODEVEHÍCULO`== 1)

mapainteresBike = mapaorigen[Bike, ]
datosBike = mapainteresBike

crs(datosBike) <- crs(calimap) 

conteo_Bike <- table(datosBike$`comunaorigen`)

calimap$datosBike <- conteo_Bike[match(calimap$comuna, names(conteo_Bike))]
calimap$datosBike <-as.numeric(calimap$datosBike)

head(calimap@data, 25)
##    OBJECTID gid comuna    nombre mapainteres datoscarros datosMotos datosBike
## 1         1 107      2  Comuna 2        2250         860       1063       122
## 2         2 108      1  Comuna 1         626         234        296        32
## 3         3 109      3  Comuna 3        1610         679        702        84
## 4         4 110     19 Comuna 19        2241         923        995       113
## 5         5 103     15 Comuna 15         974         377        455        55
## 6         6 104     17 Comuna 17        1762         662        853       103
## 7         7 105     18 Comuna 18        1208         433        593        85
## 8         8 106     22 Comuna 22         985         424        430        52
## 9         9  89      6  Comuna 6         797         314        377        29
## 10       10  90      4  Comuna 4        1193         443        571        58
## 11       11  91      5  Comuna 5         521         185        260        28
## 12       12  92      7  Comuna 7         583         229        272        30
## 13       13  93      8  Comuna 8         862         319        421        46
## 14       14  94      9  Comuna 9         737         295        317        36
## 15       15  95     21 Comuna 21         693         272        323        35
## 16       16  96     13 Comuna 13        1031         412        453        62
## 17       17  97     12 Comuna 12         257          88        133        10
## 18       18  98     14 Comuna 14         575         236        258        32
## 19       19  99     11 Comuna 11         717         268        339        42
## 20       20 100     10 Comuna 10        1094         404        535        71
## 21       21 101     20 Comuna 20         599         228        278        33
## 22       22 102     16 Comuna 16         836         320        383        65
spplot(calimap, "datosBike",  col.regions= brewer.pal(9, "Reds"), cuts = 6, main = "Mapa Origen para desplazamientos en Bicicleta")

### Similar a las anteriores visualizaciones espaciales, las comunas, 2, 19 y 17 son aquellas con mayores desplazamientos, en este caso Bicicleta.

Mapas de desplazamiento: Destino

La segunda parte del ejercicio consiste en realizar los mapas de destrino con los tipos de transporte: Bicicleta, Automóvil y Motocicleta.

mapadestino = SpatialPointsDataFrame(coords = datosfil[, 30:31],
                                    data = datosfil,
                                    proj4string = crs(calimap)
                                    )
mapadestino
## class       : SpatialPointsDataFrame 
## features    : 22151 
## extent      : 862283.3, 877232, 1056762, 1067421  (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   : 31
## names       : IDESTACIÓN,                   ESTACIÓN, ACCESO, MOVIMIENTO,      HoradeEncuesta, MUNICIPIO...6, DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...7, CodigoOrigen_SDG, ¿QUEESTABAHACIENDOENESELUGAR?, MUNICIPIO...10, DEPARTAMENTO/LOCALIDAD/COMUNA/DISTRITO/BARRIO/VEREDA/HITO/DIRECCIÓN...11, CodigoDestino_SDG, ¿QUEVAHACERAESELUGAR?, ESTRATOENSUVIVIENDA, ¿DISPONIADEUNVEHÍCULOPARAREALIZARESTEDESPLAZAMIENTO?, ... 
## min values  :          1,      AutopistaCali-Jamundí,  NORTE,       MOV1, 0.35972222222222222,          CALI,                                                                10CENTRO,             1001,                             1,           CALI,                                                                  10CON10,              1001,                     1,                   1,                                                    0, ... 
## max values  :         30, Diagonal15XAv.CiudaddeCali,    SUR,       MOV4,           9:59:00AM,       POPAYAN,                                                          ZUPIANOLLOREDA,              914,                            NA,        POPAYAN,                                                           ZOOLOGICOOESTE,               914,                    NA,                  NA,                                                   NA, ...

Mapas de destino: Origen de Bicleta, Moto y Automóvil

mapainteres2 = mapadestino

crs(mapainteres2) <- crs(calimap)

Conteo_comunasdes <- table(mapainteres2$`comunadestino`)

#Creación de nueva variable y asignar conteo

calimap$mapainteres2 <- Conteo_comunasdes[match(calimap$comuna, names(Conteo_comunasdes))]
calimap$mapainteres2 <-as.numeric(calimap$mapainteres2)

head(calimap@data, 25)
##    OBJECTID gid comuna    nombre mapainteres datoscarros datosMotos datosBike
## 1         1 107      2  Comuna 2        2250         860       1063       122
## 2         2 108      1  Comuna 1         626         234        296        32
## 3         3 109      3  Comuna 3        1610         679        702        84
## 4         4 110     19 Comuna 19        2241         923        995       113
## 5         5 103     15 Comuna 15         974         377        455        55
## 6         6 104     17 Comuna 17        1762         662        853       103
## 7         7 105     18 Comuna 18        1208         433        593        85
## 8         8 106     22 Comuna 22         985         424        430        52
## 9         9  89      6  Comuna 6         797         314        377        29
## 10       10  90      4  Comuna 4        1193         443        571        58
## 11       11  91      5  Comuna 5         521         185        260        28
## 12       12  92      7  Comuna 7         583         229        272        30
## 13       13  93      8  Comuna 8         862         319        421        46
## 14       14  94      9  Comuna 9         737         295        317        36
## 15       15  95     21 Comuna 21         693         272        323        35
## 16       16  96     13 Comuna 13        1031         412        453        62
## 17       17  97     12 Comuna 12         257          88        133        10
## 18       18  98     14 Comuna 14         575         236        258        32
## 19       19  99     11 Comuna 11         717         268        339        42
## 20       20 100     10 Comuna 10        1094         404        535        71
## 21       21 101     20 Comuna 20         599         228        278        33
## 22       22 102     16 Comuna 16         836         320        383        65
##    mapainteres2
## 1          3773
## 2           187
## 3          2887
## 4          2441
## 5           481
## 6          1616
## 7           526
## 8          1561
## 9           570
## 10         1497
## 11          440
## 12          598
## 13          830
## 14         1055
## 15          434
## 16          560
## 17          207
## 18          316
## 19          483
## 20          741
## 21          303
## 22          645

Se crea el mapa con las tres categorías de interés de destino

spplot(calimap, "mapainteres2", col.regions= brewer.pal(9, "PuRd"), cuts = 6, main = "Mapa Destino para desplazamientos en Carro, Moto y Bicicleta")

## Desplazamientos de Destino en Automóvil

Automoviles_des =which(mapadestino@data$`TIPODEVEHÍCULO`== 3)

mapainteresCar2 = mapadestino[Automoviles_des, ]
datoscarros2 = mapainteresCar2

crs(datoscarros2) <- crs(calimap) 

conteo_carros_des <- table(datoscarros2$`comunadestino`)

calimap$datoscarros2 <- conteo_carros_des[match(calimap$comuna, names(conteo_carros_des))]
calimap$datoscarros2 <-as.numeric(calimap$datoscarros2)

head(calimap@data, 25)
##    OBJECTID gid comuna    nombre mapainteres datoscarros datosMotos datosBike
## 1         1 107      2  Comuna 2        2250         860       1063       122
## 2         2 108      1  Comuna 1         626         234        296        32
## 3         3 109      3  Comuna 3        1610         679        702        84
## 4         4 110     19 Comuna 19        2241         923        995       113
## 5         5 103     15 Comuna 15         974         377        455        55
## 6         6 104     17 Comuna 17        1762         662        853       103
## 7         7 105     18 Comuna 18        1208         433        593        85
## 8         8 106     22 Comuna 22         985         424        430        52
## 9         9  89      6  Comuna 6         797         314        377        29
## 10       10  90      4  Comuna 4        1193         443        571        58
## 11       11  91      5  Comuna 5         521         185        260        28
## 12       12  92      7  Comuna 7         583         229        272        30
## 13       13  93      8  Comuna 8         862         319        421        46
## 14       14  94      9  Comuna 9         737         295        317        36
## 15       15  95     21 Comuna 21         693         272        323        35
## 16       16  96     13 Comuna 13        1031         412        453        62
## 17       17  97     12 Comuna 12         257          88        133        10
## 18       18  98     14 Comuna 14         575         236        258        32
## 19       19  99     11 Comuna 11         717         268        339        42
## 20       20 100     10 Comuna 10        1094         404        535        71
## 21       21 101     20 Comuna 20         599         228        278        33
## 22       22 102     16 Comuna 16         836         320        383        65
##    mapainteres2 datoscarros2
## 1          3773         1518
## 2           187           73
## 3          2887         1098
## 4          2441          926
## 5           481          199
## 6          1616          650
## 7           526          216
## 8          1561          564
## 9           570          208
## 10         1497          596
## 11          440          181
## 12          598          224
## 13          830          325
## 14         1055          382
## 15          434          164
## 16          560          189
## 17          207           71
## 18          316          120
## 19          483          204
## 20          741          291
## 21          303          131
## 22          645          275
spplot(calimap, "datoscarros2", col.regions= brewer.pal(9, "PuRd"), cuts = 6, main = "Mapa Destino para desplazamientos en Automóvil")

## Desplazamientos de Destino en Moto

Motos2 =which(mapadestino@data$`TIPODEVEHÍCULO`== 2)

mapainteresMoto2 = mapadestino[Motos2, ]
datosMotos2 = mapainteresMoto2

crs(datosMotos2) <- crs(calimap) 

conteo_Motos_des <- table(datosMotos2$`comunadestino`)

calimap$datosMotos2 <- conteo_Motos_des[match(calimap$comuna, names(conteo_Motos_des))]
calimap$datosMotos2 <-as.numeric(calimap$datosMotos2)

head(calimap@data, 25)
##    OBJECTID gid comuna    nombre mapainteres datoscarros datosMotos datosBike
## 1         1 107      2  Comuna 2        2250         860       1063       122
## 2         2 108      1  Comuna 1         626         234        296        32
## 3         3 109      3  Comuna 3        1610         679        702        84
## 4         4 110     19 Comuna 19        2241         923        995       113
## 5         5 103     15 Comuna 15         974         377        455        55
## 6         6 104     17 Comuna 17        1762         662        853       103
## 7         7 105     18 Comuna 18        1208         433        593        85
## 8         8 106     22 Comuna 22         985         424        430        52
## 9         9  89      6  Comuna 6         797         314        377        29
## 10       10  90      4  Comuna 4        1193         443        571        58
## 11       11  91      5  Comuna 5         521         185        260        28
## 12       12  92      7  Comuna 7         583         229        272        30
## 13       13  93      8  Comuna 8         862         319        421        46
## 14       14  94      9  Comuna 9         737         295        317        36
## 15       15  95     21 Comuna 21         693         272        323        35
## 16       16  96     13 Comuna 13        1031         412        453        62
## 17       17  97     12 Comuna 12         257          88        133        10
## 18       18  98     14 Comuna 14         575         236        258        32
## 19       19  99     11 Comuna 11         717         268        339        42
## 20       20 100     10 Comuna 10        1094         404        535        71
## 21       21 101     20 Comuna 20         599         228        278        33
## 22       22 102     16 Comuna 16         836         320        383        65
##    mapainteres2 datoscarros2 datosMotos2
## 1          3773         1518        1734
## 2           187           73          90
## 3          2887         1098        1333
## 4          2441          926        1152
## 5           481          199         232
## 6          1616          650         744
## 7           526          216         240
## 8          1561          564         766
## 9           570          208         255
## 10         1497          596         678
## 11          440          181         183
## 12          598          224         279
## 13          830          325         382
## 14         1055          382         512
## 15          434          164         202
## 16          560          189         285
## 17          207           71         106
## 18          316          120         150
## 19          483          204         217
## 20          741          291         353
## 21          303          131         124
## 22          645          275         290
spplot(calimap, "datosMotos2", col.regions= brewer.pal(9, "PuRd"), cuts = 6, main = "Mapa Destino para desplazamientos en Moto")

## Desplazamientos de destino en Bicicleta

Bike2 =which(mapadestino@data$`TIPODEVEHÍCULO`== 1)

mapainteresBike2 = mapadestino[Bike2, ]
datosBike2 = mapainteresBike2

crs(datosBike2) <- crs(calimap) 

conteo_Bike_des <- table(datosBike2$`comunadestino`)

calimap$datosBike2 <- conteo_Bike_des[match(calimap$comuna, names(conteo_Bike_des))]
calimap$datosBike2 <-as.numeric(calimap$datosBike2)

head(calimap@data, 25)
##    OBJECTID gid comuna    nombre mapainteres datoscarros datosMotos datosBike
## 1         1 107      2  Comuna 2        2250         860       1063       122
## 2         2 108      1  Comuna 1         626         234        296        32
## 3         3 109      3  Comuna 3        1610         679        702        84
## 4         4 110     19 Comuna 19        2241         923        995       113
## 5         5 103     15 Comuna 15         974         377        455        55
## 6         6 104     17 Comuna 17        1762         662        853       103
## 7         7 105     18 Comuna 18        1208         433        593        85
## 8         8 106     22 Comuna 22         985         424        430        52
## 9         9  89      6  Comuna 6         797         314        377        29
## 10       10  90      4  Comuna 4        1193         443        571        58
## 11       11  91      5  Comuna 5         521         185        260        28
## 12       12  92      7  Comuna 7         583         229        272        30
## 13       13  93      8  Comuna 8         862         319        421        46
## 14       14  94      9  Comuna 9         737         295        317        36
## 15       15  95     21 Comuna 21         693         272        323        35
## 16       16  96     13 Comuna 13        1031         412        453        62
## 17       17  97     12 Comuna 12         257          88        133        10
## 18       18  98     14 Comuna 14         575         236        258        32
## 19       19  99     11 Comuna 11         717         268        339        42
## 20       20 100     10 Comuna 10        1094         404        535        71
## 21       21 101     20 Comuna 20         599         228        278        33
## 22       22 102     16 Comuna 16         836         320        383        65
##    mapainteres2 datoscarros2 datosMotos2 datosBike2
## 1          3773         1518        1734        194
## 2           187           73          90          9
## 3          2887         1098        1333        169
## 4          2441          926        1152        131
## 5           481          199         232         17
## 6          1616          650         744         95
## 7           526          216         240         28
## 8          1561          564         766         95
## 9           570          208         255         31
## 10         1497          596         678         80
## 11          440          181         183         38
## 12          598          224         279         36
## 13          830          325         382         46
## 14         1055          382         512         56
## 15          434          164         202         24
## 16          560          189         285         28
## 17          207           71         106         13
## 18          316          120         150         20
## 19          483          204         217         26
## 20          741          291         353         34
## 21          303          131         124         22
## 22          645          275         290         31
spplot(calimap, "datosBike2", col.regions= brewer.pal(9, "PuRd"), cuts = 6, main = "Mapa Destino para desplazamientos en Bicicleta")