GTFS ScheduleRegras de Validação

Coordenadas do percurso da viagem referenciadas nas paragens

trip_path_stop_coordinates_referenced_from_stops

Campos que serão validados nesta regra

Nome do CampoTipoPresençaDescrição
trip_idID únicoObrigatórioIdentifica uma viagem.
trip_idID estrangeiro que referencia trips.trip_idobrigatórioID estrangeiro que referencia trips.trip_id utilizado no stop_times para conseguir usar as stop_id.
shape_idID externo que referencia shapes.shape_idCondicionalmente obrigatórioIdentifica uma forma geoespacial que descreve o trajeto do veículo para uma viagem.

Condicionalmente obrigatório:
  • Obrigatório se a viagem tiver um comportamento contínuo de embarque ou desembarque definido em routes.txt ou em stop_times.txt.
  • Opcional caso contrário.
stop_idID externo que faz referência a stops.stop_idCondicionalmente obrigatórioIdentifica a paragem atendida. Todas as paragens atendidas durante uma viagem devem ter um registo em stop_times.txt. Os locais referenciados devem ser paragens/plataformas, ou seja, o seu valor stops.location_type deve ser 0 ou empty. Uma paragem pode ser servida várias vezes na mesma viagem, e várias viagens e rotas podem servir a mesma paragem.

O serviço on-demand que utiliza paragens deve ser referenciado na sequência em que o serviço está disponível nessas paragens. Um consumidor de dados deve assumir que a viagem é possível de uma paragem ou local para qualquer paragem ou local posterior na viagem, desde que o pickup/drop_off_type de cada stop_time e as restrições de tempo de cada start/end_pickup_drop_off_window não o impeçam.

Condicionalmente Obrigatório:
  • Obrigatório se stop_times.location_group_id E stop_times.location_id NÃO estiverem definidos.
  • Proibido se stop_times.location_group_id ou stop_times.location_id estiverem definidos.

O que esta validação funciona

Partida: cada viagem em trips.txt tem um trip_id, um shape_id (nesta regra só interessa quando a viagem tem shape) e, em stop_times.txt, a lista de paragens por onde essa viagem passa.

Passo 1 - Quais paragens?
Para essa viagem, a validação percorre os stop_times e recolhe os stop_id que aparecem no percurso (cada paragem só conta uma vez, mesmo que apareça em vários horários).

Passo 2 - Onde estão as coordenadas?
Cada stop_id liga-se a um registo em stops.txt, onde estão stop_lat e stop_lon. É a posição da paragem que se usa como referência.

Passo 3 - Qual geometria?
shape_id da viagem identifica a polyline (a “linha” do percurso desenhada em shapes.txt). A pergunta é: essa linha passa “perto” de cada paragem do percurso?

Passo 4 - Margem de erro (tolerância)
Não basta “estar na mesma rua”: há uma distância máxima aceitável entre o ponto da paragem e o ponto mais próximo na shape (em metros). Se a distância ultrapassa essa margem, o par paragem + shape é considerado inválido, por isso que recomendamos ter sempre as shapes atualizadas.


Passa

  • A viagem não tem geometria associada (sem identificador de shape ou com o campo vazio). Porquê: sem linha de percurso desenhada não faz sentido exigir proximidade entre paragens e essa linha.
  • Para cada paragem do percurso da viagem, a distância entre o ponto da paragem (coordenadas oficiais da paragem no feed) e o troço da linha do percurso mais próximo fica dentro da margem definida para o projeto. Porquê: a paragem está alinhada com a geometria que a viagem declara usar.

Falha

  • Pelo menos uma paragem utilizada nos horários dessa viagem fica demasiado afastada da linha do percurso: a distância ao ponto mais próximo na geometria ultrapassa a tolerância acordada. Porquê: ou a shape não corresponde ao traçado real das paragens, ou há erro de coordenadas, identificadores trocados, ou geometria desatualizada - o feed fica inconsistente entre “por onde o veículo desenha o percurso” e “onde as paragens estão no mapa”. A mensagem de erro costuma indicar quantos metros faltam ou sobram e onde na linha fica o ponto mais próximo, para facilitar a correção.

On this page