Diferenças entre a implementação da GTFS Schedule e do Google Transit

Esta página descreve as principais diferenças entre a GTFS Schedule e a implementação do Google Transit quanto às especificações nas seguintes áreas:

  • Especificações oficiais ignoradas: esses campos fazem parte da GTFS oficial. O Google Transit processa esses dados sem erros, mas não faz uso deles de maneira proativa.

  • Interpretação diferente: esses campos incluem as partes da GTFS oficial com definição interpretada de maneira diferente pelo Google Transit.

  • Suporte experimental: esses campos são experimentais na implementação do Google Transit. Se você quiser implementar um novo campo desse tipo, entre em contato com a equipe do Google Transit.

  • Extensão compatível com o Google Transit: essa extensão não faz parte da GTFS oficial. Ela inclui extensões públicas e específicas do Google Transit. Qualquer parceiro pode enviar essas informações para o Google Transit no feed.

Transporte público estático

As seções a seguir documentam as principais diferenças entre a GTFS oficial e a implementação do Google Transit quanto ao feed estático.

Especificações oficiais ignoradas em feeds estáticos

Algumas especificações oficiais ignoradas pelo Google Transit são experimentais. Para saber mais, acesse gtfs.org.

A Tabela 1 lista os arquivos da GTFS que não são compatíveis com o Google Transit em feeds estáticos. Além disso, nenhum dos campos definidos nesses arquivos é aceito no Google Transit.

Tabela 1. Arquivos da GTFS incompatíveis em feeds estáticos
areas.txt
fare_leg_rules.txt
fare_products.txt
fare_transfer_rules.txt
levels.txt
stop_areas.txt

A Tabela 2 lista todos os campos definidos pela GTFS que são ignorados pelo Google Transit nos feeds estáticos.

Tabela 2. Campos da GTFS ignorados em feeds estáticos
Nome do arquivo Campo ignorado definido na GTFS Tipo de campo
fare_attributes.txt payment_method Enumerado
feed_info.txt default_lang Código do idioma
feed_info.txt feed_publisher_name Texto
pathways.txt max_slope Float
routes.txt continuous_drop_off Enumerado
routes.txt continuous_pickup Enumerado
routes.txt network_id ID
routes.txt route_desc Texto
routes.txt route_sort_order Número inteiro não negativo
stops.txt level_id ID
stops.txt stop_desc Texto
stops.txt stop_url URL
stops.txt tts_stop_name Texto
stops.txt bikes_allowed Enumerado

Interpretação diferente em feeds estáticos

Embora o Google Transit aceite determinados campos definidos pela GTFS, a interpretação que ele faz é diferente da GTFS.

A Tabela 3 mostra os campos em feeds estáticos que o Google Transit implementa de maneira diferente do descrito na GTFS.

Tabela 3. Campos do feed estático implementados de maneira diferente
Nome do arquivo Campo definido na GTFS Tipo de campo Exigido pelo Google Transit? Detalhes da implementação do Google Transit
fare_attributes.txt transfers Enumerado Obrigatório

Extensão do Google Transit.

A GTFS pública limita os valores a um intervalo de 0 a 2. O Google Transit aceita valores de 0 a 5.

Use esse campo para definir o número máximo de baldeações permitidas com a tarifa. Isso não inclui baldeações em bloco, em que o passageiro não troca de veículo. Se você não quiser definir limites para o número de baldeações de uma tarifa, deixe o campo transfers em branco.

pathways.txt pathway_mode Enumerado Opcional Quando pathway_mode é especificado e deixado em branco, o Google Transit aceita e trata esse campo como desconhecido.
stop_times.txt arrival_time Horas Obrigatório sob certas condições A quantidade de horas é restrita a valores de 00 a 99, o que é mais do que suficiente para viagens de três dias.
transfers.txt transfer_type Enumerado Obrigatório

Os valores 4 e 5 não são aceitos e são ignorados.

O Google Transit aceita os valores 0, 1, 2 e 3.

trips.txt block_id ID Opcional Para saber mais, consulte Exemplo de baldeação em bloco.

Suporte experimental em feeds estáticos

Se você precisar de suporte para integrar novos campos experimentais nessa categoria, entre em contato com o Google Transit.

Extensões compatíveis com o Google Transit em feeds estáticos

A Tabela 4 contém informações sobre as extensões do Google Transit. Esses campos não fazem parte da GTFS oficial.

Tabela 4. Extensões de feed estático compatíveis
Nome do arquivo Campo Tipo de campo Exigido pelo Google Transit? Detalhes da implementação do Google Transit
fare_attributes.txt ic_price Float Opcional

Essa extensão do Google Transit está disponível apenas para parceiros no Japão.

O campo ic_price representa o valor com desconto que será pago para essa tarifa usando um smart card. Se a tarifa não tiver desconto ou se o smart card não for aceito, o valor do campo ic_price vai precisar ser -1.

fare_rules.txt contains_route_id ID Opcional

Extensão do Google Transit.

Essa tarifa é válida somente em viagens que passam por um conjunto exato de trajetos identificados pelo valor de route_id em todas as linhas para essa combinação das colunas fare_id, origin_id e destination_id.

Se a coluna contains_route_id não existir ou todos os valores para essa tarifa forem nulos, a tarifa não será restrita nesse parâmetro. Se o campo contains_route_id for fornecido para uma tarifa, route_id terá que estar vazio.

routes.txt checkin_duration Número inteiro Opcional

Extensão do Google Transit.

O campo checkin_duration especifica quantos segundos antes da partida programada aconselhamos o passageiro a chegar para fazer check-in e embarcar.

Se o passageiro se conectar à partida por baldeação, o horário de baldeação definido vai substituir o valor de checkin_duration.

O valor de checkin_duration é apenas uma recomendação que geralmente é fornecida pelo operador de transporte público. É possível que ele não reflita o último momento possível absoluto em que um passageiro pode chegar e ainda embarcar no veículo.

routes.txt route_type Enumerado Obrigatório

Extensão do Google Transit.

Para saber como o Google Transit estende as opções de valor de route_type aceitas pela GTFS, consulte os Tipos de trajeto estendidos da GTFS.

stop_times.txt stop_direction_name Texto Opcional

Extensão do Google Transit.

O campo stop_direction_name identifica a rota de uma viagem para os passageiros. A rota é armazenada como o valor de direction_name da partida relacionada à parada.

Se o campo stop_direction_name estiver vazio, o campo trip_direction_name compatível com Google Transit será usado. Se os campos trip_direction_name e stop_direction_name estiverem vazios, o importador do transporte público vai deixá-los assim. Nesse caso, os parceiros podem usar o valor de stop_headsign ou trip_headsign. Os valores do campo stop_direction_name são normalizados com uso de maiúsculas e minúsculas.

stops.txt signposted_as Texto Opcional

Extensão do Google Transit.

O campo signposted_as contém o texto escrito na placa da plataforma. Por exemplo, "Para o centro" e "Leste e Brooklyn".

O campo platform_code da GTFS e o campo signposted_as compatível com o Google Transit podem ser definidos simultaneamente.

As diferenças entre os campos platform_code e signposted_as incluem:

  • Comprimento. O campo platform_code geralmente contém um número ou uma letra, como 2 ou C.
  • Idioma. O campo platform_code não tem um idioma, mas os valores de signposted_as podem ter traduções.
  • Estabilidade. O campo platform_code muda com muito menos frequência do que o campo signposted_as.
stops.txt vehicle_type Número inteiro Opcional

Extensão do Google Transit.

O campo vehicle_type especifica o tipo de veículo usado em uma parada. Ele aceita tipos de trajeto dos tipos de veículo hierárquico (HVT, na sigla em inglês). Os valores de HVT são derivados da norma do Grupo de Especialistas do Protocolo de Transporte Europeu (TPEG, na sigla em inglês).

agency.txt ticketing_deep_link_id ID Opcional

Extensão de venda de passagens do Google Transit.

No arquivo agency.txt, o campo ticketing_deep_link_id representa o link direto usado para vender as passagens das viagens dessa agência.

routes.txt ticketing_deep_link_id ID Opcional

Extensão de venda de passagens do Google Transit.

No arquivo routes.txt, o campo ticketing_deep_link_id representa o link direto usado para vender as passagens das viagens desse trajeto.

stop_times.txt ticketing_stop_time_id ID Opcional

Extensão de venda de passagens do Google Transit.

Se estiver presente no arquivo stop_times.txt, o campo ticketing_stop_time_id vai substituir o identificador que representa o horário de término da venda de passagens com links diretos.

stop_times.txt ticketing_type Enumerado Opcional

Extensão de venda de passagens do Google Transit.

O campo ticketing_type especifica o tipo de venda de passagens válido para esse horário de término.

O Google Transit aceita os seguintes valores:

  • Empty. Padrão: conforme definido pela viagem.
  • 0. Disponível apenas se a agência ou o trajeto tiver um link direto para venda de passagens ativado.
  • 1. Indisponível.
ticketing_deep_links.txt android_intent_uri URI Opcional

Extensão de venda de passagens do Google Transit.

O campo android_intent_uri representa o URI da intent usado para gerar links diretos no Android.

ticketing_deep_links.txt ios_universal_link_url URL Opcional

Extensão de venda de passagens do Google Transit.

O campo ios_universal_link_url representa o URL do link universal usado para links diretos no iOS.

ticketing_deep_links.txt ticketing_deep_link_id ID Obrigatório

Extensão de venda de passagens do Google Transit.

O campo ticketing_deep_link_id representa o identificador do link direto.

ticketing_deep_links.txt web_url URL Opcional

Extensão de venda de passagens do Google Transit.

O campo web_url representa o URL usado para gerar links diretos na Web.

ticketing_identifiers.txt agency_id ID Obrigatório

Extensão de venda de passagens do Google Transit.

Para especificar a agência da parada que tem o campo ticketing_stop_id padrão definido, o campo agency_id contém o ID do arquivo agency.txt da GTFS.

ticketing_identifiers.txt stop_id ID Obrigatório

Extensão de venda de passagens do Google Transit.

Para especificar a parada que tem o campo ticketing_stop_id padrão definido, o campo stop_id contém o ID do arquivo stops.txt da GTFS.

ticketing_identifiers.txt ticketing_stop_id ID Obrigatório

Extensão de venda de passagens do Google Transit.

O campo ticketing_stop_id contém o ID da venda de passagens que é aplicado à parada. Como opção, uma agência pode qualificar o ID.

trips.txt ticketing_trip_id ID Opcional

Extensão de venda de passagens do Google Transit.

Se o campo ticketing_trip_id estiver presente, o valor dele vai substituir o campo trip_id de modo a identificar a viagem para venda de passagens com links diretos.

trips.txt ticketing_type Enumerado Opcional

Extensão de venda de passagens do Google Transit.

O campo ticketing_type especifica o tipo de venda de passagens que se aplica a essa viagem.

O Google Transit aceita os seguintes valores:

  • 0. Padrão. Disponível apenas se a agência ou o trajeto tiver um link direto para venda de passagens ativado.
  • 1. Indisponível.
translations.txt lang Código do idioma Opcional

Extensão do Google Transit.

O campo lang não faz parte da GTFS oficial, mas o Google Transit usa esse valor quando ele está presente.

Para especificar a tradução de uma frase, use o campo lang. Ele não pode estar vazio nem ter o valor und (um idioma indefinido).

translations.txt trans_id ID Opcional

Extensão do Google Transit.

O campo trans_id não faz parte da GTFS oficial, mas o Google Transit usa esse valor quando ele está presente.

Para especificar o token de ID da frase traduzida, use o campo trans_id. Cada linha da tabela translations.txt significa que, no idioma lang, a frase trans_id é traduzida como translation.

trips.txt original_trip_id ID Opcional

Extensão do Google Transit.

Se estiver presente no arquivo trips.txt, o valor original_trip_id vai substituir o valor trip_id para uso dos outros sistemas. Um exemplo é a correspondência em tempo real.

trips.txt trip_direction_name Texto Opcional

Extensão do Google Transit.

O campo trip_direction_name identifica a rota de uma viagem para os passageiros. O valor nesse campo é armazenado como o valor de direction_name para cada viagem.

Se o valor de stop_direction_name na tabela stop_times mudar durante a viagem, ele poderá substituir o valor de trip_direction_name.

Os valores no campo trip_direction_name são normalizados com uso de maiúsculas e minúsculas.

trips.txt vehicle_category_id ID Opcional

Extensão do Google Transit.

No arquivo trips.txt, o campo vehicle_category_id identifica o veículo alocado para a viagem. Quando esse campo está no arquivo trips.txt, o valor dele substitui o valor de vehicle_category_id no arquivo routes.txt.