O que á GTFS-realtime?

A GTFS-realtime é uma especificação de feeds que permite que as agências de transporte público forneçam atualizações em tempo real sobre suas frotas a desenvolvedores de aplicativos. Ela é uma extensão para a GTFS (Especificação Geral para Feeds de Transporte Público), um formato de dados abertos para horários de transporte público e informações geográficas associadas. A GTFS-realtime foi desenvolvida tendo em mente facilidade de uso, boa interoperabilidade com GTFS e foco em informações sobre passageiros.

A especificação foi desenvolvida por meio de uma parceria inicial entre agências de parceiros de Atualizações dinâmicas de transporte público, vários desenvolvedores de transporte público e o Google. A especificação está publicada sob a licença Apache 2.0.

Como faço para começar?

  1. Continue lendo a visão geral abaixo.
  2. Decida quais tipos de feed você fornecerá.
  3. Dê uma olhada nos feeds de exemplo.
  4. Crie seus feeds usando a referência.
  5. Publique seu feed.

Visão geral dos tipos de feed GTFS-realtime

No momento, a especificação suporta os seguintes tipos de informação:

  • Atualizações de viagem: atrasos, cancelamentos, alterações em trajetos
  • Alertas de serviço: paradas movidas, eventos não previstos que afetam uma estação, um trajeto ou toda a rede
  • Posições de veículos: informações sobre os veículos, incluindo local e nível de congestionamento

São fornecidas atualizações de cada tipo em um feed separado. Os feeds são transmitidos por HTTP e atualizados com frequência. O arquivo é binário, de modo que cada tipo de servidor da Web pode hospedar e transmitir o arquivo (outros protocolos de transferência também podem ser úteis). Como opção, os servidores de aplicativos da Web também podem ser usados, o que, como uma resposta a uma solicitação GET de HTTP válida, retornará o feed. Não há restrições sobre a frequência ou sobre o método exato para a atualização ou recuperação do feed.

Como a GTFS-realtime permite apresentar o status real de sua frota, o feed precisa ser atualizado regularmente, preferivelmente sempre que novos dados chegarem de seu sistema de localização automática de veículos.

Mais sobre tipos de feed...

Formato de dados

O formato de troca de dados da GTFS-realtime baseia-se em Buffers de protocolo.

Buffers de protocolo são um mecanismo neutro em relação a linguagens e plataformas para serialização de dados estruturados (por exemplo, pense em XML, mas mais rápido, menor e mais simples). A estrutura dos dados é definida em um arquivo gtfs-realtime.proto, que, então, é usado para gerar códigos de origem para ler e gravar seus dados estruturados com facilidade e para uma variedade de fluxos de dados, usando várias linguagens, por exemplo Java, C++ ou Python.

Mais sobre Buffers de protocolo....

Estrutura de dados

A hierarquia de elementos e as respectivas definições de tipos são especificadas no arquivo gtfs-realtime.proto .

Este arquivo de texto é usado para gerar as bibliotecas necessárias em sua linguagem de programação preferida. Essas bibliotecas fornecem as classes e as funções necessárias para gerar feeds GTFS-realtime válidos. As bibliotecas não apenas facilitam a criação de feeds, mas também garantem que apenas feeds válidos serão produzidos.

Mais sobre a estrutura de dados...

Como obter ajuda

Para participar de discussões sobre a GTFS-realtime e sugerir alterações e adições à especificação, participe do grupo de discussão da GTFS-realtime.

Google Maps e Atualizações dinâmicas de transporte público

Um dos aplicativos que usa a GTFS-realtime é o Atualizações dinâmicas de transporte público, um recurso do Google Maps que fornece aos usuários informações de transporte público em tempo real. Se você trabalha para uma agência de transporte público que está interessada em fornecer atualizações em tempo real ao Google Maps, visite a página Parceiros do Google Transit.