El presente documento constituye el inicio de la creación de mapas con información geográfica obtenida de archivos Shapefile. En él, se evalúan los datos de transporte de la ciudad de Cali, con el objetivo de catalogar la densidad de población por comuna, tanto en origen como en destino para los viajes. Además, se realiza una segregación por tipo de vehículo, específicamente para tres categorías: carro, moto y bicicleta.
Primero, se presentan los mapas generales tanto para origen como para destino. En la parte derecha de los mismos, se puede observar la escala, donde el color amarillo indica las áreas con mayor densidad de vehículos en cada una de las categorías (origen y destino).
comunas <- st_read("C:/Users/vicod/Documents/Maestria/analisis de datos espaciales y geograficos/unidad 1/Casos/Casos/cali/Comunas.shp",
quiet = TRUE)
archivo_excel <- "C:/Users/vicod/Documents/Maestria/analisis de datos espaciales y geograficos/unidad 1/Casos/Casos/EncuestaOrigenDestino.xlsx"
df <- read_excel(archivo_excel)
## 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`
df_seleccionado <- df[, c("comuna origen", "comuna destino", "TIPO DE VEHÍCULO")]
head(df_seleccionado)
## # A tibble: 6 × 3
## `comuna origen` `comuna destino` `TIPO DE VEHÍCULO`
## <chr> <chr> <dbl>
## 1 02 22 2
## 2 Fuera de Cali 19 3
## 3 Fuera de Cali 03 2
## 4 Fuera de Cali 09 2
## 5 Fuera de Cali 02 2
## 6 Fuera de Cali 02 3
comuna_origen_count <- as.data.frame(table(df_seleccionado$`comuna origen`))
colnames(comuna_origen_count) <- c("comuna", "frecuencia")
comunas_origen <- merge(comunas, comuna_origen_count, by.x = "comuna", by.y = "comuna", all.x = TRUE)
comunas_origen$frecuencia[is.na(comunas_origen$frecuencia)] <- 0
ggplot(data = comunas_origen) +
geom_sf(aes(fill = frecuencia)) + # Colorear por frecuencia
scale_fill_viridis_c(option = "plasma", trans = "sqrt") + # Escala de color
labs(title = "Frecuencia de comunas de origen", fill = "Frecuencia") +
theme_minimal()
comuna_destino_count <- as.data.frame(table(df_seleccionado$`comuna destino`))
colnames(comuna_destino_count) <- c("comuna", "frecuencia")
comunas_destino <- merge(comunas, comuna_destino_count, by.x = "comuna", by.y = "comuna", all.x = TRUE)
comunas_destino$frecuencia[is.na(comunas_destino$frecuencia)] <- 0
ggplot(data = comunas_destino) +
geom_sf(aes(fill = frecuencia)) + # Colorear por frecuencia
scale_fill_viridis_c(option = "plasma", trans = "sqrt") + # Escala de color
labs(title = "Frecuencia de comunas de destino", fill = "Frecuencia") +
theme_minimal()
Para realizar un análisis más avanzado del mismo caso, se decidió hacer una segregación en función de los vehículos utilizados para cada viaje.
Los siguientes mapas muestran las comunas de origen y destino para las personas que se movilizan utilizando bicicletas.
#bicicleta
df_vehiculo_1 <- df_seleccionado[df_seleccionado$`TIPO DE VEHÍCULO` == 1, ]
comuna_origen_v_1 <- as.data.frame(table(df_vehiculo_1$`comuna origen`))
colnames(comuna_origen_v_1) <- c("comuna", "frecuencia")
comunas_origen_v_1 <- merge(comunas, comuna_origen_v_1, by.x = "comuna", by.y = "comuna", all.x = TRUE)
comunas_origen_v_1$frecuencia[is.na(comunas_origen_v_1$frecuencia)] <- 0
# origen bici
ggplot(data = comunas_origen_v_1) +
geom_sf(aes(fill = frecuencia)) +
scale_fill_viridis_c(option = "plasma", trans = "sqrt") +
labs(title = "Frecuencia de comunas de origen - Bicicleta", fill = "Frecuencia") +
theme_minimal()
comuna_destino_v_1 <- as.data.frame(table(df_vehiculo_1$`comuna origen`))
colnames(comuna_destino_v_1) <- c("comuna", "frecuencia")
comunas_destino_v_1 <- merge(comunas, comuna_destino_v_1, by.x = "comuna", by.y = "comuna", all.x = TRUE)
comunas_destino_v_1$frecuencia[is.na(comunas_destino_v_1$frecuencia)] <- 0
# destino bici
ggplot(data = comunas_destino_v_1) +
geom_sf(aes(fill = frecuencia)) +
scale_fill_viridis_c(option = "plasma", trans = "sqrt") +
labs(title = "Frecuencia de comunas de destino - Bicicleta", fill = "Frecuencia") +
theme_minimal()
Los siguientes mapas muestran las comunas de origen y destino para las personas que se movilizan utilizando moto.
# moto
df_vehiculo_2 <- df_seleccionado[df_seleccionado$`TIPO DE VEHÍCULO` == 2, ]
comuna_origen_v_2 <- as.data.frame(table(df_vehiculo_2$`comuna origen`))
colnames(comuna_origen_v_2) <- c("comuna", "frecuencia")
comunas_origen_v_2 <- merge(comunas, comuna_origen_v_2, by.x = "comuna", by.y = "comuna", all.x = TRUE)
comunas_origen_v_2$frecuencia[is.na(comunas_origen_v_2$frecuencia)] <- 0
# origen moto
ggplot(data = comunas_origen_v_2) +
geom_sf(aes(fill = frecuencia)) +
scale_fill_viridis_c(option = "plasma", trans = "sqrt") +
labs(title = "Frecuencia de comunas de origen - Moto", fill = "Frecuencia") +
theme_minimal()
comuna_destino_v_2 <- as.data.frame(table(df_vehiculo_2$`comuna origen`))
colnames(comuna_destino_v_2) <- c("comuna", "frecuencia")
comunas_destino_v_2 <- merge(comunas, comuna_destino_v_2, by.x = "comuna", by.y = "comuna", all.x = TRUE)
comunas_destino_v_2$frecuencia[is.na(comunas_destino_v_2$frecuencia)] <- 0
# destino moto
ggplot(data = comunas_destino_v_2) +
geom_sf(aes(fill = frecuencia)) +
scale_fill_viridis_c(option = "plasma", trans = "sqrt") +
labs(title = "Frecuencia de comunas de destino - Moto", fill = "Frecuencia") +
theme_minimal()
Los siguientes mapas muestran las comunas de origen y destino para las personas que se movilizan utilizando carro.
# Carro
df_vehiculo_3 <- df_seleccionado[df_seleccionado$`TIPO DE VEHÍCULO` == 3, ]
comuna_origen_v_3 <- as.data.frame(table(df_vehiculo_3$`comuna origen`))
colnames(comuna_origen_v_3) <- c("comuna", "frecuencia")
comunas_origen_v_3 <- merge(comunas, comuna_origen_v_3, by.x = "comuna", by.y = "comuna", all.x = TRUE)
comunas_origen_v_3$frecuencia[is.na(comunas_origen_v_3$frecuencia)] <- 0
# origen carro
ggplot(data = comunas_origen_v_3) +
geom_sf(aes(fill = frecuencia)) +
scale_fill_viridis_c(option = "plasma", trans = "sqrt") +
labs(title = "Frecuencia de comunas de origen - Carro", fill = "Frecuencia") +
theme_minimal()
comuna_destino_v_3 <- as.data.frame(table(df_vehiculo_3$`comuna origen`))
colnames(comuna_destino_v_3) <- c("comuna", "frecuencia")
comunas_destino_v_3 <- merge(comunas, comuna_destino_v_3, by.x = "comuna", by.y = "comuna", all.x = TRUE)
comunas_destino_v_3$frecuencia[is.na(comunas_destino_v_3$frecuencia)] <- 0
# destino CARRO
ggplot(data = comunas_destino_v_3) +
geom_sf(aes(fill = frecuencia)) +
scale_fill_viridis_c(option = "plasma", trans = "sqrt") +
labs(title = "Frecuencia de comunas de destino - Carro", fill = "Frecuencia") +
theme_minimal()