GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2025-12-12T22:15:03Z,
for the dataset file:///shared/transit-services-of-frederick-county.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Passio Technologies
Publisher URL:
https://passiotech.com
Feed Email:
support@passiotech.com
Feed Language:
English
Feed Start Date:
2025-12-10
Feed End Date:
2026-01-10

Files included


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

Counts


  • Agencies: 1
  • Blocks: 63
  • Routes: 16
  • Shapes: 57
  • Stops: 390
  • Trips: 845

Specification Compliance report

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

Notice Code Severity Total
equal_shape_distance_same_coordinates WARNING 429

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 429 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`.
"51838" 23336 15510.93 761 23335 15510.93 760
"51837" 18383 53.27 11 18382 53.27 10
"51837" 18384 53.27 12 18383 53.27 11
"51837" 18385 53.27 13 18384 53.27 12
"51837" 18468 1504.99 96 18467 1504.99 95
"51837" 18697 7775.77 325 18696 7775.77 324
"51837" 18775 10626.03 403 18774 10626.03 402
"51837" 18784 11070.54 412 18783 11070.54 411
"51801" 7327 5006.25 189 7326 5006.25 188
"51801" 7328 5006.25 190 7327 5006.25 189
"51801" 7329 5006.25 191 7328 5006.25 190
"51801" 7330 5006.25 192 7329 5006.25 191
"51801" 7331 5006.25 193 7330 5006.25 192
"51801" 7332 5006.25 194 7331 5006.25 193
"51801" 7333 5006.25 195 7332 5006.25 194
"51801" 7334 5006.25 196 7333 5006.25 195
"51801" 7335 5006.25 197 7334 5006.25 196
"51801" 7336 5006.25 198 7335 5006.25 197
"51801" 7337 5006.25 199 7336 5006.25 198
"51801" 7338 5006.25 200 7337 5006.25 199
"51800" 6928 1998.44 90 6927 1998.44 89
"51800" 6929 1998.44 91 6928 1998.44 90
"51802" 6710 1783.71 87 6709 1783.71 86
"51802" 6720 2784.75 97 6719 2784.75 96
"51802" 6747 3786.1 124 6746 3786.1 123
"51802" 6766 4787.14 143 6765 4787.14 142
"51802" 6790 5766.55 167 6789 5766.55 166
"51805" 9334 4458.4 194 9333 4458.4 193
"51807" 8496 2382.91 147 8495 2382.91 146
"51806" 8692 381.38 39 8691 381.38 38
"51806" 8693 381.38 40 8692 381.38 39
"51806" 8694 381.38 41 8693 381.38 40
"51806" 8779 2383.82 126 8778 2383.82 125
"51806" 8871 4385.91 218 8870 4385.91 217
"51806" 8893 5386.79 240 8892 5386.79 239
"51809" 9545 177.68 8 9544 177.68 7
"51809" 9576 1178.38 39 9575 1178.38 38
"51809" 9598 2179.26 61 9597 2179.26 60
"51808" 7946 3378.24 131 7945 3378.24 130
"51808" 8109 7211.33 294 8108 7211.33 293
"51808" 8110 7211.33 295 8109 7211.33 294
"51808" 8111 7211.33 296 8110 7211.33 295
"51808" 8112 7211.33 297 8111 7211.33 296
"51808" 8113 7211.33 298 8112 7211.33 297
"51808" 8114 7211.33 299 8113 7211.33 298
"51808" 8115 7211.33 300 8114 7211.33 299
"51808" 8116 7211.33 301 8115 7211.33 300
"51808" 8117 7211.33 302 8116 7211.33 301
"51808" 8118 7211.33 303 8117 7211.33 302
"51808" 8119 7211.33 304 8118 7211.33 303
expired_calendar WARNING 1

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.
4 "51783.134015"
feed_expiration_date30_days WARNING 1

feed_expiration_date30_days

Dataset should cover at least the next 30 days of service.

At any time, the GTFS dataset should cover at least the next 30 days of service, and ideally for as long as the operator is confident that the schedule will continue to be operated.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. currentDate (?) Current date (YYYYMMDD format). feedEndDate (?) Feed end date (YYYYMMDD format). suggestedExpirationDate (?) Suggested expiration date (YYYYMMDD format).
2 "20251212" "20260110" "20260111"
route_long_name_contains_short_name WARNING 9

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`.
"6154" 2 "10" "10 Connector"
"6155" 3 "20" "20 Connector"
"6156" 4 "40" "40 Connector"
"6157" 5 "50" "50 Connector"
"6158" 6 "51" "51 Connector"
"6159" 7 "60" "60 Connector"
"6160" 8 "61" "61 Connector"
"6161" 9 "65" "65 Connector"
"6162" 10 "80" "80 Connector"
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.
49 "51784" "713851" 1374 "163069" "Monocacy MARC Train Station" [39.382202,-77.402185] 602.1084838259515
92 "51785" "713852" 2791 "163069" "Monocacy MARC Train Station" [39.382202,-77.402185] 602.1084838259515
727 "51829" "714491" 14873 "163156" "Jefferson Tech Park (Jefferson Station Boulevard at Mary Lou Lane)" [39.391202107585556,-77.44953970750211] 318.28558766777377
stop_without_stop_time WARNING 26

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.
50 "163115" "Brunswick Senior Center (12 East A Street)"
69 "162820" "Corporate Drive at New Design Road"
71 "162835" "Crestwood Boulevard at Ballenger Creek Pike (Wawa)"
72 "162829" "Crestwood Boulevard at Bank Court"
100 "163027" "East Street at Peters Lane (Northbound)"
114 "191109" "FCC Exit Announcements"
128 "162800" "Frederick Towne Mall at Boscov's South Entrance"
129 "162864" "Frederick Towne Mall at Meet-the-MARC stop on Waverley"
130 "190265" "FSK Exit Announcements"
132 "162801" "Golden Mile Marketplace at Big Lots"
149 "163132" "Heather Ridge Drive at Taney Avenue"
162 "162808" "Himes Avenue at Coralberry Court"
176 "162900" "Key Parkway at Baker Place Apartments"
178 "163072" "Key Parkway at first entrance to Elmwood Terrace Apartments"
179 "163092" "Key Parkway at Hawthorne Square"
184 "163073" "Key Parkway at Waverley Drive"
243 "162940" "Norva Avenue at Wyngate Drive"
245 "163071" "Old Camp Road at Key Parkway"
247 "163070" "Old Camp Road near 7-Eleven"
248 "172065" "Old Camp Road near 7-Eleven"
287 "203267" "Sheetz Exit Announcements"
317 "162966" "Taney Avenue at Heather Ridge Drive"
322 "187567" "TC Exit Announcements"
352 "163050" "Waterside Drive at Caulfield Court, Worman's Mill"
356 "162865" "Waverley Drive at steps to strip mall"
357 "163074" "Waverley Drive at Waverley Center"
stops_match_shape_out_of_order WARNING 2

stops_match_shape_out_of_order

Two stop entries are different than their arrival-departure order defined by shapes.txt.

This could indicate a problem with the location of the stops, the path of the shape, or the sequence of the stops for their trip.

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. stopTimeCsvRowNumber1 (?) The row number of the first faulty record from `stop_times.txt`. stopId1 (?) The id of the first stop that is referred to. stopName1 (?) The name of the first stop that is referred to. match1 (?) Latitude and longitude pair of the first matching location. stopTimeCsvRowNumber2 (?) The row number of the second faulty record from `stop_times.txt`. stopId2 (?) The id of the second stop that is referred to. stopName2 (?) The name of the second stop that is referred to. match2 (?) Latitude and longitude pair of the second matching location.
396 "51801" "714139" 8391 "162902" "Baughman's Lane at Belle Aire Farm" [39.42394242213482,-77.43674842090309] 8390 "162898" "Key Pkwy at Bel Aire La Westbound" [39.42028429530781,-77.43956278949923]
393 "51804" "714233" 8342 "162901" "North McCain Drive at north entrance to Home Depot" [39.421321624928986,-77.45370487003119] 8341 "163009" "North McCain Drive at Route 40" [39.41893111136633,-77.45351054417647]