GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 5.0.1 at 2024-06-17T14:39:07Z,
for the dataset file:///tmp/1_in.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 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. trips.txt

Counts


  • Agencies: 1
  • Blocks: 1
  • Routes: 3
  • Shapes: 16
  • Stops: 70
  • Trips: 119

GTFS Features included (?) GTFS features provide a standardized vocabulary to define and describe features that are officially adopted in GTFS.


ShapesRoute ColorsHeadsignsWheelchair AccessibilityLocation TypesContinuous Stops

Specification Compliance report

1853 notices reported (0 errors, 1851 warnings, 2 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 350

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 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 (less than 1.11 m distance) result in a warning.

You can see more about this notice here.

Only the first 50 of 350 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.
"zenbus:Route:853490002:LOC" 2379 279.0 16 2378 279.0 15 0.3311973098512265
"zenbus:Route:853490002:LOC" 2413 863.0 50 2412 863.0 49 0.19155879878669144
"zenbus:Route:853490002:LOC" 2414 863.0 51 2413 863.0 50 0.40549905864769936
"zenbus:Route:847630092:LOC" 1707 0.0 1 1706 0.0 0 0.07799040080427509
"zenbus:Route:847630092:LOC" 1708 0.0 2 1707 0.0 1 0.07799040086628828
"zenbus:Route:847630092:LOC" 1799 1580.0 93 1798 1580.0 92 0.4567056360879354
"zenbus:Route:847630092:LOC" 1801 1582.0 95 1800 1582.0 94 0.0779827134182135
"zenbus:Route:847630092:LOC" 1803 1583.0 97 1802 1583.0 96 0.38309038410207147
"zenbus:Route:847630092:LOC" 1805 1584.0 99 1804 1584.0 98 0.5746355725683906
"zenbus:Route:847630092:LOC" 1818 1904.0 112 1817 1904.0 111 0.7266511276724503
"zenbus:Route:847630092:LOC" 1848 2859.0 142 1847 2859.0 141 0.3830549577282336
"zenbus:Route:847630092:LOC" 1849 2859.0 143 1848 2859.0 142 0.32275974481622177
"zenbus:Route:847630092:LOC" 1850 2859.0 144 1849 2859.0 143 0.25899961233778157
"zenbus:Route:847630092:LOC" 1887 3779.0 181 1886 3779.0 180 0.07796644659040479
"zenbus:Route:847630092:LOC" 1888 3779.0 182 1887 3779.0 181 0.736096141640696
"zenbus:Route:847630092:LOC" 1909 4177.0 203 1908 4177.0 202 0.7790672161732579
"zenbus:Route:847630092:LOC" 1913 4194.0 207 1912 4194.0 206 0.4074109302858712
"zenbus:Route:847630092:LOC" 1914 4194.0 208 1913 4194.0 207 0.5432145635579774
"zenbus:Route:847630092:LOC" 1922 4463.0 216 1921 4463.0 215 0.7265764675655176
"zenbus:Route:847630092:LOC" 1926 4470.0 220 1925 4470.0 219 0.2716044708102303
"zenbus:Route:847630092:LOC" 1963 5497.0 257 1962 5497.0 256 0.8951793247994242
"zenbus:Route:847630092:LOC" 1967 5509.0 261 1966 5509.0 260 0.3682215333724462
"zenbus:Route:847630092:LOC" 1968 5509.0 262 1967 5509.0 261 0.13579888304246937
"zenbus:Route:847630092:LOC" 1969 5509.0 263 1968 5509.0 262 0.1357988843804968
"zenbus:Route:855410004:LOC" 1102 2608.0 140 1101 2608.0 139 0.07799074663227418
"zenbus:Route:855410004:LOC" 1123 2947.0 161 1122 2947.0 160 0.1358195256971654
"zenbus:Route:855410004:LOC" 1125 2957.0 163 1124 2957.0 162 0.07799103303874741
"zenbus:Route:855410004:LOC" 1127 2958.0 165 1126 2958.0 164 0.13581955743469049
"zenbus:Route:855410004:LOC" 1128 2958.0 166 1127 2958.0 165 0.40549894551439397
"zenbus:Route:855410004:LOC" 1160 3543.0 198 1159 3543.0 197 0.07799330300880364
"zenbus:Route:855410004:LOC" 1161 3543.0 199 1160 3543.0 198 0.46795981805282155
"zenbus:Route:855410004:LOC" 1177 3828.0 215 1176 3828.0 214 0.4713413887528337
"zenbus:Route:869190003:LOC" 3869 2431.0 58 3868 2431.0 57 0.11119510090982554
"zenbus:Route:869190003:LOC" 3948 5012.0 137 3947 5012.0 136 0.45155228310617457
"zenbus:Route:869190003:LOC" 3951 5022.0 140 3950 5022.0 139 0.15581879235545149
"zenbus:Route:869190003:LOC" 4060 7095.0 249 4059 7095.0 248 0.3335853034368008
"zenbus:Route:869190003:LOC" 4079 7707.0 268 4078 7707.0 267 0.3226689010189501
"zenbus:Route:869190003:LOC" 4081 7708.0 270 4080 7708.0 269 0.3829188849723042
"zenbus:Route:869190003:LOC" 4133 9148.0 322 4132 9148.0 321 0.32267639310646234
"zenbus:Route:869190003:LOC" 4134 9148.0 323 4133 9148.0 322 0.07793348364750463
"zenbus:Route:869190003:LOC" 4148 9313.0 337 4147 9313.0 336 0.7793373144154778
"zenbus:Route:869190003:LOC" 4178 9986.0 367 4177 9986.0 366 0.38291986803100475
"zenbus:Route:869190003:LOC" 4180 9987.0 369 4179 9987.0 368 0.32266956306497074
"zenbus:Route:869190003:LOC" 4181 9987.0 370 4180 9987.0 369 0.11119510090982554
"zenbus:Route:869190003:LOC" 4239 11266.0 428 4238 11266.0 427 0.4515579530157661
"zenbus:Route:869190003:LOC" 4240 11266.0 429 4239 11266.0 428 0.11119510090982554
"zenbus:Route:869190003:LOC" 4242 11267.0 431 4241 11267.0 430 0.07794214752664066
"zenbus:Route:869190003:LOC" 4310 13189.0 499 4309 13189.0 498 0.1559001010082575
"zenbus:Route:869190003:LOC" 4312 13190.0 501 4311 13190.0 500 0.1559001011322197
"zenbus:Route:869190003:LOC" 4457 16823.0 646 4456 16823.0 645 0.32271260196307505
expired_calendar WARNING 3

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.
2 "cal1-mon-tue-wed-thu-fri-sat-sun-33"
3 "cal2-mon-tue-wed-thu-fri-sat-sun-30"
4 "cal3-mon-tue-wed-thu-fri-sat-sun"
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 1492

missing_timepoint_value

stop_times.timepoint value is missing for a record.

Even though the column timepoint is optional in stop_times.txt according to the specification, stop_times.timepoint should not be empty when provided.

You can see more about this notice here.

Only the first 50 of 1492 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 "842040015:0" 3
3 "842040015:0" 4
4 "842040015:0" 5
5 "842040015:0" 6
6 "842040015:0" 7
7 "842040015:0" 8
8 "842040015:0" 9
9 "842040015:0" 10
10 "842040015:0" 11
11 "842040015:0" 12
12 "842040015:0" 13
13 "842040015:0" 14
14 "842040015:0" 15
15 "842040015:0" 16
16 "842040015:1" 0
17 "842040015:1" 1
18 "842040015:1" 2
19 "842040015:1" 3
20 "842040015:1" 5
21 "842040015:1" 6
22 "842040015:1" 7
23 "842040015:1" 8
24 "842040015:1" 9
25 "842040015:1" 10
26 "842040015:1" 11
27 "842040015:1" 12
28 "842040015:1" 13
29 "842040015:1" 14
30 "842040015:2" 3
31 "842040015:2" 4
32 "842040015:2" 5
33 "842040015:2" 6
34 "842040015:2" 7
35 "842040015:2" 8
36 "842040015:2" 9
37 "842040015:2" 10
38 "842040015:2" 11
39 "842040015:2" 12
40 "842040015:2" 13
41 "842040015:2" 14
42 "842040015:3" 0
43 "842040015:3" 1
44 "842040015:3" 2
45 "842040015:3" 3
46 "842040015:3" 5
47 "842040015:3" 6
48 "842040015:3" 7
49 "842040015:3" 8
50 "842040015:3" 9
51 "842040015:3" 10
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.
"routes.txt" "route_desc" "PUBLISH_AS_LINE_ID=28050136" 2
"routes.txt" "route_desc" "PUBLISH_AS_LINE_ID=2030139" 3
"routes.txt" "route_desc" "PUBLISH_AS_LINE_ID=674870001" 4
route_long_name_contains_short_name WARNING 1

route_long_name_contains_short_name

Long name should not contain short name for a single route.

In routes.txt, route_long_name should not contain the value for route_short_name, because when both are provided, they are often combined by transit applications. Note that only one of the two fields is required. If there is no short name used for a route, use route_long_name only.

Good examples:

route_short_name/route_long_name Dataset
"N"/"Judah" Muni San Fransisco
"6"/"ML King Jr Blvd" Trimet Portland Streetcar
"55"/"Boulevard Saint Laurent" STM Montreal
"1"/"Rangiora/Cashmere" Metro Christchurch

Bad examples:

route_short_name/route_long_name
"604"/"604"
"14"/"Route 14"
"2"/"Route 2: Bellows Falls In-Town"

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeShortName (?) The faulty record's `route_short_name`. routeLongName (?) The faulty record's `route_long_name`.
"zenbus:Line:674870001:LOC" 4 "Vallée’BUS" "Vallée’BUS - Liaison Valmorel - La Léchère"
trip_coverage_not_active_for_next7_days WARNING 1

trip_coverage_not_active_for_next7_days

Trips data should be valid for at least the next seven days.

This notice is triggered if the date range where a significant number of trips are running ends in less than 7 days.

You can see more about this notice here.

currentDate (?) Current date (YYYYMMDD format). serviceWindowStartDate (?) The start date of the majority service window. serviceWindowEndDate (?) The end date of the majority service window.
"20240617" "20221217" "20230416"
unknown_column INFO 2

unknown_column

A column name is unknown.

You can see more about this notice here.

filename (?) The name of the faulty file. fieldName (?) The name of the unknown column. index (?) The index of the faulty column.
"trips.txt" "zenbus_mission_id" 11
"trips.txt" "trip_headsign_code" 12