Esse ano a Scipopulis está ajudando a construir uma comunidade de profissionais do transporte para discutir inovação, dados abertos e interoperabilidade. Sobre isso, desenvolvemos um folder junto com EMTU e UITP com informações básicas do que é preciso para abrir os dados de transporte.

Nessa direção, vamos fazer dois posts especiais sobre dados de transporte. O primeiro deles é sobre dados estáticos (GTFS) e o segundo sobre dados em tempo real.

Aqui vamos nós.

1) O que é GTFS?
GTFS (General Transit Feed Specification ou Especificação Geral de Feeds de Transporte Público) é uma padronização de dados que permite a especificação de uma rede de transportes, com suas linhas, pontos de parada e partidas planejadas – seja ônibus, metrô ou trem. Também chama-se GTFS o conjunto de arquivos contendo a especificação da rede.
Esse formato foi desenvolvido pelo Google e TriMet, a agência de transportes de Portland. O formato foi inicialmente chamado de Google Transit Feed Specification e depois renomeado para que ficasse claro que se tratava de um formato aberto e não de um formato do Google.

2) Pra que serve o GTFS?
Os feeds GTFS permitem que agências de transporte público publiquem suas informações num formato fácil para que desenvolvedores criem aplicativos que consumam esses dados. Se um aplicativo consegue mostrar o horário programado que um ônibus ou metrô irá passar num ponto/estação, essa informação foi obtida pelo GTFS.
O objetivo desse padrão é todos falarem a mesma língua, gerando interoperabilidade. Usar um padrão de dados acessíveis também está na alma do Open Data.

mostrando-gtfs
Essa visualização é possível quando você torna gráfico os arquivos do GTFS. Nesse caso é possível colocar no mapa os pontos de parada de uma linha de ônibus e as ruas por onde passa.

3) Como é um arquivo GTFS?
O GTFS na verdade é um conjunto de arquivos no formato .txt (aquele que abre no bloco de notas e planilhas do excel). Quando baixamos um feed GTFS na verdade baixamos um arquivo em formato .zip contendo vários arquivos .txt.
Cada arquivo .txt traz uma informação diferente sobre a rede. São 6 arquivos obrigatórios e 7 arquivos opcionais.

Os arquivos obrigatórios são:

– agency.txt contém informações sobre a(s) agência(s) de trânsito que
fornecem dados para esta base;

agency
Cada arquivo tem variáveis. No caso do arquivo agency.txt há variáveis como nome da agência, website, fuso horário, idioma e outros. Estamos usando nos exemplos dessa matéria o GTFS da SPTRANS (São Paulo).

– stops.txt é a lista de pontos de parada na cidade, com nome, logradouro, latitude e longitude;

stops
No arquivo stops.txt há variáveis como número do ponto, referência de endereço e posição geográfica (latitude e longitude).

– routes.txt é uma lista com nome e identificação dos serviços de transporte (linhas, rotas, etc), formado por uma ou mais viagens (geralmente uma rota tem duas viagens – ida e volta);

routes
Nesse arquivo há variáveis como ID da rota e nome da rota.

– trips.txt lista as viagens a serem realizadas por cada serviço (linha) separadas por ida e volta;

trips
No exemplo acima, o “direction_id” representa o sentido, onde o “0” representa ida e o “1” representa a volta.

– stop_times.txt é a sequência de pontos de parada e horários em que os veículos chegam e saem de cada ponto de parada;

stops_time
Nesse exemplo a rota “1012-10-0” deve chegar no ponto “2” às 05:01:45.

por último o calendar.txt mostra as datas de operação de cada serviço. Define quando um serviço começa, termina, e em quais dias da semana está disponível.

calendar
Os serviços com o código “USD” funcionam nos dias úteis, sábados e domingos. “1” representa operação e “0” representa não-operação.

Já os seguintes arquivos são opcionais:

– calendar_dates.txt são as exceções dos serviços em algumas datas do calendário
(por exemplo feriados);
– fare_attributes.txt traz informações sobre valores de passagens e validade de
tickets;
– fare_rules.txt mostra as regras sobre como aplicar as tarifas nos serviços definidos;
– shapes.txt representa o percurso geográfico das viagens definidas pela agência;
– frequencies.txt é o intervalo entre saídas dos serviços;
– transfers.txt são as regras para fazer conexões e transferências entre serviços; 
– feed_info.txt traz informações adicionais sobre os dados, como versão e data de expiração;

4) Quem usa esse formato?
É difícil determinar quantas agências publicam informações sobre suas
redes de transporte no formato GTFS, mas no site do Google Transit estão catalogadas aproximadamente mil agências de transporte ao redor do mundo. No Brasil há várias agências que aderiram. Em 2017, EMTU(SP) e STTU(Natal) também se juntaram a esse grupo.

5) Como disponibilizar?
O site do Google Transit disponibiliza todas as diretrizes para adequar as informações de uma agência ao formato GTFS e ainda oferece duas ferramentas para testar os feeds. Uma delas é o feedvalidator, para verificar se os arquivos correspondem as especificações, e o schedule_viewer para ver os dados do feed representados em um mapa.

Se você quiser saber mais sobre isso temos alguns links obrigatórios:

Google Transit

Caderno Técnico ANTP

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s