butler-county — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-06-11T08:26:30Z,
for the dataset file:///shared/butler-county_906df45b.zip. No country code was provided.

Use this report alongside our documentation.

A new version of the Canonical GTFS Schedule validator is available! Please update to get the latest/best validation results.

Summary

Agencies included


Feed Info


Publisher Name:
GMV Syncromatics
Feed Email:
support@gmvsync.com
Feed Language:
English
Feed Start Date:
2026-05-15
Feed End Date:
N/A

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_attributes.txt
  4. directions.txt
  5. feed_info.txt
  6. realtime_routes.txt
  7. routes.txt
  8. shapes.txt
  9. stop_times.txt
  10. stops.txt
  11. trips.txt

Counts


  • Agencies: 1
  • Blocks: 29
  • Routes: 13
  • Shapes: 31
  • Stops: 530
  • Trips: 393

Specification Compliance report

350 notices reported (0 errors, 347 warnings, 3 infos)

Notice Code Severity Total
equal_shape_distance_same_coordinates WARNING 255

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 255 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`.
"24872" 168 604.0302938539801 11 167 604.0302938539801 10
"24872" 173 749.7091043022479 16 172 749.7091043022479 15
"24872" 178 1005.7505716520375 21 177 1005.7505716520375 20
"24872" 183 1269.1902533045372 26 182 1269.1902533045372 25
"24872" 188 1465.3547057311093 31 187 1465.3547057311093 30
"24872" 192 1624.3542459209232 35 191 1624.3542459209232 34
"24872" 196 1742.048043349286 39 195 1742.048043349286 38
"24872" 200 1903.2614690741748 43 199 1903.2614690741748 42
"24872" 203 2049.471285050532 46 202 2049.471285050532 45
"24872" 206 2192.6691199086495 49 205 2192.6691199086495 48
"24872" 210 2361.3174280614066 53 209 2361.3174280614066 52
"24872" 213 2507.3416281657514 56 212 2507.3416281657514 55
"24872" 217 2699.411289602652 60 216 2699.411289602652 59
"24872" 221 2844.168952202912 64 220 2844.168952202912 63
"24872" 247 4632.655157619825 90 246 4632.655157619825 89
"24872" 255 4962.793462925565 98 254 4962.793462925565 97
"24872" 262 5268.549985755852 105 261 5268.549985755852 104
"24872" 271 5720.93705497945 114 270 5720.93705497945 113
"24872" 285 6384.2288607166065 128 284 6384.2288607166065 127
"24872" 288 6470.5020336130965 131 287 6470.5020336130965 130
"24872" 296 6834.5489230947705 139 295 6834.5489230947705 138
"24872" 299 6911.4156351334095 142 298 6911.4156351334095 141
"24872" 305 7166.825596952441 148 304 7166.825596952441 147
"24872" 310 7423.072367767125 153 309 7423.072367767125 152
"24872" 316 7830.6342615780295 159 315 7830.6342615780295 158
"24872" 321 8083.556712296945 164 320 8083.556712296945 163
"24872" 331 8656.749502814584 174 330 8656.749502814584 173
"24872" 369 10633.03783394453 212 368 10633.03783394453 211
"24872" 373 10897.045706100105 216 372 10897.045706100105 215
"24872" 384 11678.921889549387 227 383 11678.921889549387 226
"24872" 387 11810.444963850727 230 386 11810.444963850727 229
"24872" 390 11909.91592918249 233 389 11909.91592918249 232
"24872" 394 12114.524595745766 237 393 12114.524595745766 236
"24872" 397 12219.475843084798 240 396 12219.475843084798 239
"24872" 401 12381.53273038224 244 400 12381.53273038224 243
"24872" 405 12546.032053330691 248 404 12546.032053330691 247
"29989" 4217 1287.682423440111 27 4216 1287.682423440111 26
"29989" 4239 2404.348118612527 49 4238 2404.348118612527 48
"29989" 4248 2913.749512156329 58 4247 2913.749512156329 57
"29989" 4288 4969.131126898135 98 4287 4969.131126898135 97
"29989" 4324 6919.598255070081 134 4323 6919.598255070081 133
"29989" 4344 7990.528384385562 154 4343 7990.528384385562 153
"29989" 4357 8733.515575470237 167 4356 8733.515575470237 166
"29989" 4382 9933.653964926374 192 4381 9933.653964926374 191
"29989" 4395 10636.542186375318 205 4394 10636.542186375318 204
"24873" 461 2495.982521657377 43 460 2495.982521657377 42
"24873" 465 2705.605373646823 47 464 2705.605373646823 46
"24873" 468 2802.8673424568706 50 467 2802.8673424568706 49
"24873" 473 3128.16639021859 55 472 3128.16639021859 54
"24873" 589 10626.032561361122 171 588 10626.032561361122 170
leading_or_trailing_whitespaces WARNING 2

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.
"routes.txt" 7 "route_short_name" "R3 "
"routes.txt" 8 "route_short_name" "R6 "
missing_feed_info_date WARNING 1

missing_feed_info_date

One of feed_start_date or feed_end_date is specified, but not both.

Even though feed_info.start_date and feed_info.end_date are optional, if one field is provided the second one should also be provided.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. fieldName (?) Either `feed_end_date` or `feed_start_date`.
2 "feed_end_date"
missing_recommended_field WARNING 1

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_end_date"
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" "AMHUB SB" 397
"stops.txt" "stop_name" "AMHUB NB" 412
"stops.txt" "stop_name" "TJ MAX" 493
route_color_contrast WARNING 2

route_color_contrast

Insufficient route color contrast.

A route's color and route_text_color should be contrasting.

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeColor (?) The faulty record's HTML route color. routeTextColor (?) The faulty record's HTML route text color.
"5635" 5 "#D4DB12" "#FFFFFF"
"6753" 13 "#FCD900" "#FFFFFF"
route_long_name_contains_short_name WARNING 7

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`.
"5635" 5 "R1" "R1 - Hamilton/Middletown Shuttle"
"5638" 7 "R3" "R3 - Oxford-Forest Park Connector"
"5640" 8 "R6" "R6 - Job Connector"
"6750" 11 "O1" "O1"
"6752" 12 "O2" "O2"
"6753" 13 "O3" "O3"
"6754" 14 "O4" "O4"
same_name_and_description_for_route WARNING 9

same_name_and_description_for_route

Same name and description for route.

The GTFS spec defines routes.txt route_desc as:

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

See the GTFS and GTFS Best Practices links below for more examples of how to populate the route_short_name, route_long_name, and route_desc fields.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. routeId (?) The id of the faulty record. routeDesc (?) The `routes.routes_desc` of the faulty record. specifiedField (?) Either `route_short_name` or `route_long_name`.
5 "5635" "R1 - Hamilton/Middletown Shuttle" "route_long_name"
7 "5638" "R3 - Oxford-Forest Park Connector" "route_long_name"
8 "5640" "R6 - Job Connector" "route_long_name"
9 "6067" "CincyLink" "route_long_name"
10 "6734" "CincyLink Express" "route_long_name"
11 "6750" "O1" "route_short_name"
12 "6752" "O2" "route_short_name"
13 "6753" "O3" "route_short_name"
14 "6754" "O4" "route_short_name"
trip_distance_exceeds_shape_distance_below_threshold WARNING 67

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.

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

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.
"SaIO3O3 IB1220" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1305" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1350" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1435" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1520" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1605" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1650" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1735" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1820" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1905" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1950" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaOO1O1D OB1200" "30606" 11865.74882104458 11865.746289319102 0.0
"SaOO1O1D OB1340" "30606" 11865.74882104458 11865.746289319102 0.0
"SaOO1O1D OB1520" "30606" 11865.74882104458 11865.746289319102 0.0
"SaOO1O1D OB1700" "30606" 11865.74882104458 11865.746289319102 0.0
"SaOO1O1D OB1840" "30606" 11865.74882104458 11865.746289319102 0.0
"WkIO3O3 IB0720" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB0805" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB0850" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB0935" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1020" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1105" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1150" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1235" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1320" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1405" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1450" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1535" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1620" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1705" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1750" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1835" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1920" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIR1IB0730" "30613" 28952.048037947123 28943.853538103493 0.0
"WkIR1IB0830" "30613" 28952.048037947123 28943.853538103493 0.0
"WkIR1IB0930" "30613" 28952.048037947123 28943.853538103493 0.0
"WkIR1IB1030" "30613" 28952.048037947123 28943.853538103493 0.0
"WkIR1IB1130" "30613" 28952.048037947123 28943.853538103493 0.0
"WkIR1IB1230" "30613" 28952.048037947123 28943.853538103493 0.0
"WkIR1IB1330" "30613" 28952.048037947123 28943.853538103493 0.0
"WkIR1IB1430" "30613" 28952.048037947123 28943.853538103493 0.0
"WkIR1IB1530" "30613" 28952.048037947123 28943.853538103493 0.0
"WkIR1IB1630" "30613" 28952.048037947123 28943.853538103493 0.0
"WkIR1IB1730" "30613" 28952.048037947123 28943.853538103493 0.0
"WkIR1IB1830" "30613" 28952.048037947123 28943.853538103493 0.0
"WkIR1IB1930" "30613" 28952.048037947123 28943.853538103493 0.0
"WkIR1IB2030" "30613" 28952.048037947123 28943.853538103493 0.0
"WkOO1O1D OB0700" "30606" 11865.74882104458 11865.746289319102 0.0
"WkOO1O1D OB0740" "30606" 11865.74882104458 11865.746289319102 0.0
"WkOO1O1D OB0840" "30606" 11865.74882104458 11865.746289319102 0.0
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.
"calendar_attributes.txt"
"realtime_routes.txt"
"directions.txt"