====== Donostia, ¿Ciudad en 15 minutos? ====== Esta página sirve de documentación para el proyecto "Donostia, ¿Ciudad en 15 minutos?" de Carlos Pérez Miguel dentro del [[datosparaaccion|Taller datos para la acción]]. Pese al relativamente pequeño tamaño de nuestra ciudad, su extensión y orografía imposibilitan que se pueda considerar como una ciudad en 15 minutos. Podríamos pensar que si combinamos el transporte a pie con el transporte público esto se podría conseguir, pero muchas de las líneas de autobús del municipio tienen tiempos de recorrido superiores a los 30 minutos. ¿Podemos movernos entre dos puntos cualesquiera de San Sebastián en 15 minutos o menos si se realizaran ciertos cambios en la ciudad y en la planificación de líneas? Al reducir los tiempos de los viajes en transporte público, atraeríamos más gente a dicho medio de transporte, reduciríamos el uso del coche privado y, por lo tanto, mejoraríamos el tráfico en general de la ciudad y el propio transporte público. ===== Objetivos ===== * Analizar las rutas de Dbus buscando mejoras para minimizar tiempos de recorrido total de cada línea * Analizar la distribución de calles y velocidades de la ciudad para proponer mejoras de tráfico que consigan reducir dichos tiempos Intentaremos primeramente responder a la siguiente pregunta: ¿Dada una cierta línea de bus, cuales son los parámetros que más influyen en el tiempo de recorrido? En el fondo, lo que más afecta a la velocidad es la congestión (falta de carril reservado), semáforos y cruces, número de paradas y el acceso de las personas a los buses, siempre por la puerta delantera (lo que forma colas en las paradas más importantes). Para ello partiremos de la siguiente hipótesis: **En el tiempo de recorrido en una línea influye más la no existencia de carriles reservados que el tráfico o el número de paradas.** Para ello seguiremos la siguiente metodología: - Elegiremos las 2 líneas más utilizadas de la ciudad: 13-Alza y 28-Amara Hospitales. - Calcular tiempo mínimo que un vehículo podría recorrerlas a la velocidad máxima de la vía. - Calcular velocidades planificadas por Dbus para cada línea. - Si puede ser, calcular velocidades reales a través de datos de tiempo real. - Extraer datos de OpenStreetMap sobre carriles bus y semáforos. - Extraer datos de tráfico de los viales por los que circulan estas líneas. - Extraer datos de uso de las diversas paradas de la línea. - Plotear esta información conjuntamente para ver si podemos extraer alguna conclusión. ===== Lineas a analizar ==== ===== 13 - Alza ==== {{ ::13_esquema.svg |}} * La mayoría de las paradas están en el Barrio de Alza, en calles estrechas y sin carriles específicos para el bus. * Existen carriles bus solo en algunas calles del centro. * 25 - 30 minutos de recorrido. * [[https://dbus.eus/es/13-altza/]] ===== 28 - Amara Hospitales ===== {{ ::esquema_linea_28.svg |}} * La mayoría del recorrido sucede por calles del centro con carriles bus. * 20 - 25 minutos de recorrido. * [[https://dbus.eus/es/28-amara-ospitaleak/]] ===== Datos ===== ==== Datos disponibles ==== * Datos de velocidades de tramos en calles de la ciudad * Datos de uso muy generales de las líneas de autobús * Velocidad en viales. Mapa de la velocidad de los viales en la ciudad. Este mapa contiene por cada tramo el nombre de la calle y la velocidad. Sistema de referencia: ETRS89 ZONA 30 EPSG:25830 https://www.donostia.eus/datosabiertos/catalogo/velocidad-viales * Ubicación de las espiras de tráfico en San Sebastián. https://www.donostia.eus/datosabiertos/catalogo/espiras_ubicacion * Aforos de carreteras 2020 https://www.donostia.eus/datosabiertos/catalogo/espiras_historico_2020 * Aforos de carreteras 2021 https://www.donostia.eus/datosabiertos/catalogo/espiras_historico_2021 Estos 3 últimos datos están desactualizados, se ha pedido al ayuntamiento de Donostia datos actualizados a través del registro del Ayuntamiento. Así mismo DBus ha aportado los siguientes datos: * Datos de viajeros mensuales entre Enero de 2017 y Diciembre de 2024 * Viajeros por parada y línea LABORABLES a 6 de marzo de 2024 * Viajes por parada Laborables a 31enero2018 Además, hemos solicitado a través del registro de la Autoridad de Transportes de Gipuzkoa información sobre uso de tarjetas Mugi en Donostia para los últimos 4 años. **Dbus Opendata** [[https://dbus.eus/|DBUS]] cuenta con un sistema OpenData en donde publica información diaria de las rutas que opera y en tiempo real de la ubicación de cada uno de sus autobuses. Tras solicitar acceso al sistema, hemos conseguido acceder a una serie de ficheros CSV con la siguiente información generada cada día: * Rutas. * Expediciones, cada uno de los viajes planeados. * Calendario de actuación de cada una de las expediciones. * Paradas. * Tiempos planificados de paso por cada una de las paradas para cada una de las expediciones. Así mismo, se genera un fichero con datos de paso de cada uno de los autobuses en tiempo real cada 2 minutos. Para conseguir el acceso al sistema es necesario firmar un contrato de cesión de datos que nos permite mostrar información derivada de dichos datos. ==== Datos necesarios ==== * Datos sobre uso de cada una de las paradas de Dbus. Esto se podría conseguir de dos formas: o bien a través de Dbus, o bien a través de datos de las tarjetas de Mugi. * Datos de tráfico de cada una de las calles: probablemente a través del Ayuntamiento. * Datos de velocidades de los GPS de los autobuses (Dbus) Algo que vendría bien son datos de aforo de los buses por parada ¿se podría conseguir a través de Mugi o de la Autoridad Territorial de Transporte de Gipuzkoa? ===== Herramientas últiles ===== * Open Source Routing Machine: https://github.com/Project-OSRM/osrm-backend * Overpass, para hacer búsquedas en OpenStreetMap: https://overpass-turbo.eu/ * Omsnx, paquete python para hacer búsquedas y plotear mapas: https://osmnx.readthedocs.io/en/stable/index.html * Folium, paquete para dibujar mapas en python: https://python-visualization.github.io/folium/latest/index.html * Buscando carriles bus: https://wiki.openstreetmap.org/wiki/Bus_lanes, https://wiki.openstreetmap.org/wiki/ES:Key:lanes:psv?uselang=es * Referencia útil. Post sobre manejo de mapas y datos en R sobre Paris: https://rysebaert.github.io/climbing_paris/ * Prettymaps, para dibujar mapas bonitos en python: https://github.com/marceloprates/prettymaps * Geopandas, versión de pandas que soporta manejo de geometrías: https://geopandas.org/en/stable/index.html * Plotly parece que soporta plotear mapas combinando con geopandas: https://plotly.com/python/lines-on-tile-maps/ ===== Primer experimento ===== Vamos a intentar plotear los datos que tenemos en tiempo real para las dos lineas generando una serie de gráficos con el tiempo total de recorrido para todas las expediciones que tenemos. Metodología: Conseguir un agregado de los datos para cada expedición con las siguientes columnas: - Id Ruta - Id Expedición - Dirección (ida o vuelta) - Hora Salida de la cabecera - Hora final - Duración (Final - Salida) Así mismo, hemos extraído datos de GoogleMaps sobre el recorrido en coche para distintos momentos del día y distintos días de la semana. Este tiempo Google nos lo da en un rango: tiempo máximo y mínimo. A futuro queremos añadir tiempo extra a este dato para simular el tiempo de aparcamiento ya que ese tiempo no se tiene en cuenta ahora mismo a la hora de comparar. Con toda esta información, podemos generar los siguientes gráficos para la línea 13: {{ ::duracion_bus_por_horas_y_dias.png?400 |}} {{ ::duracion_bus_por_horas.png?400 |}} {{ ::duracion_bus_por_dias.png?400 |}} Como se puede ver, hay mucha variabilidad entre los distintos viajes. Sin embargo, y sin contar tiempo para aparcar, todos los viajes son más lentos que realizar el mismo recorrido en coche. Puntos de mejora: * Automatizar la creación de los mismos gráficos para todas las líneas. * Limpiar mejor los datos, ya que tenemos algunos datos extraños y por algún motivo en este fichero agregado para la línea 13 han desaparecido los datos del 12 de Noviembre. Teniendo en cuenta esto, es necesario realizar una análisis por segmentos de cada línea para intentar entender el por que de estos tiempos. el objetivo final sería responder a la siguiente pregunta: ¿Que segmentos son los más lentos? En un intento de responder esta pregunta vamos a hacer un diagrama de cada recorrido en donde en el eje horizontal mostremos la hora y en el vertical la parada por la que pasa. Esto generara un gráfico de diagonales que serán más o menos inclinadas en función del tiempo empleado en su recorrido. Este sería un ejemplo de dicho gráfico: {{ ::newplot.png?400 |}} ===== Agradecimientos ===== Los autores de este estudio desean agradecer a [[https://dbus.eus/|DBUS]], y en especial a Javier Vallejo, Director de Operaciones, Planificación y Proyectos de Dbus, por su apoyo y colaboración a la hora de concedernos el acceso al sistema de OpenData de Dbus así como por hacernos llegar datos de utilización de paradas y líneas. Así mismo, quisiéramos dar las gracias a los trabajadores de Udalinfo del Ayuntamiento de Donostia y a la [[https://www.atgipuzkoa.eus/es/|Autoridad de Transportes de Gipuzkoa]] por su apoyo en este estudio.