GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2025-12-12T18:30:13Z,
for the dataset file:///shared/schoharie-county-transit-1.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Schohaire County Public Transit
Publisher URL:
https://ridescpt.com/
Feed Email:
N/A
Feed Language:
English
Feed Start Date:
N/A
Feed End Date:
N/A

Files included


  1. agency.txt
  2. calendar.txt
  3. feed_info.txt
  4. routes.txt
  5. shapes.txt
  6. stop_times.txt
  7. stops.txt
  8. trips.txt

Counts


  • Agencies: 1
  • Blocks: 3
  • Routes: 5
  • Shapes: 12
  • Stops: 65
  • Trips: 23

Specification Compliance report

233 notices reported (0 errors, 230 warnings, 3 infos)

Notice Code Severity Total
fast_travel_between_consecutive_stops WARNING 17

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.
9 "SC-03-WD-03" "10951" 151.26518773635937 2.521086462272656 171 17 "364301" "Driftwood Apartments" "15:00:00" 172 18 "STOP_8d264a57-daf4-4ac8-a0c3-0b936f74fc99" "Schohaire Basset Clinic" "15:00:00"
12 "Route 1 Loop 4" "10948" 372.16742507069176 6.202790417844863 205 2 "364279" "Richmondview Apartments" "13:45:00" 206 3 "364286" "SUNY Cobleskill, Knapp Circle" "13:45:00"
12 "Route 1 Loop 4" "10948" 611.7378980274166 10.195631633790276 209 6 "364278" "Wal-Mart Plaza" "14:05:00" 210 7 "364288" "Central Bridge Post Office" "14:05:00"
12 "Route 1 Loop 4" "10948" 372.87486234530155 6.214581039088359 220 17 "364286" "SUNY Cobleskill, Knapp Circle" "15:26:00" 221 18 "23dw" "Candlewood Apartments" "15:26:00"
6 "SC-03-WD-02" "10951" 151.26518773635937 2.521086462272656 101 17 "364301" "Driftwood Apartments" "12:10:00" 102 18 "STOP_8d264a57-daf4-4ac8-a0c3-0b936f74fc99" "Schohaire Basset Clinic" "12:10:00"
8 "Route 1-Loop 4" "10948" 519.2214478554359 8.653690797590599 130 0 "364271" "Price Chopper Plaza" "07:05:00" 131 1 "23dw" "Candlewood Apartments" "07:05:00"
8 "Route 1-Loop 4" "10948" 372.16742507069176 6.202790417844863 134 4 "364279" "Richmondview Apartments" "07:22:00" 135 5 "364286" "SUNY Cobleskill, Knapp Circle" "07:22:00"
8 "Route 1-Loop 4" "10948" 611.7378980274166 10.195631633790276 138 8 "364278" "Wal-Mart Plaza" "07:42:00" 139 9 "364288" "Central Bridge Post Office" "07:42:00"
8 "Route 1-Loop 4" "10948" 372.87486234530155 6.214581039088359 149 19 "364286" "SUNY Cobleskill, Knapp Circle" "09:03:00" 150 20 "23dw" "Candlewood Apartments" "09:03:00"
7 "SC-03-WD-04" "10951" 151.26518773635937 2.521086462272656 124 17 "364301" "Driftwood Apartments" "17:35:00" 125 18 "STOP_8d264a57-daf4-4ac8-a0c3-0b936f74fc99" "Schohaire Basset Clinic" "17:35:00"
4 "Route 1 - Loop 2" "10948" 372.16742507069176 6.202790417844863 42 2 "364279" "Richmondview Apartments" "09:20:00" 43 3 "364286" "SUNY Cobleskill, Knapp Circle" "09:20:00"
4 "Route 1 - Loop 2" "10948" 611.7378980274166 10.195631633790276 46 6 "364278" "Wal-Mart Plaza" "09:40:00" 47 7 "364288" "Central Bridge Post Office" "09:40:00"
4 "Route 1 - Loop 2" "10948" 372.87486234530155 6.214581039088359 57 17 "364286" "SUNY Cobleskill, Knapp Circle" "11:08:00" 58 18 "23dw" "Candlewood Apartments" "11:08:00"
5 "Route 1 - Loop 3" "10948" 372.16742507069176 6.202790417844863 64 2 "364279" "Richmondview Apartments" "11:25:00" 65 3 "364286" "SUNY Cobleskill, Knapp Circle" "11:25:00"
5 "Route 1 - Loop 3" "10948" 611.7378980274166 10.195631633790276 68 6 "364278" "Wal-Mart Plaza" "11:45:00" 69 7 "364288" "Central Bridge Post Office" "11:45:00"
5 "Route 1 - Loop 3" "10948" 372.87486234530155 6.214581039088359 79 17 "364286" "SUNY Cobleskill, Knapp Circle" "13:13:00" 80 18 "23dw" "Candlewood Apartments" "13:13:00"
3 "SC-03-WD-01" "10951" 151.26518773635937 2.521086462272656 34 17 "364301" "Driftwood Apartments" "09:35:00" 35 18 "STOP_8d264a57-daf4-4ac8-a0c3-0b936f74fc99" "Schohaire Basset Clinic" "09:35:00"
fast_travel_between_far_stops WARNING 4

fast_travel_between_far_stops

A transit vehicle moves too fast between two far stops.

Two stops are considered "far" if they are more than 10 km apart. This normally indicates a more serious problem than too fast travel between consecutive stops.

The speed threshold depends on route type and are the same as fast_travel_between_consecutive_stops.

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.
12 "Route 1 Loop 4" "10948" 611.7378980274166 10.195631633790276 209 6 "364278" "Wal-Mart Plaza" "14:05:00" 210 7 "364288" "Central Bridge Post Office" "14:05:00"
8 "Route 1-Loop 4" "10948" 611.7378980274166 10.195631633790276 138 8 "364278" "Wal-Mart Plaza" "07:42:00" 139 9 "364288" "Central Bridge Post Office" "07:42:00"
4 "Route 1 - Loop 2" "10948" 611.7378980274166 10.195631633790276 46 6 "364278" "Wal-Mart Plaza" "09:40:00" 47 7 "364288" "Central Bridge Post Office" "09:40:00"
5 "Route 1 - Loop 3" "10948" 611.7378980274166 10.195631633790276 68 6 "364278" "Wal-Mart Plaza" "11:45:00" 69 7 "364288" "Central Bridge Post Office" "11:45:00"
leading_or_trailing_whitespaces WARNING 3

leading_or_trailing_whitespaces

The value in CSV file has leading or trailing whitespaces.

This notice is emitted for values protected with double quotes since whitespaces for non-protected values are trimmed automatically by CSV parser.

The validator strips whitespaces from protected values. We do not see any use case when such a whitespace may be needed. On the other hand, some real-world feeds use trailing whitespaces for some values and omit them for the others. This is causing the largest problem when a primary key and a foreign key differ just by a whitespace: it is clear that they are intended to be the same, that is why we always strip whitespaces.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) Faulty record's field name. fieldValue (?) Faulty value.
"stops.txt" 17 "stop_desc" "1378 NY-30, North Blenheim, "
"stops.txt" 21 "stop_name" "Main St., Richmondville Fire Dept. "
"stops.txt" 22 "stop_name" "County Office Building, Spring St. "
missing_feed_contact_email_and_url WARNING 1

missing_feed_contact_email_and_url

Best Practices for feed_info.txt suggest providing at least one of feed_contact_email and feed_contact_url.

You can see more about this notice here.

csvRowNumber (?) The row number of the validated record.
2
missing_recommended_field WARNING 3

missing_recommended_field

A recommended field is missing.

The given field has no value in some input row, even though values are recommended.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) The name of the missing field.
"feed_info.txt" 2 "feed_start_date"
"feed_info.txt" 2 "feed_end_date"
"feed_info.txt" 2 "feed_version"
missing_timepoint_value WARNING 180

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 180 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`.
18 "SC-03-WD-01" 1
21 "SC-03-WD-01" 4
22 "SC-03-WD-01" 5
23 "SC-03-WD-01" 6
24 "SC-03-WD-01" 7
25 "SC-03-WD-01" 8
26 "SC-03-WD-01" 9
29 "SC-03-WD-01" 12
31 "SC-03-WD-01" 14
34 "SC-03-WD-01" 17
35 "SC-03-WD-01" 18
37 "SC-03-WD-01" 20
58 "Route 1 - Loop 2" 18
80 "Route 1 - Loop 3" 18
85 "SC-03-WD-02" 1
88 "SC-03-WD-02" 4
89 "SC-03-WD-02" 5
90 "SC-03-WD-02" 6
91 "SC-03-WD-02" 7
92 "SC-03-WD-02" 8
93 "SC-03-WD-02" 9
96 "SC-03-WD-02" 12
98 "SC-03-WD-02" 14
101 "SC-03-WD-02" 17
102 "SC-03-WD-02" 18
104 "SC-03-WD-02" 20
108 "SC-03-WD-04" 1
111 "SC-03-WD-04" 4
112 "SC-03-WD-04" 5
113 "SC-03-WD-04" 6
114 "SC-03-WD-04" 7
115 "SC-03-WD-04" 8
116 "SC-03-WD-04" 9
119 "SC-03-WD-04" 12
121 "SC-03-WD-04" 14
124 "SC-03-WD-04" 17
125 "SC-03-WD-04" 18
127 "SC-03-WD-04" 20
131 "Route 1-Loop 4" 1
142 "Route 1-Loop 4" 12
150 "Route 1-Loop 4" 20
153 "Route 1-Loop 4" 23
177 "SC_R22_WD_AM_T01" 0
178 "SC_R22_WD_AM_T01" 1
179 "SC_R22_WD_AM_T01" 2
180 "SC_R22_WD_AM_T01" 3
181 "SC_R22_WD_AM_T01" 4
182 "SC_R22_WD_AM_T01" 5
183 "SC_R22_WD_AM_T01" 6
184 "SC_R22_WD_AM_T01" 7
stop_too_far_from_shape WARNING 3

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.
12 "xddp" "Route 1 Loop 4" 221 "23dw" "Candlewood Apartments" [42.63506,-74.5571] 111.76076908950013
4 "5146fb95-a519-496e-b5c7-1db018c40b8b" "Route 1 - Loop 2" 58 "23dw" "Candlewood Apartments" [42.63506,-74.5571] 111.76076908950013
8 "dde0c201-7856-4d28-bf63-16f1d5610c9a" "Route 1-Loop 4" 131 "23dw" "Candlewood Apartments" [42.63506,-74.5571] 111.76076908950013
stop_without_stop_time WARNING 18

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.
2 "2xpc" "Corporate Woods"
3 "4o9q" "St. Gabriel's Church"
4 "8r3i" "SUNY Albany"
5 "9ows" "North Blenheim"
6 "STOP_307779f1-9e26-42d4-a48d-61391834e734" "Valley Mobile Home Court"
7 "STOP_b88547de-2ac8-40d9-94c5-f87f9f98719c" "Middleburgh School Bus Garage"
8 "STOP_d00e5b8b-b988-4a76-8cd6-a4133afc4b13" "Teen Town (Mealsite)"
9 "STOP_d52dc432-8a57-42a0-8d86-59a81117bb6e" "Teen Town (Mealsite)"
11 "b4jo" "Bryant & Stratton College"
12 "cv3l" "Middleburgh Meaows"
13 "fu8l" "Breakabeen"
14 "h840" "Trinity Church"
15 "r9bg" "Fultonham"
16 "v459" "Middleburgh Parking Lot"
17 "wj4j" "NY Power Authority"
18 "03be" "Price Chopper Cobleskill"
19 "zphj" "Mineral Springs Rd"
26 "mi44" "Clauverwie Rd & Warrior Way"
trip_distance_exceeds_shape_distance_below_threshold WARNING 1

trip_distance_exceeds_shape_distance_below_threshold

The distance between the last shape point and last stop point is greater than 0 but less than the 11.1m threshold.

You can see more about this notice here.

tripId (?) The faulty record's trip id. shapeId (?) The faulty record's shape id. maxTripDistanceTraveled (?) The faulty record's trip max distance traveled. maxShapeDistanceTraveled (?) The faulty record's shape max distance traveled. geoDistanceToShape (?) The distance in meters between the shape and the stop.
"SC_R2A_WDSa_07" "hle9" 13671.92921658042 13670.818974185544 3.836773048187964
unknown_column INFO 3

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.
"agency.txt" "agency_branding_url" 7
"feed_info.txt" "feed_id" 2
"routes.txt" "route_branding_url" 8