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 feeds que permite que as agências de transporte público forneçam a desenvolvedores de aplicativos atualizações em tempo real sobre suas frotas. Ela é uma extensão da GTFS (Especificação Geral para Feeds de Transporte Público), um formato de dados aberto para 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 inicial entre agências das 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.

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. 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 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ê apresente 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.

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, então, é usado para gerar código-fonte para ler e gravar seus dados estruturados com facilidade e para uma variedade de fluxos de dados, usando várias linguagens, como Java, C++ ou Python.

Mais informações 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 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 serão gerados.

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 atualizações dinâmicas de transporte público

Um dos aplicativos que usa a GTFS Realtime é o recurso de atualizações dinâmicas de transporte público do Google Maps. Ele 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.