GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2025-12-12T17:45:13Z,
for the dataset file:///shared/nord.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
RHDF-59-P3B
Feed Email:
opendata@hautsdefrance.fr
Feed Language:
French
Feed Start Date:
2025-09-02
Feed End Date:
2025-11-02

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: 0
  • Routes: 10
  • Shapes: 181
  • Stops: 498
  • Trips: 181

Specification Compliance report

10306 notices reported (4827 errors, 5477 warnings, 2 infos)

Notice Code Severity Total
decreasing_or_equal_stop_time_distance ERROR 2599

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 2599 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`.
"848S-340" "59:11850" 1360 0.0 2 1359 0.0 1
"848S-340" "59:08091" 1361 0.0 3 1360 0.0 2
"848S-340" "59:08618" 1362 0.0 4 1361 0.0 3
"848S-340" "59:08094" 1363 0.0 5 1362 0.0 4
"848S-340" "59:08093" 1364 0.0 6 1363 0.0 5
"848S-340" "59:08336" 1365 0.0 7 1364 0.0 6
"848S-340" "59:08340" 1366 0.0 8 1365 0.0 7
"848S-340" "59:08339" 1367 0.0 9 1366 0.0 8
"848S-341" "59:08961" 1448 0.0 2 1447 0.0 1
"848S-341" "59:08959" 1449 0.0 3 1448 0.0 2
"848S-341" "59:08960" 1450 0.0 4 1449 0.0 3
"848S-341" "59:13652" 1451 0.0 5 1450 0.0 4
"849S-350" "59:08046" 95 0.0 2 94 0.0 1
"849S-350" "59:08144" 96 0.0 3 95 0.0 2
"849S-471" "59:08250" 198 0.0 2 197 0.0 1
"849S-471" "59:08248" 199 0.0 3 198 0.0 2
"849S-471" "59:08251" 200 0.0 4 199 0.0 3
"849S-471" "59:08249" 201 0.0 5 200 0.0 4
"849S-471" "59:08564" 202 0.0 6 201 0.0 5
"849S-471" "59:08046" 203 0.0 7 202 0.0 6
"849S-471" "59:08563" 204 0.0 8 203 0.0 7
"849S-471" "59:08060" 205 0.0 9 204 0.0 8
"849S-471" "59:08579" 206 0.0 10 205 0.0 9
"850-30" "59:08352" 2575 0.0 2 2574 0.0 1
"850-30" "59:08396" 2576 0.0 3 2575 0.0 2
"850-30" "59:08395" 2577 0.0 4 2576 0.0 3
"850-30" "59:08917" 2578 0.0 5 2577 0.0 4
"850-30" "59:08310" 2579 0.0 6 2578 0.0 5
"850-30" "59:27403" 2580 0.0 7 2579 0.0 6
"850-30" "59:27402" 2581 0.0 8 2580 0.0 7
"850-30" "59:27401" 2582 0.0 9 2581 0.0 8
"850-30" "59:13701" 2583 0.0 10 2582 0.0 9
"850-30" "59:13700" 2584 0.0 11 2583 0.0 10
"850-30" "59:13703" 2585 0.0 12 2584 0.0 11
"850-30" "59:45002" 2586 0.0 13 2585 0.0 12
"850-30" "59:45000" 2587 0.0 14 2586 0.0 13
"850-30" "59:05502" 2588 0.0 15 2587 0.0 14
"850-30" "59:05503" 2589 0.0 16 2588 0.0 15
"850-30" "59:46503" 2590 0.0 17 2589 0.0 16
"850-30" "59:46550" 2591 0.0 18 2590 0.0 17
"850-30" "59:46501" 2592 0.0 19 2591 0.0 18
"850-30" "59:46502" 2593 0.0 20 2592 0.0 19
"850-30" "59:13610" 2594 0.0 21 2593 0.0 20
"850-30" "59:13604" 2595 0.0 22 2594 0.0 21
"850-30" "59:13606" 2596 0.0 23 2595 0.0 22
"850-30" "59:13601" 2597 0.0 24 2596 0.0 23
"850-30" "59:13662" 2598 0.0 25 2597 0.0 24
"850-30" "59:13649" 2599 0.0 26 2598 0.0 25
"849S-351" "59:08955" 56 0.0 2 55 0.0 1
"849S-351" "59:08951" 57 0.0 3 56 0.0 2
equal_shape_distance_diff_coordinates ERROR 2228

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 2228 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.
"60070" 36881 2.467 54 36880 2.467 53 10.661023097816674
"60070" 36894 3.167 67 36893 3.167 66 3.497433011388227
"60070" 36924 4.524 97 36923 4.524 96 9.767609755101015
"60070" 36961 11.166 134 36960 11.166 133 4.390451345550083
"60070" 36986 12.091 159 36985 12.091 158 1.6661861240606517
"60070" 37016 13.142 189 37015 13.142 188 8.635305946827287
"60070" 37048 14.841 221 37047 14.841 220 6.876711235037512
"60070" 37059 15.283 232 37058 15.283 231 6.173158435337457
"60070" 37069 15.604 242 37068 15.604 241 5.116730982028778
"60070" 37070 15.604 243 37069 15.604 242 1.4352380777731666
"60070" 37193 21.193 366 37192 21.193 365 3.990095182425813
"60070" 37268 23.148 441 37267 23.148 440 7.744314863739683
"60070" 37293 23.887 466 37292 23.887 465 5.59057696141212
"60070" 37310 24.494 483 37309 24.494 482 3.209583120010849
"60070" 37328 25.334 501 37327 25.334 500 3.6197557118039247
"60070" 37404 27.923 577 37403 27.923 576 9.028150317084902
"110420" 11040 2.642 47 11039 2.642 46 17.559982304997177
"110420" 11058 7.144 65 11057 7.144 64 16.67076843325655
"110420" 11083 8.096 90 11082 8.096 89 1.6661861240606517
"110420" 11113 9.147 120 11112 9.147 119 8.635305946827287
"110420" 11145 10.846 152 11144 10.846 151 6.876711235037512
"110420" 11156 11.288 163 11155 11.288 162 6.173158435337457
"110420" 11166 11.609 173 11165 11.609 172 5.116730982028778
"110420" 11167 11.609 174 11166 11.609 173 1.4352380777731666
"110420" 11216 14.03 223 11215 14.03 222 4.390451345550083
"110420" 11243 15.684 250 11242 15.684 249 2.6423686786494605
"110420" 11282 22.965 289 11281 22.965 288 2.454695142656159
"130310" 18473 1.37 51 18472 1.37 50 1.3212382386458197
"130310" 18540 9.441 118 18539 9.441 117 2.3356762200327603
"130310" 18556 9.865 134 18555 9.865 133 5.703087216958805
"130310" 18611 16.94 189 18610 16.94 188 7.9347409331322
"130310" 18625 17.501 203 18624 17.501 202 2.3357781862806055
"130310" 18653 19.016 231 18652 19.016 230 2.006601885303954
"130310" 18661 19.487 239 18660 19.487 238 4.674886092372375
"130310" 18670 20.252 248 18669 20.252 247 2.6430185239172017
"130310" 18679 20.866 257 18678 20.866 256 5.9490756778769445
"130310" 18730 24.33 308 18729 24.33 307 7.222835031542525
"130310" 18767 25.636 345 18766 25.636 344 1.6198167032567246
"130310" 18793 26.619 371 18792 26.619 370 1.808923746185762
"130310" 18804 27.06 382 18803 27.06 381 7.275942672919235
"130311" 18925 8.381 53 18924 8.381 52 2.5484121815285024
"130311" 18972 11.891 100 18971 11.891 99 13.500194977126354
"130311" 19092 21.492 220 19091 21.492 219 17.56937638368072
"130311" 19140 23.461 268 19139 23.461 267 3.437313584580528
"70031" 42105 0.285 4 42104 0.285 3 20.222869553254863
"70031" 42139 1.027 38 42138 1.027 37 4.201162598842133
"70031" 42240 4.911 139 42239 4.911 138 5.306114698881675
"70031" 42264 5.598 163 42263 5.598 162 5.86700077335767
"70031" 42286 6.138 185 42285 6.138 184 5.706282722304631
"70031" 42372 9.546 271 42371 9.546 270 4.883200066955587
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 246

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 246 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.
"60070" 37095 16.587 268 37094 16.587 267 0.8361154155698814
"60070" 37355 25.811 528 37354 25.811 527 0.7130526967048638
"130310" 18444 0.589 22 18443 0.589 21 0.44706273188120593
"130310" 18446 0.589 24 18445 0.589 23 0.44706273188120593
"130310" 18638 18.51 216 18637 18.51 215 0.7141609252160406
"130310" 18748 25.06 326 18747 25.06 325 0.7135806200315464
"130310" 18846 32.531 424 18845 32.531 423 0.7130526967048638
"70031" 42202 3.382 101 42201 3.382 100 0.7130526967048638
"70030" 41619 2.854 46 41618 2.854 45 0.34624910593630215
"70030" 41621 2.854 48 41620 2.854 47 0.34624910593630215
"70030" 42052 20.723 479 42051 20.723 478 0.7130526967048638
"90040" 61383 4.133 77 61382 4.133 76 1.0044038450640969
"90040" 61680 18.699 374 61679 18.699 373 0.7130526967048638
"90041" 61813 2.544 72 61812 2.544 71 0.6437863251803552
"120340" 15103 9.02 105 15102 9.02 104 0.34624910593630215
"120340" 15105 9.02 107 15104 9.02 106 0.34624910593630215
"120341" 15376 7.144 111 15375 7.144 110 0.21856416935384312
"120341" 15378 7.144 113 15377 7.144 112 0.21856416935384312
"150310" 27277 2.404 35 27276 2.404 34 0.1776247194821433
"150310" 27279 2.404 37 27278 2.404 36 0.1776247194821433
"80081" 57660 9.204 250 57659 9.204 249 0.6556397881630279
"80081" 57771 15.368 361 57770 15.368 360 0.4498547551588884
"80081" 57773 15.368 363 57772 15.368 362 0.4498547551588884
"80081" 57789 16.267 379 57788 16.267 378 0.7141609252160406
"80080" 56767 5.113 112 56766 5.113 111 0.44706273188120593
"80080" 56769 5.113 114 56768 5.113 113 0.44706273188120593
"80080" 57036 23.04 381 57035 23.04 380 0.7141609252160406
"80080" 57038 23.04 383 57037 23.04 382 0.7141609252160406
"80080" 57146 29.59 491 57145 29.59 490 0.7135806200315464
"80080" 57148 29.59 493 57147 29.59 492 0.7135806200315464
"80080" 57361 37.528 706 57360 37.528 705 0.7130526967048638
"80080" 57363 37.528 708 57362 37.528 707 0.7130526967048638
"110391" 10077 1.71 35 10076 1.71 34 0.6437863251803552
"60071" 37494 3.612 90 37493 3.612 89 0.6437863251803552
"60071" 37850 17.169 446 37849 17.169 445 0.713622293958964
"60081" 38533 3.612 90 38532 3.612 89 0.6437863251803552
"60081" 38889 17.169 446 38888 17.169 445 0.713622293958964
"130320" 19252 13.514 112 19251 13.514 111 0.7141609252160406
"60080" 38134 16.587 268 38133 16.587 267 0.8361154155698814
"60080" 38394 25.811 528 38393 25.811 527 0.7130526967048638
"130321" 19310 1.356 17 19309 1.356 16 0.4498547551588884
"130321" 19312 1.356 19 19311 1.356 18 0.4498547551588884
"130321" 19328 2.255 35 19327 2.255 34 0.7141609252160406
"70041" 43362 3.382 101 43361 3.382 100 0.7130526967048638
"70040" 42779 3.028 55 42778 3.028 54 0.34624910593630215
"70040" 42781 3.028 57 42780 3.028 56 0.34624910593630215
"70040" 43212 20.897 488 43211 20.897 487 0.7130526967048638
"90031" 60911 2.544 72 60910 2.544 71 0.6437863251803552
"140360" 24219 11.525 161 24218 11.525 160 0.7130526967048638
"140360" 24221 11.525 163 24220 11.525 162 0.7130526967048638
equal_shape_distance_same_coordinates WARNING 2440

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 2440 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`.
"60070" 36882 2.467 55 36881 2.467 54
"60070" 36895 3.167 68 36894 3.167 67
"60070" 36925 4.524 98 36924 4.524 97
"60070" 36946 9.808 119 36945 9.808 118
"60070" 36962 11.166 135 36961 11.166 134
"60070" 36987 12.091 160 36986 12.091 159
"60070" 37017 13.142 190 37016 13.142 189
"60070" 37049 14.841 222 37048 14.841 221
"60070" 37060 15.283 233 37059 15.283 232
"60070" 37071 15.604 244 37070 15.604 243
"60070" 37096 16.587 269 37095 16.587 268
"60070" 37157 19.615 330 37156 19.615 329
"60070" 37194 21.193 367 37193 21.193 366
"60070" 37237 22.195 410 37236 22.195 409
"60070" 37269 23.148 442 37268 23.148 441
"60070" 37294 23.887 467 37293 23.887 466
"60070" 37311 24.494 484 37310 24.494 483
"60070" 37329 25.334 502 37328 25.334 501
"60070" 37356 25.811 529 37355 25.811 528
"60070" 37384 27.187 557 37383 27.187 556
"110420" 11041 2.642 48 11040 2.642 47
"110420" 11059 7.144 66 11058 7.144 65
"110420" 11084 8.096 91 11083 8.096 90
"110420" 11114 9.147 121 11113 9.147 120
"110420" 11146 10.846 153 11145 10.846 152
"110420" 11157 11.288 164 11156 11.288 163
"110420" 11168 11.609 175 11167 11.609 174
"110420" 11217 14.03 224 11216 14.03 223
"110420" 11244 15.684 251 11243 15.684 250
"110420" 11267 21.97 274 11266 21.97 273
"130310" 18445 0.589 23 18444 0.589 22
"130310" 18474 1.37 52 18473 1.37 51
"130310" 18502 7.205 80 18501 7.205 79
"130310" 18541 9.441 119 18540 9.441 118
"130310" 18557 9.865 135 18556 9.865 134
"130310" 18596 16.264 174 18595 16.264 173
"130310" 18612 16.94 190 18611 16.94 189
"130310" 18626 17.501 204 18625 17.501 203
"130310" 18639 18.51 217 18638 18.51 216
"130310" 18654 19.016 232 18653 19.016 231
"130310" 18662 19.487 240 18661 19.487 239
"130310" 18671 20.252 249 18670 20.252 248
"130310" 18680 20.866 258 18679 20.866 257
"130310" 18731 24.33 309 18730 24.33 308
"130310" 18749 25.06 327 18748 25.06 326
"130310" 18768 25.636 346 18767 25.636 345
"130310" 18794 26.619 372 18793 26.619 371
"130310" 18805 27.06 383 18804 27.06 382
"130310" 18847 32.531 425 18846 32.531 424
"130311" 18913 7.783 41 18912 7.783 40
feed_expiration_date7_days WARNING 1

feed_expiration_date7_days

Dataset should be valid for at least the next 7 days.

The dataset expiration date defined in feed_info.txt is in seven days or less. At any time, the published GTFS dataset should be valid for at least the next 7 days.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. currentDate (?) Current date (YYYYMMDD format). feedEndDate (?) Feed end date (YYYYMMDD format). suggestedExpirationDate (?) Suggested expiration date (YYYYMMDD format).
2 "20251212" "20251102" "20251219"
missing_timepoint_value WARNING 2780

missing_timepoint_value

stop_times.timepoint value is missing for a record.

When at least one of stop_times.arrival_time or stop_times.departure_time are provided, stop_times.timepoint should be defined

You can see more about this notice here.

Only the first 50 of 2780 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 "849S-370" 1
3 "849S-370" 2
4 "849S-370" 3
5 "849S-370" 4
6 "849S-370" 5
7 "849S-370" 6
8 "849S-370" 7
9 "849S-370" 8
10 "849S-370" 9
11 "849S-380" 1
12 "849S-380" 2
13 "849S-380" 3
14 "849S-390" 1
15 "849S-390" 2
16 "849S-390" 3
17 "849S-390" 4
18 "849S-400" 1
19 "849S-400" 2
20 "849S-400" 3
21 "849S-400" 4
22 "849S-410" 1
23 "849S-410" 2
24 "849S-410" 3
25 "849S-410" 4
26 "849S-420" 1
27 "849S-420" 2
28 "849S-420" 3
29 "849S-420" 4
30 "849S-420" 5
31 "849S-420" 6
32 "849S-420" 7
33 "849S-420" 8
34 "849S-420" 9
35 "849S-430" 1
36 "849S-430" 2
37 "849S-430" 3
38 "849S-311" 1
39 "849S-311" 2
40 "849S-311" 3
41 "849S-311" 4
42 "849S-311" 5
43 "849S-311" 6
44 "849S-311" 7
45 "849S-321" 1
46 "849S-321" 2
47 "849S-321" 3
48 "849S-321" 4
49 "849S-321" 5
50 "849S-321" 6
51 "849S-321" 7
mixed_case_recommended_field WARNING 10

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.
"routes.txt" "route_long_name" "LE CATEAU CAMBRESIS - CAUDRY" 2
"routes.txt" "route_long_name" "VILLERS OUTREAUX - CAUDRY" 3
"routes.txt" "route_long_name" "CAUDRY - LE CATEAU CAMBRESIS" 4
"routes.txt" "route_long_name" "AVESNES LEZ AUBERT - CAUDRY" 5
"routes.txt" "route_long_name" "MAZINGHIEN - LE CATEAU CAMBRESIS" 6
"routes.txt" "route_long_name" "LE CATEAU CAMBRESIS - CAUDRY" 7
"routes.txt" "route_long_name" "VILLERS OUTREAUX - CAUDRY" 8
"routes.txt" "route_long_name" "CAUDRY - LE CATEAU CAMBRESIS" 9
"routes.txt" "route_long_name" "AVESNES LEZ AUBERT - CAUDRY" 10
"routes.txt" "route_long_name" "MAZINGHIEN - LE CATEAU CAMBRESIS" 11
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"