Visão geral da GTFS Realtime

Oferecer atualizações em tempo real aos usuários de transporte público melhora significativamente a experiência dos passageiros com seus serviços. Além disso, com informações atualizadas sobre os horários de chegada e partida, o usuário consegue planejar a viagem com tranquilidade. Assim, caso uma partida sofra atraso, o usuário saberá que ainda tem um pouco mais de tempo e poderá sair na hora certa.

A GTFS Realtime é uma especificação de feed. Com ela, as agências de transporte público fornecem atualizações em tempo real das próprias frotas a desenvolvedores de aplicativos. Ela é uma extensão da GTFS (Especificação Geral sobre 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 focando a facilidade de uso, a boa interoperabilidade com a GTFS e o fornecimento de informações ao passageiro.

A especificação foi desenvolvida em uma parceria inicial entre as agências das atualizações dinâmicas de transporte público, vários desenvolvedores da área 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?

Esse serviço fornece atualizações em tempo real aos usuários do Google Maps para computadores e dispositivos móveis. As informações incluem horários dinâmicos de partida e chegada das estações de transporte público e alertas de serviço.

Com elas, os usuários recebem dois tipos de atualização em tempo real: horários de partida e alertas de serviço. Para que isso seja possível, os parceiros de transporte público devem fornecer essas atualizações nos feeds. Criamos o formato de feed GTFS Realtime para complementar a GTFS, que é muito usada em grades de horário estáticas de transporte público. É importante destacar que seu feed precisa estar disponível em um local onde possa ser buscado 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. Dê uma olhada nos exemplos de feeds.
  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 é compatível com os 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. Isso quer dizer que ele pode ser hospedado e transmitido por qualquer tipo de servidor da Web (também podem ser usados outros protocolos de transferência). Como opção, é 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 quanto ao método exato ou à frequência para a atualização ou recuperação do feed.

A GTFS Realtime mostra o status real da sua frota. Por isso, o feed precisa ser atualizado regularmente, de preferência sempre que houver 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 é usado na criação de um código-fonte para ler e gravar seus dados estruturados com facilidade e para diversos fluxos de dados. Várias linguagens são aceitas nesse processo, como Java, C++ ou Python.

Veja mais informações sobre buffers de protocolo

Estrutura de dados

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

O arquivo de texto mencionado é 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. Além de facilitar a criação de feeds, as bibliotecas também garantem que só feeds válidos sejam gerados.

Veja mais informações sobre estrutura de dados

Como buscar 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

Esse recurso do Google Maps 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.