Visão geral da GTFS Realtime

Fornecer atualizações em tempo real aos usuários de transporte público melhora significativamente a experiência dos passageiros com seus serviços. Fornecer informações atualizadas sobre horários de chegada e partida permite que os usuários planejem suas viagens com tranquilidade. Como resultado, em caso de um atraso não esperado, o usuário fica aliviado de saber com antecedência que ainda tem um tempo extra antes da viagem.

A GTFS Realtime é uma especificação de feed que permite às agências de transporte público fornecer aos desenvolvedores de apps atualizações em tempo real sobre as frotas. Ela é uma extensão da GTFS (Especificação geral de feeds de transporte público), um formato de dados aberto sobre horários de transporte público e informações geográficas relacionadas. A GTFS Realtime foi criada tendo em mente facilidade de uso, boa interoperabilidade com GTFS e foco em informar o passageiro.

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

O que são atualizações dinâmicas de transporte público para o Google Maps?

As atualizações dinâmicas de transporte público são um serviço que fornece atualizações em tempo real para os usuários do Google Maps e Google Maps para dispositivos móveis. Essas atualizações incluem horários dinâmicos de partida e chegada das estações de transporte público e alertas de serviço.

As atualizações de transito ao vivo fornecem aos usuários dois tipos de atualizações em tempo real: horários de partida e alertas de serviço. Os parceiros de transporte público fornecem essas atualizações nos seus feeds. Criamos o formato de feed GTFS Realtime para complementar o formato GTFS amplamente usado para grades de horário estáticas de transporte público. Seu feed precisa estar disponível em um local onde possamos buscá-lo periodicamente. O sistema processa imediatamente as atualizações do feed como informações de atualizações dinâmicas de transporte público.

Como eu começo?

  1. Continue lendo a visão geral abaixo.
  2. Decida quais entidades de feed você fornecerá.
  3. Veja alguns exemplos de feed.
  4. Crie seus próprios feeds usando a referência.
  5. Publique seu feed.

Visão geral dos feeds da GTFS Realtime

No momento, a especificação oferece suporte aos seguintes tipos de informação:

  • Atualizações de viagem: atrasos, cancelamentos e alterações de trajeto.
  • Alertas de serviço: estação transferida, eventos não planejados que afetam a estação, o trajeto ou toda a rede.
  • Posição de veículos: informações sobre os veículos, incluindo localização e o nível de congestionamento.

Um feed pode, embora não seja obrigatório, combinar entidades de tipos diferentes. Os feeds são transmitidos por HTTP e atualizados com frequência. O arquivo é binário, de modo que qualquer tipo de servidor da Web pode hospedar e transmitir o arquivo (também podem ser usados outros protocolos de transferência). Como opção, também é possível usar servidores de aplicativos da Web que retornarão o feed como resposta a uma solicitação GET de HTTP válida. Não há restrições sobre a frequência ou o método exatos para a atualização ou recuperação do feed.

Como a GTFS Realtime permite que você mostre o status real da sua frota, o feed precisa ser atualizado regularmente, de preferência sempre que forem recebidos novos dados do seu sistema de localização automática de veículos.

Veja mais informações sobre entidades de feed

Formato de dados

O formato de troca de dados da GTFS Realtime se baseia em buffers de protocolo.

Buffers de protocolo são um mecanismo neutro em relação a linguagens e plataformas para a serialização de dados estruturados (como o XML, mas mais rápido, menor e mais simples). A estrutura dos dados é definida em um arquivo gtfs-realtime.proto, que depois é usado na geração do código-fonte para ler e gravar seus dados estruturados em uma variedade de fluxos de dados de forma fácil usando várias linguagens, como Java, C++ ou Python.

Veja mais informações sobre buffers de protocolo

Estrutura de dados

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

Este arquivo de texto é usado para gerar as bibliotecas necessárias na 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 sejam gerados.

Veja mais informações sobre estrutura de dados

Como receber ajuda

Para participar de discussões sobre a GTFS Realtime e sugerir alterações e adições à especificação, participe da lista de e-mails da GTFS Realtime.

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

As atualizações dinâmicas de transporte público são 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 interessada em oferecer atualizações em tempo real ao Google Maps, acesse a página de parceiros do Google Transit.