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 Campo | Tipo | Presença | Descrição |
|---|---|---|---|
shape_dist_traveled | Número decimal não negativo | Opcional | Distâ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_traveledA_shp,37.61 956,-122.48161,0,0A_shp,37.64430,-122.41070,6,6.8310A_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êmshape_pt_sequenceem ordem crescente. - Para o mesmo
shape_id, cadashape_dist_traveledé maior ou igual aoshape_dist_traveleddo ponto anterior. - Quando
shape_pt_sequenceavança,shape_dist_traveledmanté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 comshape_pt_sequenceposterior temshape_dist_traveledmenor do que o registo anterior. shape_pt_sequencecontinua em ordem crescente, masshape_dist_traveledrecua e quebra a distância acumulada da shape.- O par de pontos tem
shape_dist_traveledpreenchido nos dois registos, permitindo comparar os valores, e o valor atual é inferior ao anterior. - A correção deve manter a ordem de
shape_pt_sequencee recalcular ou corrigir oshape_dist_traveleddo ponto que ficou abaixo do valor anterior.