bd_waze <- read.csv("/Users/juandiego/Downloads/28ba197e-fe89-40f4-91f4-705a0f713ecc.csv")
filas_marinilla = which(bd_waze$Municipality == "Marinilla")
bd_waze_marinilla = bd_waze[filas_marinilla,]

Introducción

Marinilla es un municipio colombiano ubicado en el departamento de Antioquia y es uno de los 9 municipios que conforman el altiplano del oriente. Su cabecera se ubica aproximadamente a 40 minutos de la ciudad de Medellín, tiene 31 barrios y el mismo número de veredas, entre las cuales se encuentran: La Peña, Belén, Chochó Mayo, San José, Yarumos, La Milagrosa y Montañita. El municipio no cuenta con aeropuerto alguno y no posee vías fluviales. La principal arteria de comunicación del municipio es la autopista Medellín-Bogotá y la vía que conduce hacia el municipio de El Peñol. Marinilla tiene vías pavimentadas que conectan las veredas del municipio, además la zona urbana cuenta con un sistema de vías peatonales y calles pavimentadas.

Es conocida como «la Esparta colombiana», debido a que, durante la Independencia, los hijos de Marinilla protagonizaron y lideraron diferentes batallas. Hoy Marinilla se ha convertido en un gran centro cultural de Antioquia y de Colombia, es tierra de historias, de guitarras y goza de una gran belleza natural. Es patrimonio y monumento nacional declarado por el decreto 264 del 12 de febrero de 1963. Esta población se enfrenta a diversos retos relacionados con la movilidad vehicular, los cuales son de especial interés en este informe, dado que la infraestructura y el transporte son aspectos clave para el desarrollo y la integración del municipio en la región.

Marinilla tiene una población de 64 645 habitantes según el censo de 2018.2​ Su población urbana es de 44 230 habitantes, y la rural de 20 415. La tasa de alfabetización es del 93.3 %.7​ Los mestizos y los blancos constituyen el 99,7 de la población y los negros y afrodescendientes, el 0,3.

Waze for Cities

La infraestructura deficiente y la ausencia de cámaras de vigilancia, semáforos inteligentes y otros sistemas tecnológicos en Marinilla contribuyen a los problemas de movilidad en el municipio. La escasez de herramientas de monitoreo y control del tráfico genera dificultades para la gestión eficiente del transporte y la seguridad vial. Sin una infraestructura moderna, los residentes y conductores deben enfrentarse a situaciones impredecibles en las vías, como congestiones, accidentes o desvíos no señalizados.

En este contexto, el uso de bases de datos como las de Waze se convierte en una necesidad para mejorar la movilidad en Marinilla Waze, al ser una aplicación basada en la colaboración en tiempo real, permite a los conductores y agencias de seguridad vial compartir información sobre el tráfico, accidentes, bloqueos o cualquier otro inconveniente en las rutas. Esto es especialmente relevante en un municipio donde la información sobre el estado de las vías no siempre está actualizada o disponible de manera oficial.

Waze for Cities permite la colaboración entre ciudades y ciudadanos para mejorar la movilidad urbana. Facilita el intercambio de datos sobre incidentes y cierres viales, lo que ayuda a los gobiernos a responder rápidamente a accidentes y congestión. Además, Waze utiliza estos datos para ofrecer información en tiempo real sobre las condiciones del tráfico, lo que mejora la seguridad y eficiencia de las rutas. El programa también apoya la planificación urbana al proporcionar datos crowdsourced para decisiones informadas sobre infraestructura y transporte. Cualquier ciudad o entidad pública puede unirse. Para hacerlo, deben registrarse en la plataforma y establecer una colaboración con Waze. El programa utiliza la base de datos generada por los usuarios de Waze.

Explicación de las variables

En este conjunto de datos, se incluyen diversas variables que describen eventos relacionados con la movilidad en los municipios. A continuación, se detallan algunas de las variables más relevantes:

require(knitr)
require(kableExtra)
knitr::kable(head(bd_waze_marinilla)) %>%
  kable_styling() %>%
  scroll_box(width = "100%", height = "300px")
idEvent idMunicipality Municipality idDANEMunicipality StartDate StartTime EndTime StreetType Type SubType RoadType AverageReliability Location_X Location_Y
1550 52370 8 Marinilla 5440 2024-11-28 19:45 01:35 AP Medellín-Bogotá / RN60-04 >Oriente HAZARD HAZARD_ON_ROAD_CONSTRUCTION 3 7 -75.32716 6.168090
1622 53758 8 Marinilla 5440 2024-11-28 21:11 02:21 Carrera 31 JAM 2 5 -75.33514 6.173527
1623 53760 8 Marinilla 5440 2024-11-28 20:48 02:21 AP Medellín-Bogotá / RN60-04 >Occidente JAM JAM_HEAVY_TRAFFIC 3 5 -75.33310 6.168423
1658 54664 8 Marinilla 5440 2024-11-28 21:15 02:51 Calle 28 JAM 2 5 -75.33497 6.171736
1777 57078 8 Marinilla 5440 2024-11-28 22:43 04:01 JAM JAM_HEAVY_TRAFFIC 2 5 -75.34535 6.172675
1801 57560 8 Marinilla 5440 2024-11-28 22:47 04:15 Carrera 43 JAM JAM_HEAVY_TRAFFIC 2 5 -75.34551 6.174964
  • idEvent: Identificador único para cada evento registrado. (Variable cualitativa - nominal)
  • idMunicipality: Identificador del municipio donde ocurre el evento. (Variable cualitativa - nominal)
  • Municipality: Nombre del municipio. (Variable cualitativa - nominal)
  • idDANEMunicipality: Identificador asociado a la clasificación DANE del municipio. (Variable cualitativa - nominal)
  • StartDate: Fecha de inicio del evento. (Variable cuantitativa - continua)
  • StartTime: Hora de inicio del evento. (Variable cuantitativa - continua)
  • EndTime: Hora de finalización del evento. (Variable cuantitativa - continua)
  • StreetType: Tipo de calle donde ocurre el evento. (Variable cualitativa - nominal)
  • Type: Tipo de evento (accidente, congestión, etc.). (Variable cualitativa - nominal)
  • SubType: Subcategoría del tipo de evento. (Variable cualitativa - nominal)
  • RoadType: Tipo de carretera afectada. (Variable cualitativa - nominal)
  • AverageReliability: Promedio de fiabilidad de la información sobre el evento. (Variable cuantitativa - continua)
  • Location_X: Coordenada X de la ubicación del evento. (Variable cuantitativa - continua)
  • Location_Y: Coordenada Y de la ubicación del evento. (Variable cuantitativa - continua)

Análisis de los datos

Eventos por tipo

require(table1)
require(ggplot2)
table1(~Type, data = bd_waze_marinilla)
Overall
(N=1897)
Type
ACCIDENT 128 (6.7%)
HAZARD 356 (18.8%)
JAM 1393 (73.4%)
ROAD_CLOSED 20 (1.1%)
bd_waze_marinilla = data.frame(bd_waze_marinilla)
ggplot(bd_waze_marinilla, aes(x = bd_waze_marinilla$Type)) +
  geom_bar(fill = "steelblue", color = "black") +
  geom_text(stat = "count", aes(label = after_stat(count)), vjust = -0.5) +
  labs(title = "Frequency of Road Events",
       x = "Event Type",
       y = "Count") +
  theme_minimal()

El tipo de evento con la mayor frecuencia es la congestión vehicular (jam) con 1393 casos reportados, el cual ocurre por un margen significativo en comparación con los otros tipos de eventos. Esto es claramente evidente en el gráfico, donde la congestión vehicular se destaca ampliamente en términos de conteo, superando con creces al siguiente tipo de evento más común. “Peligro en la vía” (hazard) es el segundo tipo de evento más común con 356 casos reportados.

1) Análisis temporal

library(ggplot2)
bd_waze_marinilla$StartHour <- as.numeric(format(as.POSIXct(bd_waze_marinilla$StartTime, format="%H:%M"), "%H"))

ggplot(bd_waze_marinilla, aes(x=StartHour)) +
  geom_histogram(binwidth=1, fill="blue", color="black") +
  labs(title="Eventos por hora", x="Hora", y="Numero de eventos")

Se observan dos picos horarios de eventualidades: uno entre las 2 y las 4 de la tarde, y otro entre las 10 y las 12 de la noche.

Si la congestión vehicular es el evento más común por un margen significativo y se presentan picos durante esas horas, podríamos inferir lo siguiente:

  1. Mayor tráfico en horarios específicos: Los picos entre las 2 y 4 de la tarde, y entre las 10 y 12 de la noche, podrían estar relacionados con el aumento del volumen de vehículos en esas franjas horarias. Esto podría deberse a factores como el horario de salida del trabajo o el regreso a casa, así como el desplazamiento nocturno.

  2. Relación con actividades sociales o laborales: Durante la tarde, puede ser una hora de salida de oficinas, mientras que en la noche, podría estar relacionado con actividades recreativas, cenas o el regreso de personas a casa después de eventos sociales o laborales.

  3. Problemas de infraestructura vial: Los picos podrían sugerir que las carreteras o calles no están adaptadas para manejar el alto volumen de vehículos en esas horas, lo que resulta en congestionamientos. Esto podría indicar la necesidad de mejorar la infraestructura vial o las estrategias de gestión del tráfico.

  4. Condiciones externas: Además, podrían estar influenciados por condiciones como el clima, eventos especiales o el comportamiento habitual de los conductores, lo que genera fluctuaciones en la congestión en esos horarios.

Posibles acciones a considerar:

  • Establecer medidas para mejorar la fluidez del tráfico en esos picos (como el ajuste de semáforos o carriles adicionales).
  • Analizar el comportamiento de los conductores en esos momentos para identificar patrones y optimizar las rutas o el transporte público.

2) Análisis espacial

require(leaflet)

bd_waze_marinilla = data.frame(bd_waze_marinilla)
leaflet() %>% addTiles() %>% addCircleMarkers(lng =bd_waze_marinilla$Location_X ,lat = bd_waze_marinilla$Location_Y, clusterOptions=markerClusterOptions())

Este mapa nos permite visualizar los lugares donde se han reportado eventos a la plataforma. El número en cada punto indica el número de eventos y su color se relaciona con la frecuencia de los eventos en el lugar. Podemos observar que las zonas con mayor numero de eventos resportados son la Calle 29-28 y la Carrera 25, con 365 y 202 incidentes respectivamente.

Frecuencia de incidentes por calle

Esta tabla muestra las calles con más incidentes

# Install and load necessary packages
require(knitr)
require(dplyr)

# Step 1: Count incidents per street
ordered_streets_df <- bd_waze_marinilla %>%
  count(StreetType, name = "Frequency") %>%
  arrange(desc(Frequency)) %>%
  head(3)  # Top 3 streets

# Step 2: Find the top 2 incident types for each of the top streets
top_incident_types <- bd_waze_marinilla %>%
  filter(StreetType %in% ordered_streets_df$StreetType) %>%
  group_by(StreetType, Type) %>%
  summarise(Count = n(), .groups = 'drop') %>%
  arrange(StreetType, desc(Count)) %>%
  group_by(StreetType) %>%
  slice_head(n = 2)  # Top 2 incident types per street

# Step 3: Merge the data
final_table <- ordered_streets_df %>%
  left_join(
    top_incident_types %>%
      group_by(StreetType) %>%
      summarise(Top_Incidents = paste(Type, collapse = ", "), .groups = 'drop'),
    by = "StreetType"
  )

# Step 4: Display the final table
kable(final_table, caption = "Top 3 Streets with Most Incidents and Their 2 Most Frequent Incident Types")
Top 3 Streets with Most Incidents and Their 2 Most Frequent Incident Types
StreetType Frequency Top_Incidents
Marinilla-El Peñol / RD60-15 507 JAM, HAZARD
Calle 28 270 JAM, HAZARD
AP Medellín-Bogotá / RN60-04 >Occidente 255 JAM, HAZARD

Podemos observar que las tres calles con más incidentes son la Vía Marinilla-El Peñol, Calle 28 y la Autopista Medellín-Bogotá. A partir de esta información podemos informar a las autoridades competentes con el objetivo de implementar las medidas necesarias en estas ubicaciones y así mitigar la frecuencia de incidentes en estos sitios. Teniendo en cuenta que en los tres lugares el incidente más común es la congestión vehicular, una posible solución es la apertura de nuevas vías o el redireccionamiento del tráfico que entra y sale del municipio.

Conclusión

A partir de la información presentada, proponemos las siguientes soluciones a los problemas de tráfico en Marinilla

Propuestas para Mejorar la Movilidad en Marinilla

1. Gestión Inteligente del Tráfico

  • Optimización de Semáforos: Implementar sistemas de semáforos inteligentes que se ajusten automáticamente en función del flujo vehicular en tiempo real, utilizando sensores o datos de aplicaciones como Waze.

  • Monitoreo en Tiempo Real:
    Establecer un Centro de Control de Tráfico que permita gestionar incidentes rápidamente a partir de la información reportada en Waze y otras plataformas.

  • Rutas Alternativas Dinámicas:
    Instalar paneles de información variable en las vías principales que sugieran rutas alternativas en caso de congestión.


2. Mejoras en Infraestructura Vial

  • Rediseño de Intersecciones Críticas:
    Identificar los puntos con mayor congestión (según datos de Waze) para rediseñar intersecciones con rotondas, carriles exclusivos o semáforos más eficientes.

  • Carriles Reversibles en Horas Pico:
    Implementar carriles reversibles que cambien de sentido durante las horas de mayor tráfico, optimizando la capacidad vial.

  • Zonas de Carga y Descarga Reguladas:
    Establecer horarios y espacios específicos para la carga y descarga de mercancías, evitando bloqueos en vías principales durante horas pico.


3. Fomento del Transporte Sostenible

  • Incentivos para el Uso del Transporte Público:
    Mejorar la cobertura, frecuencia y calidad del transporte público para hacerlo más atractivo frente al uso del vehículo particular.

  • Promoción del Uso Compartido de Vehículos (Carpooling):
    Fomentar programas de carpooling a través de aplicaciones móviles o alianzas con empresas locales.

  • Infraestructura para Movilidad Activa:
    Desarrollar y mejorar ciclovías seguras y zonas peatonales para reducir la dependencia del automóvil en trayectos cortos.