GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 5.0.1 at 2024-06-08T04:20:15Z,
for the dataset file:///tmp/1_in.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
CAC
Publisher URL:
https://www.agglo-cambrai.fr/
Feed Language:
French
Feed Start Date:
2023-09-01
Feed End Date:
2024-08-31

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. thermometre.txt
  10. timetables.txt
  11. trips.txt

Counts


  • Agencies: 1
  • Blocks: 1
  • Routes: 37
  • Shapes: 766
  • Stops: 504
  • Trips: 766

GTFS Features included (?) GTFS features provide a standardized vocabulary to define and describe features that are officially adopted in GTFS.


ShapesFeed InformationRoute ColorsHeadsignsWheelchair AccessibilityLocation Types

Specification Compliance report

44745 notices reported (19999 errors, 24744 warnings, 2 infos)

Notice Code Severity Total
decreasing_or_equal_stop_time_distance ERROR 11159

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.

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

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`.
"15-45" "59:08189" 7729 0.0 2 7728 0.0 1
"15-45" "59:08092" 7730 0.0 3 7729 0.0 2
"15-45" "59:08272" 7731 0.0 4 7730 0.0 3
"15-45" "59:08269" 7732 0.0 5 7731 0.0 4
"15-45" "59:08275" 7733 0.0 6 7732 0.0 5
"15-45" "59:08208" 7734 0.0 7 7733 0.0 6
"15-45" "59:08210" 7735 0.0 8 7734 0.0 7
"15-45" "59:08212" 7736 0.0 9 7735 0.0 8
"15-45" "59:08010" 7737 0.0 10 7736 0.0 9
"15-45" "59:08012" 7738 0.0 11 7737 0.0 10
"15-45" "59:08365" 7739 0.0 12 7738 0.0 11
"15-45" "59:08367" 7740 0.0 13 7739 0.0 12
"15-45" "59:08036" 7741 0.0 14 7740 0.0 13
"15-45" "59:08038" 7742 0.0 15 7741 0.0 14
"15-45" "59:08230" 7743 0.0 16 7742 0.0 15
"15-45" "59:08234" 7744 0.0 17 7743 0.0 16
"15-45" "59:08232" 7745 0.0 18 7744 0.0 17
"15-45" "59:08228" 7746 0.0 19 7745 0.0 18
"15-43" "59:08189" 7712 0.0 2 7711 0.0 1
"15-43" "59:08092" 7713 0.0 3 7712 0.0 2
"15-43" "59:08272" 7714 0.0 4 7713 0.0 3
"15-43" "59:08269" 7715 0.0 5 7714 0.0 4
"15-43" "59:08275" 7716 0.0 6 7715 0.0 5
"15-43" "59:08208" 7717 0.0 7 7716 0.0 6
"15-43" "59:08210" 7718 0.0 8 7717 0.0 7
"15-43" "59:08212" 7719 0.0 9 7718 0.0 8
"15-43" "59:08010" 7720 0.0 10 7719 0.0 9
"15-43" "59:08012" 7721 0.0 11 7720 0.0 10
"15-43" "59:08365" 7722 0.0 12 7721 0.0 11
"15-43" "59:08367" 7723 0.0 13 7722 0.0 12
"15-43" "59:08036" 7724 0.0 14 7723 0.0 13
"15-43" "59:08038" 7725 0.0 15 7724 0.0 14
"15-43" "59:08234" 7726 0.0 16 7725 0.0 15
"15-43" "59:08232" 7727 0.0 17 7726 0.0 16
"S110-10" "59:08457" 10908 0.0 2 10907 0.0 1
"S110-10" "59:08353" 10909 0.0 3 10908 0.0 2
"15-47" "59:08189" 7748 0.0 2 7747 0.0 1
"15-47" "59:08092" 7749 0.0 3 7748 0.0 2
"15-47" "59:08272" 7750 0.0 4 7749 0.0 3
"15-47" "59:08269" 7751 0.0 5 7750 0.0 4
"15-47" "59:08275" 7752 0.0 6 7751 0.0 5
"15-47" "59:08208" 7753 0.0 7 7752 0.0 6
"15-47" "59:08210" 7754 0.0 8 7753 0.0 7
"15-47" "59:08212" 7755 0.0 9 7754 0.0 8
"15-47" "59:08010" 7756 0.0 10 7755 0.0 9
"15-47" "59:08012" 7757 0.0 11 7756 0.0 10
"15-47" "59:08365" 7758 0.0 12 7757 0.0 11
"15-47" "59:08367" 7759 0.0 13 7758 0.0 12
"15-47" "59:08036" 7760 0.0 14 7759 0.0 13
"15-47" "59:08038" 7761 0.0 15 7760 0.0 14
equal_shape_distance_diff_coordinates ERROR 8840

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.

Only the first 50 of 8840 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.
"260010" 53708 0.581 17 53707 0.581 16 5.816639030332958
"260010" 53712 0.938 21 53711 0.938 20 7.986161156180906
"260010" 53731 1.25 40 53730 1.25 39 2.32774825100479
"260010" 53750 1.738 59 53749 1.738 58 5.116107455341886
"260010" 53761 2.119 70 53760 2.119 69 2.115694516044879
"260010" 53771 2.497 80 53770 2.497 79 4.269071339363701
"260010" 53790 3.573 99 53789 3.573 98 2.0621289552587414
"260010" 53821 4.577 130 53820 4.577 129 1.605869804890737
"260010" 53828 4.802 137 53827 4.802 136 2.076176243992735
"260010" 53834 5.013 143 53833 5.013 142 4.338004613042601
"260010" 53852 5.662 161 53851 5.662 160 2.993741332294101
"260010" 53892 6.408 201 53891 6.408 200 7.161500200117609
"260012" 54053 0.581 17 54052 0.581 16 5.816639030332958
"260012" 54057 0.938 21 54056 0.938 20 7.986161156180906
"260012" 54076 1.25 40 54075 1.25 39 2.32774825100479
"260012" 54095 1.738 59 54094 1.738 58 5.116107455341886
"260012" 54106 2.119 70 54105 2.119 69 2.115694516044879
"260012" 54116 2.497 80 54115 2.497 79 4.269071339363701
"260012" 54135 3.573 99 54134 3.573 98 2.0621289552587414
"260012" 54166 4.577 130 54165 4.577 129 1.605869804890737
"260012" 54173 4.802 137 54172 4.802 136 2.076176243992735
"260012" 54179 5.013 143 54178 5.013 142 4.338004613042601
"260012" 54197 5.662 161 54196 5.662 160 2.993741332294101
"260012" 54237 6.408 201 54236 6.408 200 7.161500200117609
"260011" 53906 0.248 14 53905 0.248 13 5.550621962717434
"260011" 53926 1.147 34 53925 1.147 33 2.060193637029497
"260011" 53941 1.524 49 53940 1.524 48 4.891793265505626
"260011" 53953 1.867 61 53952 1.867 60 2.0621289552587414
"260011" 53972 2.909 80 53971 2.909 79 5.965606219134739
"260011" 53982 3.323 90 53981 3.323 89 3.1519110499937706
"260011" 53993 3.703 101 53992 3.703 100 6.179288195526038
"260011" 53998 3.836 106 53997 3.836 105 7.593689488379039
"260011" 54008 4.18 116 54007 4.18 115 5.213591155837855
"260011" 54015 4.377 123 54014 4.377 122 2.064772286543146
"260011" 54036 5.356 144 54035 5.356 143 80.26531475585954
"260014" 54398 0.581 17 54397 0.581 16 5.816639030332958
"260014" 54402 0.938 21 54401 0.938 20 7.986161156180906
"260014" 54421 1.25 40 54420 1.25 39 2.32774825100479
"260014" 54440 1.738 59 54439 1.738 58 5.116107455341886
"260014" 54451 2.119 70 54450 2.119 69 2.115694516044879
"260014" 54461 2.497 80 54460 2.497 79 4.269071339363701
"260014" 54480 3.573 99 54479 3.573 98 2.0621289552587414
"260014" 54511 4.577 130 54510 4.577 129 1.605869804890737
"260014" 54518 4.802 137 54517 4.802 136 2.076176243992735
"260014" 54524 5.013 143 54523 5.013 142 4.338004613042601
"260014" 54542 5.662 161 54541 5.662 160 2.993741332294101
"260014" 54582 6.408 201 54581 6.408 200 7.161500200117609
"260013" 54251 0.248 14 54250 0.248 13 5.550621962717434
"260013" 54271 1.147 34 54270 1.147 33 2.060193637029497
"260013" 54286 1.524 49 54285 1.524 48 4.891793265505626
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 2116

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 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 (less than 1.11 m distance) result in a warning.

You can see more about this notice here.

Only the first 50 of 2116 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.
"260010" 53779 3.048 88 53778 3.048 87 0.5475785879715371
"260012" 54124 3.048 88 54123 3.048 87 0.5475785879715371
"260011" 53964 2.392 72 53963 2.392 71 0.5475785879715371
"260011" 54019 4.727 127 54018 4.727 126 0.19777181199158728
"260011" 54021 4.727 129 54020 4.727 128 0.19777181199158728
"260014" 54469 3.048 88 54468 3.048 87 0.5475785879715371
"260013" 54309 2.392 72 54308 2.392 71 0.5475785879715371
"260013" 54364 4.727 127 54363 4.727 126 0.19777181199158728
"260013" 54366 4.727 129 54365 4.727 128 0.19777181199158728
"260016" 54814 3.048 88 54813 3.048 87 0.5475785879715371
"260015" 54654 2.392 72 54653 2.392 71 0.5475785879715371
"260015" 54709 4.727 127 54708 4.727 126 0.19777181199158728
"260015" 54711 4.727 129 54710 4.727 128 0.19777181199158728
"260018" 55159 3.048 88 55158 3.048 87 0.5475785879715371
"260017" 54999 2.392 72 54998 2.392 71 0.5475785879715371
"260017" 55054 4.727 127 55053 4.727 126 0.19777181199158728
"260017" 55056 4.727 129 55055 4.727 128 0.19777181199158728
"260019" 55344 2.392 72 55343 2.392 71 0.5475785879715371
"260019" 55399 4.727 127 55398 4.727 126 0.19777181199158728
"260019" 55401 4.727 129 55400 4.727 128 0.19777181199158728
"420005" 174139 1.019 25 174138 1.019 24 0.1841801671784746
"420005" 174141 1.019 27 174140 1.019 26 0.1841801671784746
"420005" 174158 1.879 44 174157 1.879 43 0.41102758552225105
"420005" 174160 1.879 46 174159 1.879 45 0.41102758552225105
"420005" 174169 2.335 55 174168 2.335 54 0.948893789308267
"420005" 174210 4.179 96 174209 4.179 95 0.5330820846544541
"420003" 174033 0.751 31 174032 0.751 30 0.30838232696893153
"420003" 174035 0.751 33 174034 0.751 32 0.30838232696893153
"420003" 174069 1.574 67 174068 1.574 66 0.948893789308267
"420003" 174110 3.418 108 174109 3.418 107 0.5330820846544541
"420002" 173892 0.234 4 173891 0.234 3 0.5330820846544541
"420002" 173933 2.078 45 173932 2.078 44 0.948893789308267
"420009" 174458 1.019 25 174457 1.019 24 0.1841801671784746
"420009" 174460 1.019 27 174459 1.019 26 0.1841801671784746
"420009" 174477 1.879 44 174476 1.879 43 0.41102758552225105
"420009" 174479 1.879 46 174478 1.879 45 0.41102758552225105
"420009" 174488 2.335 55 174487 2.335 54 0.948893789308267
"420009" 174529 4.179 96 174528 4.179 95 0.5330820846544541
"350062" 145828 20.008 384 145827 20.008 383 0.9691893734121505
"350062" 145832 20.211 388 145831 20.211 387 0.9445061357450673
"350062" 145879 22.708 435 145878 22.708 434 0.19777181199158728
"350062" 145881 22.708 437 145880 22.708 436 0.19777181199158728
"420007" 174358 1.019 25 174357 1.019 24 0.1841801671784746
"420007" 174360 1.019 27 174359 1.019 26 0.1841801671784746
"420007" 174377 1.879 44 174376 1.879 43 0.41102758552225105
"420007" 174379 1.879 46 174378 1.879 45 0.41102758552225105
"420007" 174388 2.335 55 174387 2.335 54 0.948893789308267
"420007" 174429 4.179 96 174428 4.179 95 0.5330820846544541
"420006" 174218 0.234 4 174217 0.234 3 0.5330820846544541
"420006" 174259 2.078 45 174258 2.078 44 0.948893789308267
equal_shape_distance_same_coordinates WARNING 10657

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 10657 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`.
"260010" 53709 0.581 18 53708 0.581 17
"260010" 53713 0.938 22 53712 0.938 21
"260010" 53732 1.25 41 53731 1.25 40
"260010" 53746 1.554 55 53745 1.554 54
"260010" 53751 1.738 60 53750 1.738 59
"260010" 53762 2.119 71 53761 2.119 70
"260010" 53772 2.497 81 53771 2.497 80
"260010" 53780 3.048 89 53779 3.048 88
"260010" 53791 3.573 100 53790 3.573 99
"260010" 53811 4.063 120 53810 4.063 119
"260010" 53822 4.577 131 53821 4.577 130
"260010" 53829 4.802 138 53828 4.802 137
"260010" 53835 5.013 144 53834 5.013 143
"260010" 53853 5.662 162 53852 5.662 161
"260010" 53883 6.199 192 53882 6.199 191
"260012" 54054 0.581 18 54053 0.581 17
"260012" 54058 0.938 22 54057 0.938 21
"260012" 54077 1.25 41 54076 1.25 40
"260012" 54091 1.554 55 54090 1.554 54
"260012" 54096 1.738 60 54095 1.738 59
"260012" 54107 2.119 71 54106 2.119 70
"260012" 54117 2.497 81 54116 2.497 80
"260012" 54125 3.048 89 54124 3.048 88
"260012" 54136 3.573 100 54135 3.573 99
"260012" 54156 4.063 120 54155 4.063 119
"260012" 54167 4.577 131 54166 4.577 130
"260012" 54174 4.802 138 54173 4.802 137
"260012" 54180 5.013 144 54179 5.013 143
"260012" 54198 5.662 162 54197 5.662 161
"260012" 54228 6.199 192 54227 6.199 191
"260011" 53907 0.248 15 53906 0.248 14
"260011" 53927 1.147 35 53926 1.147 34
"260011" 53942 1.524 50 53941 1.524 49
"260011" 53954 1.867 62 53953 1.867 61
"260011" 53965 2.392 73 53964 2.392 72
"260011" 53973 2.909 81 53972 2.909 80
"260011" 53983 3.323 91 53982 3.323 90
"260011" 53994 3.703 102 53993 3.703 101
"260011" 53999 3.836 107 53998 3.836 106
"260011" 54009 4.18 117 54008 4.18 116
"260011" 54016 4.377 124 54015 4.377 123
"260011" 54020 4.727 128 54019 4.727 127
"260014" 54399 0.581 18 54398 0.581 17
"260014" 54403 0.938 22 54402 0.938 21
"260014" 54422 1.25 41 54421 1.25 40
"260014" 54436 1.554 55 54435 1.554 54
"260014" 54441 1.738 60 54440 1.738 59
"260014" 54452 2.119 71 54451 2.119 70
"260014" 54462 2.497 81 54461 2.497 80
"260014" 54470 3.048 89 54469 3.048 88
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.
8 "500803101"
fast_travel_between_consecutive_stops WARNING 1

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.
477 "13-25" "13" 186.15735187289945 3.102622531214991 6497 25 "59:08326" "LES RUES-DES-VIGNES - La Grenouillère" "14:14:00" 6498 26 "59:08330" "LES RUES-DES-VIGNES - Tordoir" "14:14:00"
leading_or_trailing_whitespaces WARNING 26

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" 6 "route_long_name" "Cambrai Martin Martine - Escaudoeuvres "
"routes.txt" 11 "route_long_name" "Iwuy - Cambrai Station Bus "
"routes.txt" 12 "route_long_name" "Villers-en-Cauchies - Cambrai Station Bus "
"routes.txt" 13 "route_long_name" "Cauroir - Cambrai Station Bus "
"routes.txt" 14 "route_long_name" "Esnes - Cambrai Station Bus "
"routes.txt" 25 "route_long_name" "Faubourg de Paris "
"routes.txt" 32 "route_long_name" "RPI Seranvillers - Wambaix - Niergnies "
"routes.txt" 33 "route_long_name" "RPI Flesquières - Ribécourt-la-Tour "
"routes.txt" 37 "route_long_name" "Proville "
"stops.txt" 492 "stop_name" "VILLERS-PLOUICH - Ecole "
"stops.txt" 495 "stop_name" "WAMBAIX - Ecole "
"stop_times.txt" 11836 "stop_headsign" "WAMBAIX - Ecole "
"stop_times.txt" 11837 "stop_headsign" "WAMBAIX - Ecole "
"stop_times.txt" 11838 "stop_headsign" "WAMBAIX - Ecole "
"stop_times.txt" 11839 "stop_headsign" "WAMBAIX - Ecole "
"stop_times.txt" 11840 "stop_headsign" "WAMBAIX - Ecole "
"stop_times.txt" 11857 "stop_headsign" "VILLERS-PLOUICH - Ecole "
"stop_times.txt" 11858 "stop_headsign" "VILLERS-PLOUICH - Ecole "
"stop_times.txt" 11859 "stop_headsign" "VILLERS-PLOUICH - Ecole "
"stop_times.txt" 11860 "stop_headsign" "VILLERS-PLOUICH - Ecole "
"stop_times.txt" 11861 "stop_headsign" "VILLERS-PLOUICH - Ecole "
"stop_times.txt" 11879 "stop_headsign" "VILLERS-PLOUICH - Ecole "
"stop_times.txt" 11880 "stop_headsign" "VILLERS-PLOUICH - Ecole "
"trips.txt" 736 "trip_headsign" "WAMBAIX - Ecole "
"trips.txt" 743 "trip_headsign" "VILLERS-PLOUICH - Ecole "
"trips.txt" 745 "trip_headsign" "VILLERS-PLOUICH - Ecole "
missing_timepoint_value WARNING 11925

missing_timepoint_value

stop_times.timepoint value is missing for a record.

Even though the column timepoint is optional in stop_times.txt according to the specification, stop_times.timepoint should not be empty when provided.

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. tripId (?) The faulty record's `stop_times.trip_id`. stopSequence (?) The faulty record's `stop_times.stop_sequence`.
2 "1-2" 1
3 "1-2" 2
4 "1-2" 3
5 "1-2" 4
6 "1-2" 5
7 "1-2" 6
8 "1-2" 7
9 "1-2" 8
10 "1-2" 9
11 "1-2" 10
12 "1-2" 11
13 "1-2" 12
14 "1-2" 13
15 "1-2" 14
16 "1-2" 15
17 "1-2" 16
18 "1-2" 17
19 "1-2" 18
20 "1-2" 19
21 "1-2" 20
22 "1-2" 21
23 "1-2" 22
24 "1-2" 23
25 "1-2" 24
26 "1-2" 25
27 "1-4" 1
28 "1-4" 2
29 "1-4" 3
30 "1-4" 4
31 "1-4" 5
32 "1-4" 6
33 "1-4" 7
34 "1-4" 8
35 "1-4" 9
36 "1-4" 10
37 "1-4" 11
38 "1-4" 12
39 "1-4" 13
40 "1-4" 14
41 "1-4" 15
42 "1-4" 16
43 "1-4" 17
44 "1-4" 18
45 "1-4" 19
46 "1-4" 20
47 "1-4" 21
48 "1-4" 22
49 "1-4" 23
50 "1-4" 24
51 "1-4" 25
mixed_case_recommended_field WARNING 11

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" "CAMBRAI - AFPA" 48
"stops.txt" "stop_name" "CAMBRAI - AFPA" 49
"stops.txt" "stop_name" "CAMBRAI - CAF" 67
"stops.txt" "stop_name" "CAMBRAI - CPAM" 80
"stops.txt" "stop_name" "CAMBRAI - CPAM" 81
"stops.txt" "stop_name" "CAMBRAI - AFPA" 117
"stops.txt" "stop_name" "CAMBRAI - AFPA" 118
"stops.txt" "stop_name" "CAMBRAI - 1er de ligne" 199
"stops.txt" "stop_name" "RUMILLY-EN-CAMBRESIS - RN 44" 432
"stops.txt" "stop_name" "FLESQUIERES - CT 1917" 485
"stops.txt" "stop_name" "FLESQUIERES - CT 1917" 486
route_color_contrast WARNING 1

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.
"RPI03" 34 "#663333" "#000000"
route_long_name_contains_short_name WARNING 1

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`.
"TAD1" 38 "TAD1" "TAD1"
stop_too_far_from_shape WARNING 5

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.
473 "320039" "13-39" 6614 "59:08322" "BANTEUX - Bonavis" [50.075310460664916,3.2023103078361173] 361.55046251890826
479 "320021" "13-21" 6448 "59:08322" "BANTEUX - Bonavis" [50.075310460664916,3.2023103078361173] 361.55046251890826
471 "320033" "13-33" 6575 "59:08322" "BANTEUX - Bonavis" [50.075310460664916,3.2023103078361173] 361.55046251890826
476 "320027" "13-27" 6520 "59:08322" "BANTEUX - Bonavis" [50.075310460664916,3.2023103078361173] 361.55046251890826
477 "320025" "13-25" 6496 "59:08322" "BANTEUX - Bonavis" [50.075310460664916,3.2023103078361173] 361.55046251890826
unknown_file INFO 2

unknown_file

A file is unknown.

You can see more about this notice here.

filename (?) The name of the unknown file.
"thermometre.txt"
"timetables.txt"