GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-16T23:51:51Z,
for the dataset file:///shared/moselle.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. transfers.txt
  9. trips.txt

Counts


  • Agencies: 1
  • Blocks: 2759
  • Routes: 435
  • Shapes: 2759
  • Stops: 4979
  • Trips: 2759

Specification Compliance report

2977 notices reported (46 errors, 2931 warnings, 0 infos)

Notice Code Severity Total
decreasing_or_equal_stop_time_distance ERROR 7

decreasing_or_equal_stop_time_distance

Decreasing or equal shape_dist_traveled in stop_times.txt.

When sorted by stop_times.stop_sequence, two consecutive entries in stop_times.txt should have increasing distance, based on the field shape_dist_traveled. If the values are equal, this is considered as an error.

You can see more about this notice here.

tripId (?) The id of the faulty trip. stopId (?) The id of the faulty stop. csvRowNumber (?) The row number from `stop_times.txt`. shapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the faulty record. stopSequence (?) The faulty record's `stop_times.stop_sequence`. prevCsvRowNumber (?) The row number from `stop_times.txt` of the previous stop time. prevShapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the previous stop time. prevStopSequence (?) The previous record's `stop_times.stop_sequence`.
"1032439-1047438" "1035448" 34844 2190.0 5 34843 2190.0 4
"1031322-1044830" "1045666" 35563 5716.0 3 35562 5716.0 2
"1031322-1044830" "1031038" 35564 5716.0 4 35563 5716.0 3
"1031322-1044830" "1031784" 35565 5716.0 5 35564 5716.0 4
"1038226-1055764" "1032980" 25005 10580.0 3 25004 10580.0 2
"1033111-1048303" "1033784" 28821 27560.0 3 28820 27560.0 2
"1032984-1048178" "1032794" 30926 0.0 2 30925 0.0 1
equal_shape_distance_diff_coordinates ERROR 1

equal_shape_distance_diff_coordinates

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 the 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 different coordinates indicate an error.

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.
"9842$1036609$1804" 311183 27923.0 735 311182 27923.0 734 1.2768060270626607
stop_time_with_arrival_before_previous_departure_time ERROR 25

stop_time_with_arrival_before_previous_departure_time

Backwards time travel between stops in stop_times.txt

For a given trip_id, the arrival_time of (n+1)-th stoptime in sequence must not precede the departure_time of n-th stoptime in sequence in stop_times.txt.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. prevCsvRowNumber (?) The row of the previous stop time. tripId (?) The trip_id associated to the faulty record. arrivalTime (?) Arrival time at the faulty record. departureTime (?) Departure time at the previous stop time.
38529 38528 "1017486-1022828" "00:00:00" "07:28:00"
24979 24978 "1018991-1024324" "00:00:00" "12:10:00"
22475 22474 "1018745-1024078" "00:00:00" "11:30:00"
22480 22479 "1018745-1024078" "00:00:00" "11:50:00"
36640 36639 "1017241-1022583" "00:00:00" "13:21:00"
37498 37497 "1017353-1022695" "00:00:00" "13:10:00"
37500 37499 "1017353-1022695" "00:00:00" "13:15:00"
36631 36630 "1017240-1022582" "00:00:00" "08:21:00"
21961 21960 "1018692-1024025" "00:00:00" "16:31:00"
21963 21962 "1018692-1024025" "00:00:00" "16:37:00"
18591 18590 "1032443-1047442" "00:00:00" "12:20:00"
18202 18201 "1038628-1056578" "00:00:00" "17:10:00"
18205 18204 "1038628-1056578" "00:00:00" "17:24:00"
36572 36571 "1017232-1022574" "00:00:00" "07:43:00"
22791 22790 "1031454-1045207" "00:00:00" "17:28:00"
37476 37475 "1017352-1022694" "00:00:00" "07:55:00"
37478 37477 "1017352-1022694" "00:00:00" "08:00:00"
36578 36577 "1017233-1022575" "00:00:00" "13:13:00"
20389 20388 "1031305-1044520" "00:00:00" "12:19:00"
37742 37741 "1017384-1022726" "00:00:00" "08:08:00"
25686 25685 "1038466-1056300" "00:00:00" "12:36:00"
18483 18482 "1038614-1056564" "00:00:00" "17:17:00"
22783 22782 "1031453-1045206" "00:00:00" "16:43:00"
36419 36418 "1017212-1022554" "00:00:00" "07:49:00"
18607 18606 "1032444-1047443" "00:00:00" "17:20:00"
trip_distance_exceeds_shape_distance ERROR 13

trip_distance_exceeds_shape_distance

The distance between the last shape point and last stop point is greater than or equal to 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.
"1020000-1025333" "9842$1020000$1670" 2380.0 2378.0 12.659291370148502
"1032501-1047498" "9842$1032501$1774" 1630.0 1452.0 16.042616643066125
"1018383-1023716" "9842$1018383$1780" 1380.0 1358.0 49.01729525331855
"1018385-1023718" "9842$1018385$1780" 1380.0 1358.0 49.01729525331855
"1018065-1023405" "9842$1018065$196" 11880.0 11814.0 1326.7605697698664
"1032984-1048178" "9842$1032984$28" 4406.0 4401.0 16.042616643066125
"1017067-1022409" "9842$1017067$460" 1630.0 1452.0 16.042616643066125
"1031322-1044830" "9842$1031322$510" 17086.0 16627.0 16.79948520383792
"1017419-1022761" "9842$1017419$780" 6030.0 6025.0 789.6289762947471
"1031400-1044907" "9842$1031400$844" 6030.0 6025.0 789.6289762947471
"1031401-1044908" "9842$1031401$844" 6030.0 6025.0 789.6289762947471
"1017489-1022831" "9842$1017489$850" 6030.0 6025.0 789.6289762947471
"1036724-1053892" "9842$1036724$857" 4160.0 3865.0 11.7298484198539
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 1071

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.

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

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.
"9842$1038437$2734" 265812 0.0 1 265811 0.0 0 0.473227346220734
"9842$1038437$2734" 265851 1047.0 40 265850 1047.0 39 0.13988625513026606
"9842$1038437$2734" 266221 20208.0 410 266220 20208.0 409 0.7357462892662058
"9842$1038437$2734" 266320 22677.0 509 266319 22677.0 508 0.47343020313573336
"9842$1038437$2734" 266362 24877.0 551 266361 24877.0 550 0.446736119024776
"9842$1038437$2734" 266388 26245.0 577 266387 26245.0 576 0.07007743446452445
"9842$1038437$2734" 266637 34293.0 826 266636 34293.0 825 0.525692542247992
"9842$1038082$526" 2280 11826.0 267 2279 11826.0 266 0.06961472278480976
"9842$1038082$526" 2390 18793.0 377 2389 18793.0 376 0.06959417761046412
"9842$1038082$526" 2450 25542.0 437 2449 25542.0 436 0.06958259105103391
"9842$1038082$526" 2533 29427.0 520 2532 29427.0 519 0.4298497905400362
"9842$1019003$2367" 101232 19767.0 572 101231 19767.0 571 0.07001385544350122
"9842$1017778$1128" 254633 15092.0 330 254632 15092.0 329 0.2795598333756431
"9842$1036477$2646" 231288 17481.0 697 231287 17481.0 696 0.1735450294646733
"9842$1036477$2646" 231431 23577.0 840 231430 23577.0 839 0.13879967347359137
"9842$1033885$2700" 236266 1263.0 46 236265 1263.0 45 0.8511824061748315
"CALC_15503698" 1669390 764.0 71 1669389 764.0 70 0.415428780488297
"CALC_15503698" 1669761 6369.0 442 1669760 6369.0 441 7.989919656348884E-7
"CALC_15503698" 1669763 6378.0 444 1669762 6378.0 443 7.987994268901522E-7
"CALC_15503698" 1670242 19560.0 923 1670241 19560.0 922 1.0507502442237112E-6
"CALC_15503698" 1670244 19590.0 925 1670243 19590.0 924 1.050734337575459E-6
"CALC_15503698" 1670353 24459.0 1034 1670352 24459.0 1033 1.107053755858457E-6
"CALC_15503697" 1667431 3167.0 256 1667430 3167.0 255 0.4462066580975921
"CALC_15503697" 1667567 4576.0 392 1667566 4576.0 391 0.415428780488297
"CALC_15503697" 1667938 10181.0 763 1667937 10181.0 762 7.989919656348884E-7
"CALC_15503697" 1667940 10190.0 765 1667939 10190.0 764 7.987994268901522E-7
"CALC_15503697" 1668496 24068.0 1321 1668495 24068.0 1320 1.0507502442237112E-6
"CALC_15503697" 1668498 24098.0 1323 1668497 24098.0 1322 1.050734337575459E-6
"CALC_15503697" 1668607 28968.0 1432 1668606 28968.0 1431 1.107053755858457E-6
"9842$1035724$441" 143794 6307.0 114 143793 6307.0 113 0.06972635605391651
"9842$1035724$441" 144103 19205.0 423 144102 19205.0 422 0.24387134093208868
"9842$1033882$1125" 249366 5259.0 142 249365 5259.0 141 0.069659258221049
"9842$1033882$1125" 249556 15046.0 332 249555 15046.0 331 0.42985271795848107
"9842$1033882$1125" 249718 28293.0 494 249717 28293.0 493 0.10438023109739754
"9842$1033882$1125" 249773 29868.0 549 249772 29868.0 548 0.27829195859717887
"9842$1033882$1125" 249839 30753.0 615 249838 30753.0 614 0.06956580616742082
"9842$1033882$1125" 249937 33163.0 713 249936 33163.0 712 0.42417564159020205
"9842$1033882$1125" 250212 46022.0 988 250211 46022.0 987 0.06942457141774787
"CALC_15502334" 772026 0.0 1 772025 0.0 0 0.23316012463803776
"CALC_15503664" 1653896 13909.0 350 1653895 13909.0 349 0.5937890879795609
"CALC_15502335" 773063 0.0 1 773062 0.0 0 0.23316012463803776
"9842$1036634$761" 56005 7281.0 165 56004 7281.0 164 0.06939985275188994
"9842$1036636$1071" 173678 20098.0 654 173677 20098.0 653 0.3469716087026756
"9842$1036636$1071" 173689 20428.0 665 173688 20428.0 664 0.06939703405266384
"CALC_15503660" 1651955 13648.0 377 1651954 13648.0 376 0.5937890879795609
"9842$1038623$442" 159648 4863.0 83 159647 4863.0 82 0.06963124239192908
"9842$1038387$1115" 242726 8140.0 207 242725 8140.0 206 0.4298123744401325
"9842$1038387$1115" 242984 15001.0 465 242983 15001.0 464 0.44628956475911097
"9842$1028884$2265" 70282 7591.0 159 70281 7591.0 158 0.06962665746023577
"9842$1028884$2265" 70382 10400.0 259 70381 10400.0 258 0.10444123223675626
expired_calendar WARNING 425

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.

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

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
2 "9842:100-39-127"
3 "9842:101-39-127"
4 "9842:102-39-127"
7 "9842:104-39-127"
8 "9842:105-39-127"
9 "9842:106-39-127"
10 "9842:107-39-127"
11 "9842:108-39-127"
12 "9842:109-39-127"
13 "9842:110-39-127"
14 "9842:111-39-127"
15 "9842:112-39-127"
16 "9842:113-39-127"
18 "9842:114-39-127"
19 "9842:115-39-127"
20 "9842:116-39-127"
21 "9842:117-39-127"
22 "9842:118-39-127"
23 "9842:119-39-127"
24 "9842:120-39-127"
26 "9842:122-39-127"
27 "9842:123-39-127"
28 "9842:12-39-127"
29 "9842:124-39-127"
31 "9842:126-39-127"
32 "9842:127-39-127"
33 "9842:128-39-127"
34 "9842:129-39-127"
35 "9842:130-39-127"
36 "9842:131-39-127"
37 "9842:132-39-127"
38 "9842:133-39-127"
40 "9842:134-39-127"
41 "9842:135-39-127"
42 "9842:136-39-127"
43 "9842:137-39-127"
44 "9842:138-39-127"
45 "9842:1-39-127"
46 "9842:139-39-127"
47 "9842:140-39-127"
48 "9842:141-39-127"
49 "9842:142-39-127"
50 "9842:143-39-127"
52 "9842:144-39-127"
53 "9842:145-39-127"
54 "9842:146-39-127"
55 "9842:147-39-127"
57 "9842:149-39-127"
58 "9842:150-39-127"
59 "9842:151-39-127"
fast_travel_between_consecutive_stops WARNING 9

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.
1011 "1031305-1044520" "1006385" 367.87080200771857 6.131180033461976 20388 2 "1031578" "DIEUZE - College Lycee Hermite" "12:19:00" 20389 3 "1034616" "WUISSE - Maison Forestiere" "00:00:00"
832 "1038628-1056578" "1006313" 215.41971092366583 3.5903285153944307 18202 2 "1033292" "NELLING - Mairie Ecole" "00:00:00" 18203 3 "1032756" "LENING - Gare" "00:00:00"
362 "1031113-1044019" "1006282" 333.11628843676823 5.551938140612803 7357 37 "1031844" "FONTENY - Faxe" "13:35:00" 7358 38 "1032744" "LEMONCOURT - Rue Principale" "13:35:00"
1857 "1036752-1053952" "1006697" 251.46681906223054 4.191113651037176 29283 13 "1034166" "SOUCHT - Salle Polyvalente" "12:23:00" 29284 14 "1033152" "MONTBRONN - Rue De Nassenwald" "12:23:00"
860 "1038614-1056564" "1006322" 506.1823550021242 8.436372583368737 18482 3 "1033824" "SAINT-AVOLD - Lycee Jully" "17:17:00" 18483 4 "1036116" "HAM-SOUS-VARSBERG - College Bergpfad" "00:00:00"
1870 "1031201-1044201" "1006699" 261.8736720780203 4.364561201300338 29495 10 "1032614" "KIRSCH-LES-SIERCK - Centre" "12:45:00" 29496 11 "1033164" "MONTENACH - Kaltweiller" "12:45:00"
366 "1031117-1044023" "1006282" 333.11628843676823 5.551938140612803 7485 44 "1031844" "FONTENY - Faxe" "18:42:00" 7486 45 "1032744" "LEMONCOURT - Rue Principale" "18:42:00"
1859 "1036753-1053953" "1006697" 251.46681906223054 4.191113651037176 29307 14 "1034166" "SOUCHT - Salle Polyvalente" "12:28:00" 29308 15 "1033152" "MONTBRONN - Rue De Nassenwald" "12:28:00"
369 "1037711-1055000" "1006282" 316.70575919586634 5.278429319931106 7560 14 "1031906" "FRESNES-EN-SAULNOIS - Place Des Tilleuls" "19:18:00" 7561 15 "1036262" "CHATEAU-SALINS - Centre Hospitalier" "19:18:00"
fast_travel_between_far_stops WARNING 13

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.
2344 "1017240-1022582" "1006443" 732.3192390851028 12.20532065141838 36626 3 "1034428" "VILLERS-STONCOURT - Rue De La Houtte" "08:04:00" 36631 8 "1034430" "VILLERS-STONCOURT - Aoury" "00:00:00"
362 "1031113-1044019" "1006282" 325.6678253656115 10.855594178853718 7355 35 "1031594" "DONJEUX - Croisement" "13:34:00" 7358 38 "1032744" "LEMONCOURT - Rue Principale" "13:35:00"
1857 "1036752-1053952" "1006697" 640.9591115813523 10.682651859689205 29275 5 "1032006" "GOETZENBRUCK - Rue De Bitche" "12:23:00" 29284 14 "1033152" "MONTBRONN - Rue De Nassenwald" "12:23:00"
137 "1031105-1044011" "1006282" 223.09647325261983 11.154823662630992 2511 8 "1032744" "LEMONCOURT - Rue Principale" "06:13:00" 2515 12 "1034694" "DONJEUX - Village" "06:15:00"
2345 "1017241-1022583" "1006443" 732.3192390851028 12.20532065141838 36635 3 "1034428" "VILLERS-STONCOURT - Rue De La Houtte" "13:04:00" 36640 8 "1034430" "VILLERS-STONCOURT - Aoury" "00:00:00"
1870 "1031201-1044201" "1006699" 220.80497099528532 14.720331399685689 29492 7 "1032608" "KERLING-LES-SIERCK - Eglise" "12:42:00" 29496 11 "1033164" "MONTENACH - Kaltweiller" "12:45:00"
366 "1031117-1044023" "1006282" 325.6678253656115 10.855594178853718 7483 42 "1031594" "DONJEUX - Croisement" "18:41:00" 7486 45 "1032744" "LEMONCOURT - Rue Principale" "18:42:00"
192 "1031110-1044016" "1006282" 223.09647325261983 11.154823662630992 3369 8 "1032744" "LEMONCOURT - Rue Principale" "06:13:00" 3373 12 "1034694" "DONJEUX - Village" "06:15:00"
1509 "1018991-1024324" "1006602" 685.4610395582315 11.424350659303858 24978 1 "1032920" "MAIZIERES-LES-METZ - College Verlaine" "12:10:00" 24985 8 "1034104" "SEMECOURT - Rue Nationale" "00:00:00"
1239 "1018745-1024078" "1006500" 626.7811463359029 10.446352438931715 22475 2 "1032622" "KIRSCHNAUMEN - Evendorff / Ferme" "00:00:00" 22480 7 "1032616" "KIRSCHNAUMEN - Ecole" "00:00:00"
1588 "1038466-1056300" "1006630" 715.5940780994616 11.92656796832436 25683 3 "1034024" "SARREBOURG - Hopital" "12:18:00" 25686 6 "1030648" "ABRESCHVILLER - Temple" "00:00:00"
2592 "1017486-1022828" "1006586" 665.0480404672991 11.084134007788316 38524 9 "1033832" "SAINT-AVOLD - Cite Huchet / Foyer" "06:58:00" 38529 14 "1031356" "COCHEREN - Belle Roche / Chaufferie" "00:00:00"
1859 "1036753-1053953" "1006697" 640.9591115813523 10.682651859689205 29299 6 "1032006" "GOETZENBRUCK - Rue De Bitche" "12:28:00" 29308 15 "1033152" "MONTBRONN - Rue De Nassenwald" "12:28:00"
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.
"stops.txt" 3397 "stop_name" "BEYREN-LES-SIERCK - Impasse Des Pres "
"stops.txt" 3398 "stop_name" "BEYREN-LES-SIERCK - Impasse Des Pres "
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 848

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 848 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" "ST-AVOLD / FAULQUEMONT / METZ" 2
"routes.txt" "route_long_name" "ST-AVOLD / FOULIGNY / METZ" 3
"routes.txt" "route_long_name" "BOULAY-MOSELLE / FOULIGNY / ST-AVOLD" 4
"routes.txt" "route_long_name" "CREUTZWALD / METZ" 5
"routes.txt" "route_long_name" "BOUZONVILLE / METZ" 6
"routes.txt" "route_long_name" "CREUTZWALD / ST-AVOLD" 7
"routes.txt" "route_long_name" "PIBLANGE / BOUZONVILLE" 8
"routes.txt" "route_long_name" "BOULAY-MOSELLE / ST-AVOLD" 9
"routes.txt" "route_long_name" "CHARLEVILLE-SS-BOIS / BOULAY-MOSELLE" 10
"routes.txt" "route_long_name" "ST-AVOLD / SARREGUEMINES" 11
"routes.txt" "route_long_name" "CHATEAU-SALINS / METZ" 12
"routes.txt" "route_long_name" "AUDUN-LE-TICHE / METZ" 13
"routes.txt" "route_long_name" "MOYEUVRE-GRANDE / METZ" 14
"routes.txt" "route_long_name" "THIONVILLE / METZ" 15
"routes.txt" "route_long_name" "FLORANGE / METZ" 16
"routes.txt" "route_long_name" "MOYEUVRE-PETITE / MOYEUVRE-GRANDE" 17
"routes.txt" "route_long_name" "ESCH-SUR-ALZETTE / THIONVILLE" 18
"routes.txt" "route_long_name" "VILLERS-STONCOURT / METZ" 19
"routes.txt" "route_long_name" "RONCOURT / METZ" 20
"routes.txt" "route_long_name" "LUTTANGE / THIONVILLE" 21
"routes.txt" "route_long_name" "STE-MARIE-AUX-CHENES / MONDELANGE" 22
"routes.txt" "route_long_name" "GUENANGE / METZ" 23
"routes.txt" "route_long_name" "HAGONDANGE / METZ" 24
"routes.txt" "route_long_name" "ROMBAS / METZ" 25
"routes.txt" "route_long_name" "REZONVILLE-VIONVILLE / METZ" 26
"routes.txt" "route_long_name" "WALDWISSE / SIERCK / THIONVILLE" 27
"routes.txt" "route_long_name" "MORHANGE / SARREGUEMINES" 28
"routes.txt" "route_long_name" "HELLIMER / FREYMING-MERLEBACH" 29
"routes.txt" "route_long_name" "LEYVILLER / FORBACH" 30
"routes.txt" "route_long_name" "FORBACH / SARREGUEMINES" 31
"routes.txt" "route_long_name" "FORBACH / SARREGUEMINES" 32
"routes.txt" "route_long_name" "FORBACH / ST-AVOLD" 33
"routes.txt" "route_long_name" "HAYANGE / METZ" 34
"routes.txt" "route_long_name" "SAARBRÜCKEN / ST-AVOLD" 35
"routes.txt" "route_long_name" "LUTTANGE / METZ" 36
"routes.txt" "route_long_name" "FORBACH / CREUTZWALD" 37
"routes.txt" "route_long_name" "FILSTROFF / CREUTZWALD" 38
"routes.txt" "route_long_name" "CREUTZWALD / FREYMING-MERLEBACH" 39
"routes.txt" "route_long_name" "MORHANGE / FAULQUEMONT" 40
"routes.txt" "route_long_name" "GOMELANGE / BOULAY-MOSELLE" 41
"routes.txt" "route_long_name" "BISTEN / ST-AVOLD" 42
"routes.txt" "route_long_name" "BITCHE / SARREGUEMINES" 43
"routes.txt" "route_long_name" "CHATEAU-SALINS / MORHANGE" 44
"routes.txt" "route_long_name" "DIEUZE / CHATEAU-SALINS" 45
"routes.txt" "route_long_name" "ABONCOURT-SUR-SEILLE / CHATEAU-SALINS" 46
"routes.txt" "route_long_name" "NELLING / DIEUZE" 47
"routes.txt" "route_long_name" "INSMING / ST-AVOLD" 48
"routes.txt" "route_long_name" "CHATEAU-SALINS / SARREBOURG" 49
"routes.txt" "route_long_name" "RACRANGE / MORHANGE" 50
"routes.txt" "route_long_name" "WUISSE / CHATEAU-SALINS" 51
stop_too_far_from_shape WARNING 92

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.

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

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.
1847 "9842$1031489$263" "1031489-1045250" 29070 "1036040" "METZ - Gare Sncf" [49.0742111206055,6.1112952232360795] 6042.497706061088
1366 "CALC_15503201" "1037278-1054530" 23559 "1035916" "DIESEN - Ecole" [49.17925189088917,6.678120925599405] 123.95406603582494
2593 "9842$1017487$848" "1017487-1022829" 38532 "1030932" "BEHREN-LES-FORBACH - Lp Hurlevent" [49.1687202453613,6.92233085632324] 238.41226916421917
1974 "CALC_15502792" "1032544-1047551" 31231 "1035444" "SAINT-PRIVAT-LA-MONTAGNE - Rue Schuman" [49.185300040390004,6.04243000004537] 116.93738046324304
628 "CALC_15502773" "1032640-1047758" 13779 "1035444" "SAINT-PRIVAT-LA-MONTAGNE - Rue Schuman" [49.185300040390004,6.04243000004537] 116.93738046324304
620 "CALC_15502775" "1032606-1047722" 13652 "1035444" "SAINT-PRIVAT-LA-MONTAGNE - Rue Schuman" [49.185300040390004,6.04243000004537] 116.93738046324304
624 "CALC_15502770" "1032631-1047749" 13703 "1035444" "SAINT-PRIVAT-LA-MONTAGNE - Rue Schuman" [49.185300040390004,6.04243000004537] 116.93738046324304
1960 "CALC_15502782" "1022041-1028271" 30898 "1033952" "SAINT-PRIVAT-LA-MONTAGNE - Rue De Metz" [49.183880040265294,6.039750000256859] 113.69522310061457
630 "CALC_15502781" "1032680-1047819" 13798 "1035444" "SAINT-PRIVAT-LA-MONTAGNE - Rue Schuman" [49.185300040390004,6.04243000004537] 116.93738046324304
615 "CALC_15502758" "1032601-1047717" 13598 "1035444" "SAINT-PRIVAT-LA-MONTAGNE - Rue Schuman" [49.185300040390004,6.04243000004537] 116.93738046324304
593 "9842$1031501$1524" "1031501-1045262" 13109 "1036204" "LOUVIGNY - Gare Tgv" [48.9745063781738,6.10413885116577] 5619.595639360688
619 "CALC_15502764" "1032605-1047721" 13640 "1035444" "SAINT-PRIVAT-LA-MONTAGNE - Rue Schuman" [49.185300040390004,6.04243000004537] 116.93738046324304
1478 "9842$1018964$2327" "1018964-1024297" 24681 "1031934" "FREYMING-MERLEBACH - Place Du Marche" [49.1443099975586,6.80294990539551] 114.55630762667505
622 "CALC_15502767" "1032608-1047724" 13674 "1035444" "SAINT-PRIVAT-LA-MONTAGNE - Rue Schuman" [49.185300040390004,6.04243000004537] 116.93738046324304
1804 "CALC_15504097" "1033406-1048573" 28383 "1035258" "AY-SUR-MOSELLE - Route De Thionville" [49.2463500406321,6.20427000053565] 200.22521457576124
1802 "CALC_15504098" "1033404-1048570" 28336 "1035258" "AY-SUR-MOSELLE - Route De Thionville" [49.2463500406321,6.20427000053565] 200.22521457576124
65 "9842$1026322$1055" "1026322-1034909" 1001 "1034016" "SARREBOURG - Gare Routiere" [48.7387809753418,7.054259777069088] 137.7908324499489
1880 "9842$1031492$263" "1031492-1045253" 29646 "1036040" "METZ - Gare Sncf" [49.0742111206055,6.1112952232360795] 6042.497706061088
2580 "9842$1017476$836" "1017476-1022818" 38458 "1030932" "BEHREN-LES-FORBACH - Lp Hurlevent" [49.1687202453613,6.92233085632324] 238.41226916421917
1765 "CALC_15504053" "1028430-1039039" 27802 "1032034" "GRENING - Ecole" [48.97348004048939,6.845369999588839] 143.96468330384718
1764 "CALC_15504055" "1028429-1039038" 27787 "1032034" "GRENING - Ecole" [48.97348004048939,6.845369999588839] 143.96468330384718
588 "9842$1031497$1524" "1031497-1045258" 13055 "1036204" "LOUVIGNY - Gare Tgv" [48.9745063781738,6.10413885116577] 5619.595639360688
1008 "9842$1018514$1902" "1018514-1023847" 20354 "1032070" "GUEBLANGE-LES-DIEUZE - Centre" [48.777458190918,6.702410221099851] 332.25018271317236
2578 "9842$1017474$834" "1017474-1022816" 38434 "1036098" "FORBACH - College Lycee Moulin" [49.176949943155556,6.909951715592636] 742.518183836514
2596 "9842$1017489$850" "1017489-1022831" 38546 "1034080" "SCHOENECK - Lycee Condorcet" [49.20327678732915,6.908229827880861] 771.9655889138769
1044 "9842$1018548$1937" "1018548-1023881" 20719 "1030788" "ARGANCY - Rugy" [49.20494079589841,6.2112021446228] 233.64046701873556
2316 "CALC_15502485" "1017213-1022555" 36424 "1031796" "FLETRANGE - Complexe Sportif" [49.06242103098207,6.56546617993321] 112.27617365627648
731 "CALC_15503335" "1019985-1025318" 16171 "1034226" "THEDING - Allee De La Foret" [49.11852004075921,6.8920900006615895] 226.93896592293905
732 "CALC_15503336" "1019987-1025320" 16187 "1034226" "THEDING - Allee De La Foret" [49.11852004075921,6.8920900006615895] 226.93896592293905
1105 "CALC_15502482" "1018604-1023937" 21186 "1031796" "FLETRANGE - Complexe Sportif" [49.06242103098207,6.56546617993321] 112.27617365627648
1106 "CALC_15502484" "1018605-1023938" 21194 "1031796" "FLETRANGE - Complexe Sportif" [49.06242103098207,6.56546617993321] 112.27617365627648
2315 "CALC_15502483" "1017212-1022554" 36414 "1031796" "FLETRANGE - Complexe Sportif" [49.06242103098207,6.56546617993321] 112.27617365627648
827 "CALC_15503782" "1037968-1055344" 18159 "1032034" "GRENING - Ecole" [48.97348004048939,6.845369999588839] 143.96468330384718
2590 "9842$1031401$844" "1031401-1044908" 38513 "1034080" "SCHOENECK - Lycee Condorcet" [49.20327678732915,6.908229827880861] 771.9655889138769
1347 "9842$1018856$2204" "1018856-1024189" 23425 "1031158" "BOUSSE - Champagne" [49.28466796875,6.19585990905762] 300.8391163558457
1617 "CALC_15503740" "1033410-1048577" 25937 "1034870" "SARREGUEMINES - Rue Douaumont" [49.118260040299695,7.076230000157689] 109.49689929899391
2675 "CALC_15503742" "1032469-1047466" 39291 "1034870" "SARREGUEMINES - Rue Douaumont" [49.118260040299695,7.076230000157689] 109.49689929899391
1616 "CALC_15503741" "1033409-1048576" 25912 "1034870" "SARREGUEMINES - Rue Douaumont" [49.118260040299695,7.076230000157689] 109.49689929899391
1615 "CALC_15503743" "1033408-1048575" 25887 "1034870" "SARREGUEMINES - Rue Douaumont" [49.118260040299695,7.076230000157689] 109.49689929899391
1240 "CALC_15502899" "1032506-1047504" 22485 "1032776" "LIEDERSCHIEDT - Ecole Maternelle" [49.121100040634495,7.50143999933486] 139.59608383450404
1344 "9842$1018851$2204" "1018851-1024184" 23409 "1031158" "BOUSSE - Champagne" [49.28466796875,6.19585990905762] 300.8391163558457
356 "CALC_15501980" "1032420-1047420" 7178 "1035022" "HENRIVILLE - Lotissement" [49.0957600410535,6.85311999965064] 304.6043379713642
1858 "9842$1031490$263" "1031490-1045251" 29293 "1036040" "METZ - Gare Sncf" [49.0742111206055,6.1112952232360795] 6042.497706061088
331 "CALC_15501969" "1019577-1024910" 6594 "1035022" "HENRIVILLE - Lotissement" [49.0957600410535,6.85311999965064] 304.6043379713642
2706 "CALC_15501948" "1029451-1041756" 39508 "1035022" "HENRIVILLE - Lotissement" [49.0957600410535,6.85311999965064] 304.6043379713642
589 "9842$1031498$1524" "1031498-1045259" 13057 "1036204" "LOUVIGNY - Gare Tgv" [48.9745063781738,6.10413885116577] 5619.595639360688
1856 "CALC_15504196" "1036705-1053807" 29249 "1034870" "SARREGUEMINES - Rue Douaumont" [49.118260040299695,7.076230000157689] 109.49689929899391
591 "9842$1031500$1524" "1031500-1045261" 13061 "1036204" "LOUVIGNY - Gare Tgv" [48.9745063781738,6.10413885116577] 5619.595639360688
1814 "9842$1031486$263" "1031486-1045247" 28585 "1036040" "METZ - Gare Sncf" [49.0742111206055,6.1112952232360795] 6042.497706061088
1006 "9842$1018512$1902" "1018512-1023845" 20342 "1032070" "GUEBLANGE-LES-DIEUZE - Centre" [48.777458190918,6.702410221099851] 332.25018271317236
stop_too_far_from_shape_using_user_distance WARNING 4

stop_too_far_from_shape_using_user_distance

Stop time too far from shape.

A stop time entry that is a large distance away from the location of the shape in shapes.txt as defined by shape_dist_traveled values.

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.
1037 "9842$1031091$1930" "1031091-1043997" 20681 "1034342" "VASPERVILLER - Village" [48.63227893996256,7.070706160249143] 100.51789231219529
2219 "9842$1031322$510" "1031322-1044830" 35563 "1045666" "BEYREN-LES-SIERCK - Impasse Des Pres" [49.468081883310624,6.310667207934469] 1360.310598005243
2219 "9842$1031322$510" "1031322-1044830" 35564 "1031038" "BEYREN-LES-SIERCK - Eglise" [49.468081883310624,6.310667207934469] 1694.6402543884667
2219 "9842$1031322$510" "1031322-1044830" 35565 "1031784" "FIXEM - Route De Rodemack" [49.468081883310624,6.310667207934469] 3916.185521796898
stops_match_shape_out_of_order WARNING 3

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.
764 "CALC_15503461" "1020024-1025357" 16888 "1036330" "GROSBLIEDERSTROFF - Zone commerciale" [49.13368879369245,7.043400169749253] 16887 "1032046" "GROSBLIEDERSTROFF - Gungling / Zone D'Activites" [49.13404124034812,7.043341467055553]
762 "CALC_15503441" "1020022-1025355" 16864 "1036330" "GROSBLIEDERSTROFF - Zone commerciale" [49.13368879369245,7.043400169749253] 16863 "1032046" "GROSBLIEDERSTROFF - Gungling / Zone D'Activites" [49.13404124034812,7.043341467055553]
2077 "CALC_15503455" "1018276-1023616" 33434 "1032046" "GROSBLIEDERSTROFF - Gungling / Zone D'Activites" [49.13404124034812,7.043341467055553] 33433 "1036330" "GROSBLIEDERSTROFF - Zone commerciale" [49.13368879369245,7.043400169749253]
trip_distance_exceeds_shape_distance_below_threshold WARNING 28

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.
"1017790-1023131" "9842$1017790$1140" 1420.0 1118.0 8.763697043610614
"1019490-1024823" "9842$1019490$1221" 4800.0 4134.0 2.994966379812782
"1020035-1025368" "9842$1020035$1703" 4430.0 4077.0 3.0840450677509805
"1018577-1023910" "9842$1018577$1966" 4000.0 3899.0 3.2610534123453228
"1018578-1023911" "9842$1018578$1966" 4000.0 3899.0 3.2610534123453228
"1038906-1056874" "9842$1038906$1999" 7950.0 7891.0 2.3934446985373046
"1018762-1024095" "9842$1018762$2125" 3390.0 3368.0 9.26180814101693
"1018763-1024096" "9842$1018763$2125" 3390.0 3368.0 9.26180814101693
"1018955-1024288" "9842$1018955$2318" 6280.0 6275.0 10.00775855278956
"1036725-1053893" "9842$1036725$2330" 4500.0 4201.0 3.015274144604114
"1018974-1024307" "9842$1018974$2337" 4490.0 4077.0 3.0840450677509805
"1032749-1047944" "9842$1032749$2522" 4110.0 3557.0 4.902407392538575
"1019402-1024735" "9842$1019402$2731" 2230.0 1644.0 8.684488183723944
"1018310-1023650" "9842$1018310$411" 4160.0 3738.0 2.4072617552622417
"1017053-1022395" "9842$1017053$449" 1470.0 1349.0 6.8748396855622955
"1017132-1022474" "9842$1017132$521" 5290.0 5271.0 0.7142752142751995
"1031090-1043996" "9842$1031090$537" 4000.0 3942.0 3.9506537339700847
"1017156-1022498" "9842$1017156$544" 3950.0 3432.0 1.8150953844723796
"1017157-1022499" "9842$1017157$544" 3950.0 3432.0 1.8150953844723796
"1038908-1056876" "9842$1038908$605" 7950.0 7920.0 1.2281612916489748
"1017368-1022710" "9842$1017368$734" 3390.0 3368.0 3.0784247439983523
"1017369-1022711" "9842$1017369$734" 3390.0 3368.0 3.0784247439983523
"1017421-1022763" "9842$1017421$782" 12910.0 4344.0 1.7640569641880075
"1037842-1055191" "9842$1037842$813" 7400.0 5639.0 4.1678297348914874
"1017502-1022844" "9842$1017502$863" 4160.0 3731.0 0.2534351665071071
"1039081-1057109" "9842$1039081$946" 9122000.0 9139.0 8.234696744908126
"1017605-1022946" "9842$1017605$966" 4160.0 3731.0 0.2534351665071071
"1017606-1022947" "9842$1017606$967" 4360.0 3802.0 2.1400683009328243
unexpected_enum_value WARNING 435

unexpected_enum_value

An enum has an unexpected value.

You can see more about this notice here.

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

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" 204
"routes.txt" 3 "route_type" 204
"routes.txt" 4 "route_type" 204
"routes.txt" 5 "route_type" 204
"routes.txt" 6 "route_type" 204
"routes.txt" 7 "route_type" 204
"routes.txt" 8 "route_type" 204
"routes.txt" 9 "route_type" 204
"routes.txt" 10 "route_type" 204
"routes.txt" 11 "route_type" 204
"routes.txt" 12 "route_type" 204
"routes.txt" 13 "route_type" 204
"routes.txt" 14 "route_type" 204
"routes.txt" 15 "route_type" 204
"routes.txt" 16 "route_type" 204
"routes.txt" 17 "route_type" 204
"routes.txt" 18 "route_type" 204
"routes.txt" 19 "route_type" 204
"routes.txt" 20 "route_type" 204
"routes.txt" 21 "route_type" 204
"routes.txt" 22 "route_type" 204
"routes.txt" 23 "route_type" 204
"routes.txt" 24 "route_type" 204
"routes.txt" 25 "route_type" 204
"routes.txt" 26 "route_type" 204
"routes.txt" 27 "route_type" 204
"routes.txt" 28 "route_type" 204
"routes.txt" 29 "route_type" 204
"routes.txt" 30 "route_type" 204
"routes.txt" 31 "route_type" 204
"routes.txt" 32 "route_type" 204
"routes.txt" 33 "route_type" 204
"routes.txt" 34 "route_type" 204
"routes.txt" 35 "route_type" 204
"routes.txt" 36 "route_type" 204
"routes.txt" 37 "route_type" 204
"routes.txt" 38 "route_type" 204
"routes.txt" 39 "route_type" 204
"routes.txt" 40 "route_type" 204
"routes.txt" 41 "route_type" 204
"routes.txt" 42 "route_type" 204
"routes.txt" 43 "route_type" 204
"routes.txt" 44 "route_type" 204
"routes.txt" 45 "route_type" 204
"routes.txt" 46 "route_type" 204
"routes.txt" 47 "route_type" 204
"routes.txt" 48 "route_type" 204
"routes.txt" 49 "route_type" 204
"routes.txt" 50 "route_type" 204
"routes.txt" 51 "route_type" 204