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. Fornecer informações atualizadas sobre horários de chegada e partida permite que os usuários planejem suas viagens com tranquilidade. Assim, se o usuário se atrasar, ficará aliviado de saber que pode ficar mais um pouquinho em casa e sair só na hora certa.

A GTFS Realtime é uma especificação de feeds. 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 tendo em mente facilidade de uso, boa interoperabilidade com GTFS e foco em informar o passageiro.

A especificação foi desenvolvida em uma parceria inicial entre 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 traz atualizações em tempo real para os usuários do Google Maps e Google Maps para dispositivos móveis. Essas 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 veem dois tipos de atualização em tempo real: horários de partida e alertas de serviço. Os parceiros de transporte público fornecem essas atualizações nos feeds. Criamos o formato de feed GTFS Realtime para complementar o GTFS, que é muito usado em grades de horário estáticas de transporte público. 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 à frequência ou ao método exatos 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. Esse arquivo é 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.

Mais informações sobre Buffers de protocolo...

Estrutura de dados

A hierarquia de elementos e as definições de tipos 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. 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.