horizons-regional-council — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-03-27T20:27:13Z,
for the dataset file:///shared/horizons-regional-council_74530e93.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
N/A
Publisher URL:
N/A
Feed Email:
N/A
Feed Language:
N/A

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_dates.txt
  4. fare_attributes.txt
  5. fare_rules.txt
  6. feed_info.txt
  7. frequencies.txt
  8. routes.txt
  9. shapes.txt
  10. stop_times.txt
  11. stops.txt
  12. stops_init.txt
  13. transfers.txt
  14. trips.txt
  15. trips_init.txt
  16. version_control.txt

Counts


  • Agencies: 4
  • Blocks: 1337
  • Routes: 41
  • Shapes: 84
  • Stops: 885
  • Trips: 1343

Specification Compliance report

381 notices reported (0 errors, 378 warnings, 3 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 13

equal_shape_distance_diff_coordinates_distance_below_threshold

Two consecutive points have equal shape_dist_traveled and different lat/lon coordinates in shapes.txt and the distance between the two points is greater than 0 but less than 1.11m.

When sorted by shape.shape_pt_sequence, the values for shape_dist_traveled must increase along a shape. Two consecutive points with equal values for shape_dist_traveled and small difference of coordinates (greater than 0 but less than 1.11 m distance) result in a warning.

You can see more about this notice here.

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) The faulty record's `shape_dist_traveled` value. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) The previous shape point's `shape_dist_traveled` value. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`. actualDistanceBetweenShapePoints (?) Actual distance traveled along the shape from the first shape point to the previous shape point.
"70704" 6491 2.431 61 6490 2.431 60 0.8524478652942619
"20224" 1604 1.465 62 1603 1.465 61 0.8525667321557245
"20223" 1163 1.617 39 1162 1.617 38 0.8526360013908959
"20223" 1168 1.623 44 1167 1.623 43 0.8526360013908959
"20223" 1242 3.359 118 1241 3.359 117 0.852568356139709
"20223" 1262 3.38 138 1261 3.38 137 0.8525668589132933
"20223" 1264 3.382 140 1263 3.382 139 0.8525667364943408
"20222" 1054 13.232 319 1053 13.232 318 0.8526408597506491
"20221" 473 5.786 153 472 5.786 152 0.8525733374670654
"21207" 10487 1.299 32 10486 1.299 31 0.8528416373888044
"20202" 9053 2.59 113 9052 2.59 112 0.8525085509384563
"70701" 3384 79.314 822 3383 79.314 821 0.8509615106723887
"20209" 7910 25.729 215 7909 25.729 214 0.4812568842260704
equal_shape_distance_same_coordinates WARNING 327

equal_shape_distance_same_coordinates

Two consecutive points have equal shape_dist_traveled and the same lat/lon coordinates in shapes.txt.

When sorted by shape.shape_pt_sequence, the values for shape_dist_traveled must increase along a shape. Two consecutive points with equal values for shape_dist_traveled and the same coordinates indicate a duplicative shape point.

You can see more about this notice here.

Only the first 50 of 327 affected records are displayed below.

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the faulty record. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the previous shape point. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`.
"30301" 8273 0.0 2 8272 0.0 1
"30301" 8274 0.0 3 8273 0.0 2
"30301" 8280 0.046 9 8279 0.046 8
"30301" 8310 0.987 40 8309 0.987 39
"30301" 8317 1.449 47 8316 1.449 46
"30301" 8322 1.761 52 8321 1.761 51
"30301" 8338 2.486 68 8337 2.486 67
"30301" 8348 3.34 78 8347 3.34 77
"30301" 8363 4.564 93 8362 4.564 92
"30301" 8380 5.615 110 8379 5.615 109
"30301" 8389 6.345 119 8388 6.345 118
"30301" 8400 7.259 130 8399 7.259 129
"30301" 8408 7.662 138 8407 7.662 137
"30301" 8420 8.435 150 8419 8.435 149
"30301" 8434 8.96 164 8433 8.96 163
"30301" 8437 9.195 167 8436 9.195 166
"30301" 8445 9.549 175 8444 9.549 174
"30301" 8449 9.936 179 8448 9.936 178
"30301" 8463 10.923 193 8462 10.923 192
"30301" 8474 11.538 204 8473 11.538 203
"30301" 8486 12.252 216 8485 12.252 215
"30301" 8504 12.827 234 8503 12.827 233
"30301" 8509 13.106 239 8508 13.106 238
"20223" 1128 0.196 4 1127 0.196 3
"20501" 11492 0.661 49 11491 0.661 48
"20501" 11512 0.987 69 11511 0.987 68
"20501" 11525 1.317 82 11524 1.317 81
"20501" 11553 2.377 110 11552 2.377 109
"20501" 11681 5.872 238 11680 5.872 237
"20226" 11954 0.0 2 11953 0.0 1
"20226" 11955 0.0 3 11954 0.0 2
"20226" 11964 0.538 12 11963 0.538 11
"20226" 11994 0.997 42 11993 0.997 41
"20226" 12046 3.768 94 12045 3.768 93
"20226" 12152 14.627 200 12151 14.627 199
"20226" 12346 27.979 394 12345 27.979 393
"20226" 12465 39.441 513 12464 39.441 512
"20226" 12638 51.679 686 12637 51.679 685
"20226" 12800 62.752 848 12799 62.752 847
"20226" 13055 73.162 1103 13054 73.162 1102
"20226" 13126 74.505 1174 13125 74.505 1173
"20226" 13140 74.766 1188 13139 74.766 1187
"20226" 13164 75.245 1212 13163 75.245 1211
"21204" 9578 0.0 2 9577 0.0 1
"21204" 9579 0.0 3 9578 0.0 2
"21204" 9588 0.721 12 9587 0.721 11
"21204" 9596 1.54 20 9595 1.54 19
"21204" 9603 2.158 27 9602 2.158 26
"21204" 9630 2.981 54 9629 2.981 53
"21204" 9642 3.658 66 9641 3.658 65
fast_travel_between_consecutive_stops WARNING 2

fast_travel_between_consecutive_stops

A transit vehicle moves too fast between two consecutive stops.

The speed threshold depends on route type:

Route type Description Threshold, km/h
0 Light rail 100
1 Subway 150
2 Rail 500
3 Bus 150
4 Ferry 80
5 Cable tram 30
6 Aerial lift 50
7 Funicular 50
11 Trolleybus 150
12 Monorail 150
- Unknown 200

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the problematic trip. tripId (?) `trip_id` of the problematic trip. routeId (?) `route_id` of the problematic trip. speedKph (?) Travel speed (km/h). distanceKm (?) Distance between stops (km). csvRowNumber1 (?) The row number of the first stop time. stopSequence1 (?) `stop_sequence` of the first stop. stopId1 (?) `stop_id` of the first stop. stopName1 (?) `stop_name` of the first stop. departureTime1 (?) `departure_time` of the first stop. csvRowNumber2 (?) The row number of the second stop time. stopSequence2 (?) `stop_sequence` of the second stop. stopId2 (?) `stop_id` of the second stop. stopName2 (?) `stop_name` of the second stop. arrivalTime2 (?) `arrival_time` of the second stop.
77 "20903" "20209" 742.1964535143378 0.2061656815317605 1972 58 "32020804" "441 Somme Parade" "15:22:43" 1973 59 "32020805" "457 Somme Parade" "15:22:44"
17 "20116" "20201" 1061.2483353041023 0.2947912042511395 565 34 "32020709" "Whanganui War Memorial Centre" "16:48:19" 566 35 "32020995" "22 Drews Ave" "16:48:20"
mixed_case_recommended_field WARNING 1

mixed_case_recommended_field

This field has customer-facing text and should use Mixed Case (should contain upper and lower case letters).

This field contains customer-facing text and should use Mixed Case (upper and lower case letters) to ensure good readability when displayed to riders. Avoid the use of abbreviations throughout the feed (e.g. St. for Street) unless a location is called by its abbreviated name (e.g. “JFK Airport”). Abbreviations may be problematic for accessibility by screen reader software and voice user interfaces.

Good examples:
Field Text Dataset
"Schwerin, Hauptbahnhof" Verkehrsverbund Berlin-Brandenburg
"Red Hook/Atlantic Basin" NYC Ferry
"Campo Grande Norte" Carris
Bad examples:
Field Text
"GALLERIA MALL"
"3427 GG 17"
"21 Clark Rd Est"

You can see more about this notice here.

filename (?) Name of the faulty file. fieldName (?) Name of the faulty field. fieldValue (?) Faulty value. csvRowNumber (?) The row number of the faulty record.
"trips.txt" "trip_headsign" "MSBH to PNGHS" 1319
stop_too_far_from_shape WARNING 14

stop_too_far_from_shape

Stop too far from trip shape.

Per GTFS Best Practices, route alignments (in shapes.txt) should be within 100 meters of stop locations which a trip serves. This potentially indicates a problem with the location of the stop or the path of the shape.

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the faulty record from `trips.txt`. shapeId (?) The id of the shape that is referred to. tripId (?) The id of the trip that is referred to. stopTimeCsvRowNumber (?) The row number of the faulty record from `stop_times.txt`. stopId (?) The id of the stop that is referred to. stopName (?) The name of the stop that is referred to. match (?) Latitude and longitude pair of the location. geoDistanceToShape (?) Distance from stop to shape.
1338 "31313" "31186" 39618 "32111022" "183 Grey St" [-40.34559392045944,175.6158588169493] 393.75096988468863
1338 "31313" "31186" 39619 "32111187" "249 Grey St" [-40.3436202666651,175.62027181496092] 398.747071243811
1338 "31313" "31186" 39620 "32111188" "299 Grey St" [-40.34234405900762,175.62310346174198] 395.79923067626714
85 "20224" "22401" 2440 "32020968" "Rutherford Junior High Bus Stop" [-39.93346,175.02178] 197.68522612025973
112 "40407" "40302" 2526 "32080980" "Shannon Railway Station" [-40.62364,175.28479] 13667.502072899155
112 "40407" "40302" 2527 "32080982" "Foxton Windmill - Main St" [-40.62302,175.28342] 16537.36184300248
112 "40407" "40302" 2528 "32080981" "Foxton Beach Community Ctr" [-40.62302,175.28342] 17856.399433927258
112 "40407" "40302" 2529 "32080983" "Waitarere Four Square" [-40.62302,175.28342] 10699.076402007555
111 "40406" "40301" 2520 "32080980" "Shannon Railway Station" [-40.62364,175.28479] 13667.502072899155
111 "40406" "40301" 2521 "32080982" "Foxton Windmill - Main St" [-40.62302,175.28341] 16537.353192077422
111 "40406" "40301" 2522 "32080981" "Foxton Beach Community Ctr" [-40.62302,175.28341] 17856.20705771916
111 "40406" "40301" 2523 "32080983" "Waitarere Four Square" [-40.62302,175.28341] 10698.52234414223
373 "1011" "101080" 11683 "32000543" "Airport Terminal - Stop 1" [-40.32569,175.62193] 244.79325898555936
47 "20204" "20401" 1655 "32020722" "122 Peakes Rd - Outer Terminal" [-39.92139000000001,175.0229] 159.76523606536574
stop_without_stop_time WARNING 9

stop_without_stop_time

A stop in stops.txt is not referenced by any stop_times.stop_id.

Such stops are not used by any trip and normally do not provide user value. This notice may indicate a typo in stop_times.txt.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty stop. stopName (?) The name of the faulty stop.
53 "32000155" "32 Dalwood Gr"
54 "32000156" "Opposite Arvida Olive Tree - Dalwood Gr"
289 "32000530" "360 Botanical Rd"
591 "32020876" "123 Glasgow St"
592 "32020877" "139 Glasgow St"
678 "32020965" "76 Purnell St"
741 "32030063" "Aerodrome - Campbell Rd"
742 "32030064" "Nannestads/Campbell Rd Intersection"
757 "32040530" "71 Cambridge Ave"
transfer_with_suspicious_mid_trip_in_seat WARNING 7

transfer_with_suspicious_mid_trip_in_seat

A trip id field from GTFS file transfers.txt with an in-seat transfer type references a stop that is not in the expected position in the trip's stop-times.

For in-seat transfers, we expect the stop to be the last stop-time in the trip sequence for from_stop_id and the first stop-time for to_stop_id. If you are intentionally using this feature to model mid-trip transfers, you can ignore this warning, but be aware that this functionality is still considered to be partially experimental in some interpretations of the spec.

You can see more about this notice here.

csvRowNumber (?) The row number from `transfers.txt` for the faulty entry. tripIdFieldName (?) The name of the trip id field (e.g. `from_trip_id`) referencing a trip. tripId (?) The referenced trip id. stopIdFieldName (?) The name of the stop id field (e.g. `from_stop_id`) referencing the stop. stopId (?) The referenced stop id.
8 "from_trip_id" "20703" "from_stop_id" "32020902"
10 "from_trip_id" "20705" "from_stop_id" "32020902"
12 "from_trip_id" "20708" "from_stop_id" "32020902"
15 "from_trip_id" "20701" "from_stop_id" "32020902"
17 "from_trip_id" "20704" "from_stop_id" "32020902"
29 "from_trip_id" "20116" "from_stop_id" "32020675"
29 "to_trip_id" "20201" "to_stop_id" "32020675"
unused_shape WARNING 5

unused_shape

Shape is not used in GTFS file trips.txt.

All records defined by GTFS shapes.txt should be used in trips.txt.

You can see more about this notice here.

shapeId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"40405" 7919
"30311" 17950
"30313" 18198
"31311" 18648
"31107" 27663
unknown_file INFO 3

unknown_file

A file is unknown.

You can see more about this notice here.

filename (?) The name of the unknown file.
"stops_init.txt"
"trips_init.txt"
"version_control.txt"