gtfs-20220-f84b9bde618913 — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-07-24T20:54:44Z,
for the dataset file:///shared/gtfs-20220-f84b9bde618913_f4a79dc4.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. trips.txt

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 8
  • Shapes: 29
  • Stops: 311
  • Trips: 387

Specification Compliance report

608 notices reported (0 errors, 605 warnings, 3 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 36

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.

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.
"000006-001033" 11079 716.0 35 11078 716.0 34 0.24591788162682934
"000006-001033" 11336 6583.0 292 11335 6583.0 291 0.18105270494171666
"000006-001033" 11505 11100.0 461 11504 11100.0 460 0.01881270299161669
"000006-001033" 11692 17093.0 648 11691 17093.0 647 0.4977943469776768
"000004-001010" 5365 1159.0 37 5364 1159.0 36 0.0817625173723155
"000006-001032" 10235 0.0 2 10234 0.0 1 0.9248779678131881
"000006-001032" 10576 6745.0 343 10575 6745.0 342 0.4412145682724113
"000006-001032" 11033 16467.0 800 11032 16467.0 799 0.47181563157253836
"000006-001031" 9396 0.0 2 9395 0.0 1 0.9248779678131881
"000006-001031" 9745 7155.0 351 9744 7155.0 350 0.3987073102755954
"000006-001030" 9207 10518.0 442 9206 10518.0 441 0.01881270299161669
"000002-002024" 3403 2033.0 87 3402 2033.0 86 0.15895335058686486
"000002-002024" 3637 7276.0 321 3636 7276.0 320 0.07273788166747705
"000002-002022" 2919 2244.0 68 2918 2244.0 67 0.6640415664205486
"000002-002022" 3229 9696.0 378 3228 9696.0 377 0.33174004183282224
"000007-001052" 14682 31041.0 992 14681 31041.0 991 0.07273788166747705
"000002-002021" 2442 2033.0 87 2441 2033.0 86 0.15895335058686486
"000002-002021" 2676 7276.0 321 2675 7276.0 320 0.07273788166747705
"000004-001012" 7061 10848.0 504 7060 10848.0 503 0.04445461809305965
"000007-001054" 15839 1418.0 39 15838 1418.0 38 0.6844699156323242
"000007-001054" 16254 12961.0 454 16253 12961.0 453 0.2278270658666448
"000004-001011" 5918 1159.0 37 5917 1159.0 36 0.0817625173723155
"000002-002025" 3905 2244.0 68 3904 2244.0 67 0.6640415664205486
"000002-002025" 4103 7679.0 266 4102 7679.0 265 0.7301012636780649
"000002-002025" 4234 10210.0 397 4233 10210.0 396 0.33174004183282224
"000004-001013" 7758 12664.0 635 7757 12664.0 634 0.04445461809305965
"000003-002031" 4537 4111.0 216 4536 4111.0 215 0.7301012636780649
"000003-002032" 4878 935.0 45 4877 935.0 44 0.40649432368895877
"000003-002032" 5270 7188.0 437 5269 7188.0 436 0.07273788166747705
"000005-001020" 7944 3394.0 124 7943 3394.0 123 0.4428288113426294
"000001-002011" 29 344.0 28 28 344.0 27 0.09113831636658588
"000001-002011" 382 6800.0 381 381 6800.0 380 0.07273788166747705
"000001-002012" 590 344.0 28 589 344.0 27 0.09113831636658588
"000001-002012" 976 8104.0 414 975 8104.0 413 0.07273788166747705
"000009-001043" 17135 1247.0 49 17134 1247.0 48 0.9562238963596459
"000001-002014" 2339 13027.0 600 2338 13027.0 599 0.7332336781443924
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"
mixed_case_recommended_field WARNING 560

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.

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

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" "18 JUIN 40" 2
"stops.txt" "stop_name" "BOIS DE SAVIGNY" 3
"stops.txt" "stop_name" "BOIS DE SAVIGNY" 4
"stops.txt" "stop_name" "BLANZY GARE" 7
"stops.txt" "stop_name" "BLANZY GARE" 8
"stops.txt" "stop_name" "BLANZY MAIRIE" 11
"stops.txt" "stop_name" "BLANZY POSTE" 12
"stops.txt" "stop_name" "BLANZY POSTE" 13
"stops.txt" "stop_name" "LES ROMPOIS" 14
"stops.txt" "stop_name" "LES ROMPOIS" 15
"stops.txt" "stop_name" "LES ROMPOIS" 16
"stops.txt" "stop_name" "LES SAPINS" 17
"stops.txt" "stop_name" "LES SAPINS" 18
"stops.txt" "stop_name" "CENTRE COMMERCIAL" 23
"stops.txt" "stop_name" "CENTRE COMMERCIAL" 24
"stops.txt" "stop_name" "MONTEE NOIRE" 27
"stops.txt" "stop_name" "LE BREUIL POSTE" 28
"stops.txt" "stop_name" "LE BREUIL POSTE" 29
"stops.txt" "stop_name" "SAINT HENRI" 30
"stops.txt" "stop_name" "SAINT HENRI" 31
"stops.txt" "stop_name" "ACACIAS - CIMETIERE" 32
"stops.txt" "stop_name" "ACACIAS - CIMETIERE" 33
"stops.txt" "stop_name" "MONTAGNE DES BOULETS" 34
"stops.txt" "stop_name" "MONTAGNE DES BOULETS" 35
"stops.txt" "stop_name" "CAMPUS SUD BOURGOGNE" 36
"stops.txt" "stop_name" "CAMPUS SUD BOURGOGNE" 37
"stops.txt" "stop_name" "CIMETIERE ST EUGENE" 44
"stops.txt" "stop_name" "CIMETIERE ST EUGENE" 45
"stops.txt" "stop_name" "CITE DES PRES" 50
"stops.txt" "stop_name" "CITE DES PRES" 51
"stops.txt" "stop_name" "CROIX MENEE" 52
"stops.txt" "stop_name" "CROIX MENEE" 53
"stops.txt" "stop_name" "EDITH CAVELL" 54
"stops.txt" "stop_name" "EDITH CAVELL" 55
"stops.txt" "stop_name" "LE CREUSOT GARE" 56
"stops.txt" "stop_name" "LE CREUSOT GARE" 57
"stops.txt" "stop_name" "HOPITAL HOTEL DIEU" 64
"stops.txt" "stop_name" "HOPITAL HOTEL DIEU" 65
"stops.txt" "stop_name" "HOTEL DIEU" 66
"stops.txt" "stop_name" "HOTEL DIEU" 67
"stops.txt" "stop_name" "LONG TOM" 76
"stops.txt" "stop_name" "LONG TOM" 77
"stops.txt" "stop_name" "MAISON NEUVE" 78
"stops.txt" "stop_name" "MAISON NEUVE" 79
"stops.txt" "stop_name" "MONTAGNE DU NOM" 84
"stops.txt" "stop_name" "MONTAGNE DU NOM" 85
"stops.txt" "stop_name" "PARC DES LOGES" 92
"stops.txt" "stop_name" "PARC DES LOGES" 93
"stops.txt" "stop_name" "PARC DES SPORTS" 96
"stops.txt" "stop_name" "PARC DES SPORTS" 97
same_name_and_description_for_route WARNING 8

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`.
2 "C1" "C1" "route_short_name"
3 "C2" "C2" "route_short_name"
4 "C3" "C3" "route_short_name"
5 "M1" "M1" "route_short_name"
6 "M2" "M2" "route_short_name"
7 "M3" "M3" "route_short_name"
8 "M4" "M4" "route_short_name"
9 "TGV" "TGV" "route_short_name"
big_gap_in_service INFO 3

big_gap_in_service

A service has a gap of more than 13 days between active service dates.

You can see more about this notice here.

serviceId (?) The service_id that has the gap. gapStartDate (?) The first day of the gap. gapEndDate (?) The last day of the gap. gapDurationDays (?) The number of days in the gap.
"1" "2026-07-25" "2026-08-29" 34
"2" "2026-07-24" "2026-08-24" 30
"3" "2026-07-25" "2026-08-24" 29