GTFS en tiempo real es una especificación de feed que permite que las empresas de tranporte público proporcionen actualizaciones en tiempo real sobre su flota a los programadores de la aplicación. Es una extensión de GTFS (Especificación general de feeds de transporte público), un formato de datos abierto para los horarios de transporte público y la información geográfica asociada. GTFS en tiempo real fue diseñado en torno a la facilidad de implementación, buena interoperabilidad GTFS y un enfoque en la información al pasajero.
La especificación fue diseñada a través de la asociación de las empresas que eran inicialmente miembros de Actualizaciones del transporte público en tiempo real, diferentes programadores de transporte público y Google. La especificación está publicada bajo la licencia Apache 2.0.
- Sigue leyendo el resumen general.
- Decide qué tipos de feed proporcionarás.
- Consulta los ejemplos de feeds.
- Crea tus propios feeds mediante la referencia.
- Publica tu feed.
La especificación es compatible actualmente con los siguientes tipos de información:
- Actualizaciones de viaje: retrasos, cancelaciones, cambios de ruta
- Alertas del servicio: traslados de paradas o eventos imprevistos que afectan una estación, ruta o toda la red
- Posiciones del vehículo: información sobre los vehículos, incluidos la ubicación y el nivel de congestión
Las actualizaciones de cada tipo se proporcionan en un feed separado. Los feeds se muestran a través de HTTP y se actualizan con frecuencia. El archivo en sí es un archivo binario normal, por lo que cualquier tipo de servidor web puede alojar y mostrar el archivo (es posible utilizar otros protocolos de transferencia también). También se podrían utilizar servidores de aplicaciones web, los cuales devolverían el feed como una respuesta a una solicitud GET de HTTP válida. No hay limitaciones en cuanto a la frecuencia ni a los métodos exactos con los que el feed debe ser actualizado o recuperado.
Ya que GTFS en tiempo real te permite presentar el estado real de tu flota, el feed debe ser actualizado con frecuencia, preferentemente cuando se reciban nuevos datos del sistema de ubicación automática de vehículos.
Más información sobre los tipos de feed...
El formato de intercambio de datos de GTFS en tiempo real se basa en Búferes de protocolo.
Los búferes de protocolo son un mecanismo de lenguaje y plataforma neutral para serializar datos estructurados (como XML, pero más pequeño, rápido y simple). La estructura de datos se define en un archivo gtfs-realtime.proto, que luego se utiliza para generar el código fuente para leer y escribir fácilmente tus datos estructurados desde y hacia una variedad de flujos de datos, mediante diferentes lenguajes, por ejemplo Java, C++ o Python.
Más información sobre los búferes de protocolo...
La jerarquía de los elementos y las definiciones de su tipo están especificadas en el archivo gtfs-realtime.proto.
Este archivo de texto se utiliza para generar las bibliotecas necesarias en el lenguaje de programación que se elija. Estas bibliotecas proporcionan las clases y funciones necesarias para generar feeds GTFS en tiempo real válidos. Las bibliotecas no solo hacen que la creación del feed sea más fácil, sino que también garantizan que solo se produzcan feeds válidos.
Más información sobre la estructura de los datos.
Para participar en los debates sobre GTFS en tiempo real y sugerir cambios y adiciones a la especificación, únete al grupo de debate de GTFS en tiempo real.
Una de las posibles aplicaciones que utiliza GTFS en tiempo real es Actualizaciones de transporte público en tiempo real, una función de Google Maps que proporciona a los usuarios información de transporte público en tiempo real. Si trabajas para una empresa de transporte público que está interesada en proporcionar actualizaciones en tiempo real para Google Maps, visita la Página de socios de Google Transit.