GTFS , o Especificación General de Alimentación de Tránsito , es una especificación general de alimentación de tránsito que define un formato de datos común para los horarios del transporte público y la información geográfica asociada. [ 1 ] GTFS contiene solo información estática o programada sobre los servicios de transporte público, y a veces se le conoce como GTFS Estático o GTFS Programado para distinguirlo de la extensión GTFS en Tiempo Real , que define cómo se puede compartir la información sobre el estado en tiempo real de los servicios. [ 1 ] [ 2 ]
Historia
Lo que se convertiría en GTFS comenzó como un proyecto paralelo del empleado de Google Chris Harrelson en 2005, quien "experimentaba con formas de incorporar datos de transporte público a Google Maps cuando Tim y Bibiana McHugh, gerentes de TI casados en TriMet , la agencia de transporte público de Portland , Oregón, se pusieron en contacto con él". [ 3 ] Se menciona que McHugh se sentía frustrado por la dificultad de encontrar direcciones de transporte público en ciudades desconocidas, mientras que los servicios de mapas populares ya ofrecían indicaciones para conducir fáciles de usar en ese momento. [ 4 ]
Bibiana y Tim McHugh finalmente se pusieron en contacto con Google y le proporcionaron exportaciones en formato CSV de los datos de horarios de TriMet. En diciembre de 2005, Portland se convirtió en la primera ciudad en aparecer en la primera versión del "Planificador de viajes en transporte público" de Google. [ 5 ] En septiembre de 2006, se añadieron cinco ciudades más de EE. UU. al Planificador de viajes en transporte público de Google, y el formato de datos se publicó como la Especificación de feeds de transporte público de Google . [ 6 ]
En Estados Unidos , antes de la llegada de GTFS, no existía ningún estándar para los horarios del transporte público, ni siquiera un estándar de facto . Según Timothy Moore, administrador del sitio web de BART desde hace mucho tiempo , antes de la llegada de GTFS, BART tenía que proporcionar a los diferentes usuarios de datos distintos formatos, lo que hacía muy deseable un formato de transporte estandarizado. [ 3 ] La especificación del formato, disponible públicamente y de forma gratuita, así como la disponibilidad de horarios GTFS, rápidamente llevaron a los desarrolladores a basar su software relacionado con el transporte en este formato. Esto dio como resultado "cientos de aplicaciones de transporte útiles y populares" [ 4 ] , así como catálogos que enumeran las fuentes GTFS disponibles. Debido al formato de datos común al que se adhieren estas aplicaciones, las soluciones no necesitan ser personalizadas para un operador de transporte, sino que pueden extenderse fácilmente a cualquier región donde haya una fuente GTFS disponible.
Debido al uso generalizado del formato, la parte "Google" del nombre original se consideró un nombre inapropiado que "hacía que algunos usuarios potenciales se mostraran reacios a adoptar GTFS". En consecuencia, en 2009 se propuso cambiar el nombre de la especificación a Especificación General de Feeds de Tránsito. [ 7 ]
Aplicaciones


Planificación de viajes
GTFS se utiliza habitualmente para proporcionar datos sobre el transporte público en aplicaciones de planificación de viajes multimodales . En la mayoría de los casos, GTFS se combina con una representación detallada de la red vial/peatonal para permitir la planificación de rutas de punto a punto, en lugar de solo entre paradas. Estos datos suelen ampliarse mediante GTFS-Realtime para incorporar retrasos, cancelaciones y viajes modificados en las consultas de planificación de viajes en tiempo real. OpenTripPlanner es un software de código abierto que permite la planificación de viajes con una combinación de datos GTFS y OpenStreetMap . [ 8 ] Existen otras aplicaciones de propósito general, como la extensión ArcMap Network Analyst, que puede incorporar GTFS para la planificación de rutas de transporte público. [ 9 ]
GTFS fue diseñado originalmente para su uso en Google Transit , una aplicación en línea para la planificación de viajes multimodales.
Investigación sobre accesibilidad
GTFS se utiliza a menudo en investigaciones sobre accesibilidad al transporte público , donde se emplea normalmente para estimar los tiempos de viaje en transporte público desde un punto a muchos otros puntos en diferentes momentos del día. [ 10 ] [ 11 ] Sin embargo, algunos estudios han puesto en duda dichas aplicaciones debido a su dependencia exclusiva de los horarios, sin tener en cuenta los problemas de fiabilidad ni el incumplimiento habitual de los mismos. [ 12 ]
Comparación de los niveles de servicio
GTFS se ha utilizado para medir los cambios en la accesibilidad debido a cambios en la prestación del servicio de transporte público, ya sean reales [ 13 ] o propuestos. [ 14 ] El análisis de los cambios en el servicio a lo largo del tiempo se puede realizar simplemente comparando los datos GTFS publicados para la misma agencia de diferentes períodos. Para comparar el servicio existente con la infraestructura o los cambios de servicio propuestos, a menudo es necesario construir manualmente un GTFS futuro basado en las características del servicio propuesto. [ 14 ]
registros de piensos
Los feeds GTFS públicos se han agregado en diversos registros de feeds:
- La base de datos de movilidad (2023 - actualidad) se basa en TransitFeeds (2013-2024), que mantenía un directorio de fuentes GTFS y GTFS en tiempo real , así como un sitio web interactivo para explorar el contenido de las fuentes.
- Transitland (2014 - presente) mantiene un directorio de fuentes GTFS y GTFS Realtime en más de 55 países y proporciona tanto un sitio web interactivo como API para consultar el contenido de las fuentes. Transitland fue creado originalmente por Mapzen y ahora es mantenido por Interline Technologies .
- El Intercambio de Datos GTFS, archivado el 25 de abril de 2013 en la Wayback Machine (2008–2016), permitía a las agencias de transporte público de todos los tamaños subir copias de sus feeds GTFS. El sitio web ya no está activo.
Estructura

Un feed GTFS es una colección de al menos seis y hasta 20 o más archivos CSV (con extensión .txt ) contenidos en un archivo .zip . La codificación de caracteres preferida es UTF-8 . En conjunto, las tablas CSV relacionadas describen las operaciones programadas de un sistema de transporte público tal como las ven los usuarios. La especificación está diseñada para proporcionar la funcionalidad de planificación de viajes, pero también es útil para otras aplicaciones, como el análisis de los niveles de servicio y algunas medidas generales de rendimiento. A diferencia de los estándares de intercambio de la industria del transporte público europeos, como Transmodel o VDV -45X, GTFS solo incluye operaciones programadas destinadas a ser distribuidas a los usuarios. También se limita a la información programada y no incluye información en tiempo real. Sin embargo, la información en tiempo real puede relacionarse con los horarios GTFS según la especificación GTFS Realtime correspondiente . [ 1 ] [ 2 ]
A continuación se describen las tablas necesarias para una fuente de datos GTFS válida. Cada tabla es, literalmente, un archivo CSV cuyo nombre coincide con el nombre de la tabla, seguido de la extensión '.txt'. Por ejemplo, para la tabla 'agency' que se muestra a continuación, se incluiría un archivo CSV llamado 'agency.txt' en una fuente GTFS válida.
Tablas obligatorias
agencia
La tabla de agencias proporciona información sobre la agencia de transporte como tal, incluyendo nombre, sitio web e información de contacto.
Campos obligatorios:
- nombre_de_la_agencia
- URL de la agencia
- zona horaria de la agencia
rutas
La tabla de rutas identifica rutas distintas. Esto debe distinguirse de los enrutamientos (o caminos) distintos, varios de los cuales pueden pertenecer a una sola ruta.
Campos obligatorios:
- route_id ( clave primaria )
- nombre_corto_de_ruta
- nombre_largo_de_ruta
- tipo_de_ruta
- color de fondo
- color de primer plano
viajes
Campos obligatorios:
- trip_id (clave primaria)
- route_id ( clave foránea )
- service_id (clave externa)
Campos opcionales:
- block_id: El ID del bloque indica el bloque de horario al que pertenece un viaje.
tiempos de parada
Campos obligatorios:
- stop_id (clave primaria)
- trip_id (clave externa)
- hora_de_llegada
- hora_de_salida
- secuencia de parada
Cabe señalar que el tiempo de permanencia puede calcularse mediante la diferencia entre la hora de llegada y la de salida. Sin embargo, muchas agencias no suelen calcular el tiempo de permanencia para la mayoría de las paradas.
paradas
La tabla de paradas define la ubicación geográfica de cada una de las paradas o estaciones del sistema de transporte público, así como, opcionalmente, algunos de los servicios asociados a dichas paradas.
Campos obligatorios:
- stop_id (clave primaria)
- nombre_de_parada
- detener_lon
- latitud de parada
calendario
La tabla de calendario define patrones de servicio que se ejecutan de forma recurrente, como por ejemplo, todos los días laborables. Los patrones de servicio que no se repiten, como los de un evento especial único, se definirán en la tabla calendar_dates.
Campos obligatorios:
- service_id (clave primaria)
- Lunes
- Martes
- Miércoles
- Jueves
- Viernes
- Sábado
- Domingo
- fecha_de_inicio
- fecha_final
Tablas opcionales
fechas_del_calendario
La tabla de fechas del calendario es opcional y añade excepciones al archivo calendar.txt. Esto puede implicar añadir o eliminar días, por ejemplo, para el servicio en días festivos. El archivo solo contiene tres columnas: el ID del servicio, la fecha y el tipo de excepción (añadida o eliminada). No es necesario que el ID del servicio esté incluido en el archivo calendar.txt para que se añada a esta tabla.
atributos_de_tarifa
Información tarifaria para las rutas de una agencia de transporte público. Forma parte del formato Tarifas v1.
reglas_de_tarifa
Reglas para la aplicación de tarifas en itinerarios. Parte del formato Tarifas v1.
La mayoría de las estructuras tarifarias utilizan alguna combinación de las siguientes reglas:
- La tarifa depende de las estaciones de origen o destino.
- La tarifa depende de las zonas por las que pase el itinerario.
- La tarifa depende de la ruta que se utilice en el itinerario.
formas
Reglas para trazar líneas en un mapa que representen las rutas de una organización de transporte público.
frecuencias
Esta tabla especifica el intervalo (tiempo entre viajes) para rutas con frecuencia de servicio variable.
transferencias
Normas para realizar conexiones en los puntos de transbordo entre rutas.
información_de_alimentación
Se puede configurar una fecha de inicio y una fecha de vencimiento opcionales para la fuente de datos. Las agencias pueden publicar fuentes de datos con varios días de antelación. De esta forma, las aplicaciones de planificación de viajes mantienen múltiples versiones de la fuente de datos y la correcta para un día u hora específicos.
categorías_de_ciclistas
Archivo opcional para definir categorías de pasajeros que correspondan a clases tarifarias. Se puede especificar una como predeterminada (normalmente, tarifa completa para adultos). Se pueden proporcionar URL con información adicional. Forma parte del formato Tarifas v2.
fare_media
Esta tabla se utiliza para especificar los métodos disponibles para pagar y validar la tarifa. Forma parte del formato Tarifas v2.
productos_tarifa
Esta tabla se utiliza para especificar el precio de las distintas tarifas. Forma parte del formato Tarifas v2 y admite tarifas que varían según la ruta, la distancia, las zonas, la categoría del pasajero, el método de pago y los transbordos utilizados.
vías
Esta tabla se utiliza como parte de las rutas GTFS para proporcionar información de navegación interna de la estación. Las rutas conectan los nodos definidos en stops.txt para especificar cómo viajar desde las entradas de la estación hasta los andenes de embarque.
niveles
Tablas utilizadas como parte de GTFS Pathways para definir los niveles de las estaciones como referencia para los nodos en stops.txt. Un índice positivo indica un nivel por encima del suelo, 0 es el nivel del suelo y negativo significa que está por debajo del suelo.
traducciones
La tabla de traducciones consta de estas columnas: table_name, field_name, field_value, record_id, record_sub_id, language, translation. Las traducciones se dividen en sus tablas respectivas, y cualquier campo de texto o URL puede ser traducido. Las traducciones en GTFS usan dos tipos de claves en la tabla clave-valor. Record_id usa un ID para el campo como stop_id o trip_id, mientras que field_value es un valor que coincide con el contenido original de field_name. Las tablas que usan una tupla de dos valores , como stop_times, usan record_id y record_sub_id para representar la tupla. La columna translation es la salida.
Véase también
Referencias
- 1 2 3 "Descripción general estática de GTFS" . GoogleDevelopers . Archivado del original el 29 de septiembre de 2022. Recuperado el 29 de septiembre de 2022 .
- 1 2 "Descripción general de GTFS en tiempo real" . GoogleDevelopers . Archivado del original el 29 de septiembre de 2022. Recuperado el 29 de septiembre de 2022 .
- 1 2 Roush, Wade (2012). "Bienvenido al transporte público de Google: cómo (y por qué) el gigante de las búsquedas está reconfigurando el transporte público" (PDF) . Transporte comunitario : 3. Recuperado el 14 de marzo de 2016 .
- 1 2 Dyson, Lauren; Goldstein, Brett; Nemani, Abhi (2013). Más allá de la transparencia . Code for America Press. págs. 125–135 . CiteSeerX 10.1.1.674.6114 .
- ↑ Garg, Avichal. "Transporte público a través de Google" . Blog oficial de Google . Archivado del original el 24 de marzo de 2016. Consultado el 14 de marzo de 2016 .
- ↑ Harrelson, Chris. "Felices senderos con Google Transit" . Blog oficial de Google . Archivado del original el 24 de marzo de 2016. Consultado el 14 de marzo de 2016 .
- ↑ Hughes, Joe. "Propuesta: eliminar "Google" del nombre de GTFS" . Cambios en la especificación de la fuente de tránsito general . Grupos de Google. Archivado del original el 29 de septiembre de 2022. Recuperado el 14 de marzo de 2016 .
- ↑ "Inicio | OpenTripPlanner" . www.opentripplanner.org . Archivado del original el 8 de mayo de 2017. Consultado el 12 de mayo de 2017 .
- ↑ "¡Genial, transporte público! - Uso de datos GTFS en ArcGIS Network Analyst" . transit.melindamorang.com . Archivado del original el 19 de mayo de 2017. Consultado el 12 de mayo de 2017 .
- ↑ Farber, Steven; Morang, Melinda Z.; Widener, Michael J. (1 de septiembre de 2014). "Variabilidad temporal en la accesibilidad a supermercados basada en el transporte público". Geografía Aplicada . 53 : 149–159 . Bibcode : 2014AppGe..53..149F . doi : 10.1016/j.apgeog.2014.06.012 .
- ↑ Fransen, Koos; Neutens, Tijs; Farber, Steven; De Maeyer, Philippe; Deruyter, saluda; Witlox, Frank (1 de octubre de 2015). "Identificar brechas en el transporte público utilizando niveles de accesibilidad dependientes del tiempo" . Revista de Geografía del Transporte . 48 : 176– 187. Código bibliográfico : 2015JTGeo..48..176F . doi : 10.1016/j.jtrangeo.2015.09.008 . hdl : 1854/LU-6956461 .
- ↑ Wessel, Nate; Allen, Jeff; Farber, Steven (1 de junio de 2017). "Construcción de un horario de tránsito retrospectivo enrutable a partir de una fuente de ubicación de vehículos en tiempo real y GTFS". Journal of Transport Geography . 62 : 92–97 . Bibcode : 2017JTGeo..62...92W . doi : 10.1016/j.jtrangeo.2017.04.012 . ISSN 0966-6923 .
- ↑ Farber, Steven; Fu, Liwei (1 de marzo de 2017). "Accesibilidad dinámica al transporte público mediante cubos de tiempo de viaje: comparación de los efectos de las (des)inversiones en infraestructura a lo largo del tiempo" . Computers, Environment and Urban Systems . 62 : 30–40 . Bibcode : 2017CEUS...62...30F . doi : 10.1016/j.compenvurbsys.2016.10.005 .
- 1 2 Farber, Steven; Grandez, Maria (2017). "Accesibilidad al transporte público, desarrollo territorial y prioridad socioeconómica: una tipología de áreas de captación de estaciones planificadas en el área metropolitana de Toronto y Hamilton" (PDF) . Journal of Transport and Land Use . 10 (1). doi : 10.5198/jtlu.2017.980 . (nota: próxima edición).
Este artículo contiene extractos de "Opening Public Transit Data in Germany" de Stefan Kaufmann, disponible bajo una licencia Creative Commons Attribution 3.0 unported.
Enlaces externos
- Documentación de Google sobre la especificación GTFS
- Historia de GTFS
- Herramientas GTFS
- Centro de recursos GTFS gestionado por MobilityData
- Artículo sobre las especificaciones generales de los piensos para transporte público en TransitWiki, con historia, usos y aplicaciones, métodos de producción y mejores prácticas.
- Sistemas de información del transporte público
- Programación (transporte)
- formatos de sindicación web
- formatos de archivos informáticos
- Datos abiertos