GTFS ScheduleRegras de Validação

Valida que shape_dist_traveled não diminui quando os pontos da shape são ordenados por shape_pt_sequence.

shape_dist_traveled_non_decreasing_with_sequence

Campos que serão validados nesta regra

Nome do CampoTipoPresençaDescrição
shape_dist_traveledNúmero decimal não negativoOpcionalDistância real percorrida ao longo da forma, desde o primeiro ponto da forma até ao ponto especificado neste registo. Utilizado pelos planeadores de viagens para mostrar a porção correta da forma num mapa. Os valores devem aumentar juntamente com shape_pt_sequence; não devem ser utilizados para mostrar o percurso inverso ao longo de um percurso. As unidades de distância devem ser consistentes com as utilizadas em stop_times.txt.

Recomendado para percursos com troços em loop ou em linha (o veículo atravessa ou percorre o mesmo troço do alinhamento numa viagem). Se um veículo refaz ou cruza o alinhamento da rota em pontos ao longo de uma viagem, shape_dist_traveled é importante para esclarecer como as porções dos pontos em shapes.txt se alinham com os registos em stop_times.txt.

Exemplo: Se um autocarro percorrer os três pontos definidos acima para A_shp, os valores adicionais de shape_dist_traveled (mostrados aqui em quilómetros) seriam semelhantes aos isto:

shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence,shape_dist_traveled
A_shp,37.61 956,-122.48161,0,0
A_shp,37.64430,-122.41070,6,6.8310
A_shp,37.65863,-122.30839,11,15.8765

O que esta validação faz

Esta validação confirma que, dentro de cada shape_id, os valores de shape_dist_traveled não diminuem quando os pontos são ordenados por shape_pt_sequence.

Se um ponto tiver um shape_dist_traveled inferior ao ponto anterior da mesma shape, a regra falha. Isto evita que a distância acumulada recue ao longo da geometria.


Passa

  • Para o mesmo shape_id, os registos têm shape_pt_sequence em ordem crescente.
  • Para o mesmo shape_id, cada shape_dist_traveled é maior ou igual ao shape_dist_traveled do ponto anterior.
  • Quando shape_pt_sequence avança, shape_dist_traveled mantém a distância acumulada da shape sem voltar atrás.
  • Se algum dos dois pontos comparados não tiver shape_dist_traveled, esta regra não reporta erro porque não existem dois valores preenchidos para comparar.

Falha

  • Para o mesmo shape_id, um registo com shape_pt_sequence posterior tem shape_dist_traveled menor do que o registo anterior.
  • shape_pt_sequence continua em ordem crescente, mas shape_dist_traveled recua e quebra a distância acumulada da shape.
  • O par de pontos tem shape_dist_traveled preenchido nos dois registos, permitindo comparar os valores, e o valor atual é inferior ao anterior.
  • A correção deve manter a ordem de shape_pt_sequence e recalcular ou corrigir o shape_dist_traveled do ponto que ficou abaixo do valor anterior.

On this page