GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-23T20:05:54Z,
for the dataset file:///shared/launceston.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. routes.txt
  5. shapes.txt
  6. stop_times.txt
  7. stops.txt
  8. transfers.txt
  9. trips.txt

Counts


  • Agencies: 7
  • Blocks: 0
  • Routes: 52
  • Shapes: 143
  • Stops: 787
  • Trips: 1188

Specification Compliance report

28582 notices reported (0 errors, 28582 warnings, 0 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 429

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.

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

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.
"[@2879.0.71397834@]1" 83403 23155.72122342894 386 83402 23155.72122342894 385 0.027873619938270547
"[@2879.0.71397834@]1" 83404 23155.72122342894 387 83403 23155.72122342894 386 0.027873619938270547
"[@2879.0.71397834@]1" 83453 24539.076211658794 436 83452 24539.076211658794 435 0.0723863649209974
"[@2879.0.71397834@]1" 83454 24539.076211658794 437 83453 24539.076211658794 436 0.0723863649209974
"[@2879.0.71397834@]1" 83572 27591.599556941106 555 83571 27591.599556941106 554 0.04528276178333985
"[@3942.0.129400233@]10" 19354 1234.3478985483207 61 19353 1234.3478985483207 60 0.038712923948831406
"[@3942.0.129400233@]10" 19355 1234.3478985483207 62 19354 1234.3478985483207 61 0.038712923948831406
"[@3942.0.129400233@]10" 19413 2459.534919820371 120 19412 2459.534919820371 119 0.050432291124323854
"[@3942.0.129400233@]10" 19414 2459.534919820371 121 19413 2459.534919820371 120 0.050432291124323854
"[@3942.0.129400233@]10" 19723 9627.65965986598 430 19722 9627.65965986598 429 0.02235406319746601
"[@3942.0.129400233@]10" 19724 9627.65965986598 431 19723 9627.65965986598 430 0.02235406319746601
"[@3942.0.64279067@]3" 121242 11855.527821446587 600 121241 11855.527821446587 599 0.01687267797884008
"[@3942.0.64279067@]3" 121243 11855.527821446587 601 121242 11855.527821446587 600 0.01687267797884008
"[@2.0.156039069@]2" 6361 521.3163336585267 17 6360 521.3163336585267 16 0.033465037758240015
"[@2.0.156039069@]2" 6962 22190.992633821857 618 6961 22190.992633821857 617 0.010007559456766124
"[@2.0.156039069@]2" 6963 22190.992633821857 619 6962 22190.992633821857 618 0.010007559456766124
"[@3942.0.64279067@]4" 36633 0.0 1 36632 0.0 0 0.04528276178333985
"[@3942.0.64279067@]4" 36649 488.9500129653459 17 36648 488.9500129653459 16 0.033465037758240015
"[@3942.0.64279067@]4" 36718 1732.4826710808052 86 36717 1732.4826710808052 85 0.08721791797085464
"[@3942.0.64279067@]4" 36860 4337.324608575166 228 36859 4337.324608575166 227 0.01687267797884008
"[@3942.0.64279067@]4" 36861 4337.324608575166 229 36860 4337.324608575166 228 0.01687267797884008
"[@3942.0.64279067@]4" 37181 10250.889925783295 549 37180 10250.889925783295 548 0.10809860239118828
"[@3942.0.64279067@]4" 37182 10250.889925783295 550 37181 10250.889925783295 549 0.10809860239118828
"[@2879.0.71397834@]2" 97763 1196.094585215175 59 97762 1196.094585215175 58 0.038712923948831406
"[@2879.0.71397834@]2" 97764 1196.094585215175 60 97763 1196.094585215175 59 0.038712923948831406
"[@2879.0.71397834@]2" 97887 4645.295839908341 183 97886 4645.295839908341 182 0.029235479194691025
"[@2879.0.71397834@]2" 97888 4645.295839908341 184 97887 4645.295839908341 183 0.029235479194691025
"[@3942.0.6464965@]8" 26154 1234.3478985483207 61 26153 1234.3478985483207 60 0.038712923948831406
"[@3942.0.6464965@]8" 26155 1234.3478985483207 62 26154 1234.3478985483207 61 0.038712923948831406
"[@3942.0.6464965@]8" 26213 2459.534919820371 120 26212 2459.534919820371 119 0.050432291124323854
"[@3942.0.6464965@]8" 26214 2459.534919820371 121 26213 2459.534919820371 120 0.050432291124323854
"[@3942.0.6464965@]8" 26502 9471.260399452143 409 26501 9471.260399452143 408 0.02235406319746601
"[@3942.0.6464965@]8" 26503 9471.260399452143 410 26502 9471.260399452143 409 0.02235406319746601
"[@2879.0.15830163@]2" 125512 0.0 1 125511 0.0 0 0.04528276178333985
"[@2879.0.15830163@]2" 125528 488.9500129653459 17 125527 488.9500129653459 16 0.033465037758240015
"[@2879.0.15830163@]2" 125597 1732.4826710808052 86 125596 1732.4826710808052 85 0.08721791797085464
"[@2879.0.15830163@]2" 125764 4994.264247766929 253 125763 4994.264247766929 252 0.10809860239118828
"[@2879.0.15830163@]2" 125765 4994.264247766929 254 125764 4994.264247766929 253 0.10809860239118828
"[@3942.0.6464965@]7" 79887 3359.914566271577 131 79886 3359.914566271577 130 0.052069000786827184
"[@3942.0.6464965@]7" 79888 3359.914566271577 132 79887 3359.914566271577 131 0.052069000786827184
"[@3942.0.6464965@]7" 80119 9308.079577390536 363 80118 9308.079577390536 362 0.008398463487277463
"[@3942.0.6464965@]7" 80128 9660.13496529099 372 80127 9660.13496529099 371 0.009461460656223749
"[@3942.0.6464965@]7" 80129 9660.13496529099 373 80128 9660.13496529099 372 0.006556832955645059
"[@3942.0.6464965@]7" 80229 11866.597985410574 473 80228 11866.597985410574 472 0.0907273258960834
"[@2879.0.15830163@]1" 90673 191.76261342467672 7 90672 191.76261342467672 6 0.047173202531357
"[@2879.0.79809444@]2" 42737 521.3163336585267 17 42736 521.3163336585267 16 0.033465037758240015
"[@2879.0.79809444@]4" 114925 521.3163336585267 17 114924 521.3163336585267 16 0.033465037758240015
"[@2879.0.11592726@]2" 108658 1921.5684254376013 66 108657 1921.5684254376013 65 0.06701466445869007
"[@2879.0.11592726@]2" 108659 1921.5684254376013 67 108658 1921.5684254376013 66 0.06701466445869007
"[@2879.0.11592726@]2" 108942 8769.949852625708 350 108941 8769.949852625708 349 0.02235406319746601
equal_shape_distance_same_coordinates WARNING 32

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.

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`.
"[@3942.0.129400233@]10" 19590 6745.133757520785 297 19589 6745.133757520785 296
"[@3942.0.129400233@]10" 19591 6745.133757520785 298 19590 6745.133757520785 297
"[@2.0.156039069@]1" 126703 37948.77119517956 886 126702 37948.77119517956 885
"[@3942.0.6464965@]7" 80121 9355.362002009002 365 80120 9355.362002009002 364
"[@2879.0.79809444@]1" 97440 36965.81976711899 527 97439 36965.81976711899 526
"[@2879.0.79809444@]3" 102925 37383.41028908617 571 102924 37383.41028908617 570
"[@2879.0.11593772@]3" 87943 38105.34054324583 902 87942 38105.34054324583 901
"[@2879.0.87053081@]4" 73392 39352.338462098225 638 73391 39352.338462098225 637
"[@3942.0.6464965@]5" 34187 7574.361426256376 296 34186 7574.361426256376 295
"[@2879.0.87010032@]1" 74113 16770.556412767608 359 74112 16770.556412767608 358
"[@2879.0.79809413@]1" 25829 17209.852972617296 271 25828 17209.852972617296 270
"[@2879.0.87010032@]3" 71595 16770.556412767608 359 71594 16770.556412767608 358
"[@2879.0.71397797@]1" 34582 12561.177765649316 286 34581 12561.177765649316 285
"[@2879.0.71397797@]3" 39901 12561.177765649316 286 39900 12561.177765649316 285
"[@2879.0.80180612@]2" 57555 119260.70628760244 2684 57554 119260.70628760244 2683
"[@2879.0.80180643@]2" 45524 83340.49815198609 1608 45523 83340.49815198609 1607
"[@2879.0.80180643@]1" 121485 0.0 1 121484 0.0 0
"[@3942.0.6465370@]5" 124868 0.0 1 124867 0.0 0
"[@2879.0.80180612@]1" 12515 0.0 1 12514 0.0 0
"[@2879.0.11592666@]1" 27539 0.0 1 27538 0.0 0
"[@2879.0.11592666@]2" 43915 8833.818038108167 407 43914 8833.818038108167 406
"[@2.0.156038598@]1" 91971 0.0 1 91970 0.0 0
"[@2.0.156038598@]1" 92025 1566.9262892151175 55 92024 1566.9262892151175 54
"[@2879.0.79809475@]8" 107220 5685.897145962641 219 107219 5685.897145962641 218
"[@2879.0.79809475@]1" 92863 42763.272567327906 616 92862 42763.272567327906 615
"[@2879.0.79809475@]6" 98555 8464.424243750636 309 98554 8464.424243750636 308
"[@2879.0.79809475@]5" 77361 41638.26098042637 581 77360 41638.26098042637 580
"[@2879.0.79809475@]3" 33627 43180.86308929509 660 33626 43180.86308929509 659
"[@2879.0.11592677@]3" 72086 8958.509862254014 227 72085 8958.509862254014 226
"[@2879.0.11592677@]3" 72087 8958.509862254014 228 72086 8958.509862254014 227
"[@2879.0.11592677@]4" 111305 8833.818038108167 407 111304 8833.818038108167 406
"[@2879.0.11592677@]4" 111306 8833.818038108167 408 111305 8833.818038108167 407
expired_calendar WARNING 2

expired_calendar

Dataset should not contain date ranges for services that have already expired.

This warning takes into account the calendar_dates.txt file as well as the calendar.txt file.

You can see more about this notice here.

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
3 "MonFriTerm"
5 "NYE"
fast_travel_between_consecutive_stops WARNING 1

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.
727 "[@2879.0.11592737@][1][1560319297076]/0" "M781" 1591.4385818405933 0.44206627273349813 27686 2 "3986" "No.394 West Tamar Rd" "15:10:59" 27687 3 "4105" "Riverside High School" "15:11:00"
missing_recommended_file WARNING 1

missing_recommended_file

A recommended file is missing.

You can see more about this notice here.

filename (?) The name of the faulty file.
"feed_info.txt"
missing_timepoint_value WARNING 28109

missing_timepoint_value

stop_times.timepoint value is missing for a record.

When at least one of stop_times.arrival_time or stop_times.departure_time are provided, stop_times.timepoint should be defined

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. tripId (?) The faulty record's `stop_times.trip_id`. stopSequence (?) The faulty record's `stop_times.stop_sequence`.
2 "[@3942.0.6464965@][1][1590712312780]/58" 0
3 "[@3942.0.6464965@][1][1590712312780]/58" 1
4 "[@3942.0.6464965@][1][1590712312780]/58" 2
5 "[@3942.0.6464965@][1][1590712312780]/58" 3
6 "[@3942.0.6464965@][1][1590712312780]/58" 4
7 "[@3942.0.6464965@][1][1590712312780]/58" 5
8 "[@3942.0.6464965@][1][1590712312780]/58" 6
9 "[@3942.0.6464965@][1][1590712312780]/58" 7
10 "[@3942.0.6464965@][1][1590712312780]/58" 8
11 "[@3942.0.6464965@][1][1590712312780]/58" 9
12 "[@3942.0.6464965@][1][1590712312780]/58" 10
13 "[@3942.0.6464965@][1][1590712312780]/58" 11
14 "[@3942.0.6464965@][1][1590712312780]/58" 12
15 "[@3942.0.6464965@][1][1590712312780]/58" 13
16 "[@3942.0.6464965@][1][1590712312780]/58" 14
17 "[@3942.0.6464965@][1][1590712312780]/58" 15
18 "[@3942.0.6464965@][1][1590712312780]/58" 16
19 "[@3942.0.6464965@][1][1590712312780]/58" 17
20 "[@3942.0.6464965@][1][1590712312780]/58" 18
21 "[@3942.0.6464965@][1][1590712312780]/58" 19
22 "[@3942.0.6464965@][1][1590712312780]/58" 20
23 "[@3942.0.6464965@][1][1590712312780]/58" 21
24 "[@3942.0.6464965@][1][1590712312780]/58" 22
25 "[@3942.0.6464965@][1][1590712312780]/58" 23
26 "[@3942.0.6464965@][1][1590712312780]/58" 24
27 "[@3942.0.6464965@][1][1590712312780]/58" 25
28 "[@3942.0.6464965@][1][1590712312780]/58" 26
29 "[@3942.0.6464965@][1][1590712312780]/58" 27
30 "[@2879.0.71397896@][2][1543812978231]/38" 0
31 "[@2879.0.71397896@][2][1543812978231]/38" 1
32 "[@2879.0.71397896@][2][1543812978231]/38" 2
33 "[@2879.0.71397896@][2][1543812978231]/38" 3
34 "[@2879.0.71397896@][2][1543812978231]/38" 4
35 "[@2879.0.71397896@][2][1543812978231]/38" 5
36 "[@2879.0.71397896@][2][1543812978231]/38" 6
37 "[@2879.0.71397896@][2][1543812978231]/38" 7
38 "[@2879.0.71397896@][2][1543812978231]/38" 8
39 "[@2879.0.71397896@][2][1543812978231]/38" 9
40 "[@2879.0.71397896@][2][1543812978231]/38" 10
41 "[@2879.0.71397896@][2][1543812978231]/38" 11
42 "[@2879.0.71397896@][2][1543812978231]/38" 12
43 "[@2879.0.71397896@][2][1543812978231]/38" 13
44 "[@2879.0.71397896@][2][1543812978231]/38" 14
45 "[@2879.0.71397896@][2][1543812978231]/38" 15
46 "[@2879.0.71397896@][2][1543812978231]/38" 16
47 "[@2879.0.71397896@][2][1543812978231]/38" 17
48 "[@2879.0.71397896@][2][1543812978231]/38" 18
49 "[@2879.0.71397896@][2][1543812978231]/38" 19
50 "[@2879.0.71397896@][2][1543812978231]/38" 20
51 "[@2879.0.71397896@][2][1543812978231]/38" 21
mixed_case_recommended_field WARNING 3

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.
"stops.txt" "stop_name" "CITY TERMINUS NORTH" 252
"stops.txt" "stop_name" "MERSEY COMMUNITY HOSPITAL" 754
"stops.txt" "stop_name" "DEVONPORT INTERCHANGE" 755
same_name_and_description_for_stop WARNING 5

same_name_and_description_for_stop

Same name and description for stop.

The GTFS spec defines stops.txt stop_description as:

Description of the location that provides useful, quality information. Do not simply duplicate the name of the location.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty record. stopDesc (?) The faulty record's `stop_desc`.
14 "14025:1" "Haggerston Rd cnr Devon Hills Rd"
122 "15049:1" "Flinders St cnr Mainwaring St"
388 "3160" "Kertch Rd cnr St Leonards Rd"
418 "3203" "Tasman Hwy past Anson St"
740 "4107" "PROSPECT HIGH SCHOOL"