GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2025-12-13T03:33:11Z,
for the dataset file:///shared/bas-rhin.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


  • Fluo Grand Est 67

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. transfers.txt
  9. trips.txt

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 49
  • Shapes: 323
  • Stops: 1536
  • Trips: 1750

Specification Compliance report

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

Notice Code Severity Total
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 21

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.
"CALC_15587983" 180951 0.0 1 180950 0.0 0 0.19502856912697755
"CALC_15587986" 184026 0.0 1 184025 0.0 0 0.19502856912697755
"CALC_15588049" 256543 80.0 3 256542 80.0 2 0.7345253203142421
"CALC_15587753" 418 15071.0 416 417 15071.0 415 4.9425488786855476E-8
"CALC_15587753" 420 15076.0 418 419 15076.0 417 4.9425487009440275E-8
"CALC_15587754" 3223 34335.0 1444 3222 34335.0 1443 4.9425487009440275E-8
"CALC_15587754" 3225 34340.0 1446 3224 34340.0 1445 4.9425488786855476E-8
"CALC_15587876" 104797 23825.0 1112 104796 23825.0 1111 0.34986415124332043
"CALC_15587968" 167766 6916.0 309 167765 6916.0 308 0.734525320314242
"CALC_15587969" 167772 80.0 3 167771 80.0 2 0.7345253203142421
"CALC_15587762" 10071 13951.0 801 10070 13951.0 800 0.7359934982385495
"CALC_15587889" 115031 80.0 3 115030 80.0 2 0.7345253203142421
"CALC_15587897" 119222 9451.0 531 119221 9451.0 530 0.708358497093687
"CALC_15587898" 119754 9451.0 531 119753 9451.0 530 0.708358497093687
"CALC_15587901" 120675 7745.0 385 120674 7745.0 384 0.708358497093687
"CALC_15587904" 121454 80.0 3 121453 80.0 2 0.7345253203142421
"CALC_15587917" 130013 13887.0 582 130012 13887.0 581 0.9836344059222276
"CALC_15587831" 69197 51148.0 1744 69196 51148.0 1743 4.9425487009440275E-8
"CALC_15587831" 69199 51153.0 1746 69198 51153.0 1745 4.9425488786855476E-8
"CALC_15587832" 70023 15071.0 416 70022 15071.0 415 4.9425488786855476E-8
"CALC_15587832" 70025 15076.0 418 70024 15076.0 417 4.9425487009440275E-8
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 82

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 82 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.
"routes.txt" "route_long_name" "STRASBOURG - EUROPA PARK" 2
"routes.txt" "route_long_name" "SELESTAT - EUROPA PARK" 3
"routes.txt" "route_long_name" "BRUMATH - HOENHEIM" 4
"routes.txt" "route_long_name" "SAESSOLSHEIM - STRASBOURG" 5
"routes.txt" "route_long_name" "WOELLENHEIM - STRASBOURG" 6
"routes.txt" "route_long_name" "STRASBOURG - DUPPIGHEIM" 7
"routes.txt" "route_long_name" "WINGERSHEIM - STRASBOURG" 8
"routes.txt" "route_long_name" "KIENHEIM - TRUCHTERSHEIM - STRASBOURG" 9
"routes.txt" "route_long_name" "WASSELONNE - STRASBOURG" 10
"routes.txt" "route_long_name" "ZEINHEIM - WASSELONNE" 11
"routes.txt" "route_long_name" "WANGENBOURG - WASSELONNE" 12
"routes.txt" "route_long_name" "WESTHOFFEN - NORDHEIM" 13
"routes.txt" "route_long_name" "MARLENHEIM - BALBRONN" 14
"routes.txt" "route_long_name" "WASSELONNE - MARLENHEIM-MOLSHEIM - DORLISHEIM" 15
"routes.txt" "route_long_name" "COSSWILLER - WASSELONNE" 16
"routes.txt" "route_long_name" "SCHARRACHBERGHEIM - OSTHOFFEN - STRASBOURG" 17
"routes.txt" "route_long_name" "MONT SAINTE-ODILE - STRASBOURG" 19
"routes.txt" "route_long_name" "OTTROTT - OBERNAI - ERSTEIN" 22
"routes.txt" "route_long_name" "ERSTEIN - BENFELD" 23
"routes.txt" "route_long_name" "HERRLISHEIM - HAGUENAU" 25
"routes.txt" "route_long_name" "HATTEN - HAGUENAU" 26
"routes.txt" "route_long_name" "LEMBACH - WOERTH - HAGUENAU" 27
"routes.txt" "route_long_name" "SELTZ - HAGUENAU" 28
"routes.txt" "route_long_name" "SAVERNE - TRUCHTERSHEIM" 29
"routes.txt" "route_long_name" "SAVERNE - DUNTZENHEIM" 30
"routes.txt" "route_long_name" "SAVERNE - DRULINGEN - SARRE UNION" 31
"routes.txt" "route_long_name" "WASSELONNE - SAVERNE" 32
"routes.txt" "route_long_name" "SELESTAT - HAUT-KOENIGSBOURG" 33
"routes.txt" "route_long_name" "VILLE - SELESTAT" 34
"routes.txt" "route_long_name" "SELESTAT - MARCKOLSHEIM" 36
"routes.txt" "route_long_name" "SUNDHOUSE - SELESTAT" 37
"routes.txt" "route_long_name" "DONNENHEIM - ECKWERSHEIM" 39
"routes.txt" "route_long_name" "ROHR - TRUCHTERSHEIM" 40
"routes.txt" "route_long_name" "HURTIGHEIM - TRUCHTERSHEIM" 41
"routes.txt" "route_long_name" "FURDENHEIM - TRUCHTERSHEIM" 42
"routes.txt" "route_long_name" "FESSENHEIM - TRUCHTERSHEIM" 43
"routes.txt" "route_long_name" "WESTHOFFEN - WASSELONNE" 44
"routes.txt" "route_long_name" "DAHLENHEIM - MARLENHEIM" 45
"routes.txt" "route_long_name" "WESTHOFFEN - MOLSHEIM" 46
"routes.txt" "route_long_name" "BALBRONN - MOLSHEIM" 47
"routes.txt" "route_long_name" "SCHARRACHBERGHEIM - MOLSHEIM" 48
"routes.txt" "route_long_name" "KUTTOLSHEIM - TRUCHTERSHEIM" 49
"routes.txt" "route_long_name" "HATTMATT - SAVERNE" 50
"stops.txt" "stop_name" "PISCINE PLEIN AIR" 564
"stops.txt" "stop_name" "42e RIF" 1351
"stops.txt" "stop_name" "42e RIF" 1352
"stops.txt" "stop_name" "42e RIF" 1353
"trips.txt" "trip_headsign" "CHAMP DU FEU" 2
"trips.txt" "trip_headsign" "CHAMP DU FEU" 3
"trips.txt" "trip_headsign" "STRASBOURG BAGGERSEE" 16
stop_too_far_from_shape WARNING 1

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.
743 "CALC_15588059" "1673" 12393 "97R" "Collège" [48.37324282622206,7.703450565974913] 121.99917841978217
stop_without_stop_time WARNING 17

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.
513 "PLEC1" "Place de l'école"
514 "PLEC2" "Place de l'école"
856 "5690A" "Lycée Agricole"
1028 "245A" "Eglise"
1269 "734A" "MONT SAINTE-ODILE - Couvent"
1270 "734R" "MONT SAINTE-ODILE - Couvent"
1293 "725A" "KLINGENTHAL - Vorbruck"
1294 "725R" "KLINGENTHAL - Vorbruck"
1352 "42RIF1" "42e RIF"
1353 "42RIF2" "42e RIF"
1355 "RSOUR1" "Rue des souris"
1356 "RSOUR2" "Rue des souris"
1505 "706A" "Lavoir"
1506 "706R" "Lavoir"
1508 "707A" "Muehlbach"
1509 "707R" "Muehlbach"
1511 "5608R" "Collège"
unexpected_enum_value WARNING 6

unexpected_enum_value

An enum has an unexpected value.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row number of the faulty record. fieldName (?) The name of the field where the error occurred. fieldValue (?) Faulty value.
"routes.txt" 2 "route_type" 715
"routes.txt" 3 "route_type" 715
"routes.txt" 18 "route_type" 715
"routes.txt" 20 "route_type" 715
"routes.txt" 35 "route_type" 715
"routes.txt" 38 "route_type" 715