GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2025-12-05T15:42:15Z,
for the dataset file:///shared/zest.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
N/A
Publisher URL:
N/A
Feed Email:
N/A
Feed Language:
N/A

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_dates.txt
  4. routes.txt
  5. shapes.txt
  6. stop_times.txt
  7. stops.txt
  8. trips.txt

Counts


  • Agencies: 1
  • Blocks: 67
  • Routes: 36
  • Shapes: 123
  • Stops: 660
  • Trips: 3045

Specification Compliance report

7755 notices reported (5100 errors, 2655 warnings, 0 infos)

Notice Code Severity Total
block_trips_with_overlapping_stop_times ERROR 6

block_trips_with_overlapping_stop_times

Trips with the same block id have overlapping stop times.

You can see more about this notice here.

csvRowNumberA (?) The row number from `trips.txt` of the first faulty trip. tripIdA (?) The id of first faulty trip. serviceIdA (?) The service id of the first faulty trip. csvRowNumberB (?) The row number from `trips.txt` of the second faulty trip. tripIdB (?) The id of the other faulty trip. serviceIdB (?) The service id of the other faulty trip. blockId (?) The `trips.block_id` of the overlapping trip. intersection (?) The overlapping period.
2774 "8213" "26" 2595 "8163" "26" "9904" "20251105"
2774 "8213" "26" 2592 "8164" "26" "9904" "20251105"
2596 "8165" "26" 2906 "8216" "26" "9904" "20251105"
2902 "8217" "26" 2593 "8166" "26" "9904" "20251105"
2594 "8168" "26" 2909 "8222" "26" "9904" "20251105"
2911 "8225" "26" 2598 "8169" "26" "9904" "20251105"
decreasing_shape_distance ERROR 2303

decreasing_shape_distance

Decreasing shape_dist_traveled in shapes.txt.

When sorted by shape.shape_pt_sequence, two consecutive shape points must not have decreasing values for shape_dist_traveled.

You can see more about this notice here.

Only the first 50 of 2303 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`.
"18_6" 4769 12481.0 186 4770 12437.0 186
"18_6" 4771 12585.0 187 4774 12501.0 187
"18_6" 4772 12687.0 188 4776 12605.0 188
"18_6" 4773 12781.0 189 4778 12707.0 189
"18_6" 4775 12920.0 190 4779 12801.0 190
"18_6" 4777 12985.0 191 4780 12940.0 191
"18_6" 4781 13049.0 192 4783 13005.0 192
"18_6" 4782 13370.0 193 4784 13069.0 193
"18_6" 4785 13479.0 194 4787 13390.0 194
"18_6" 4786 13562.0 195 4789 13499.0 195
"18_6" 4788 13796.0 196 4790 13582.0 196
"18_6" 4791 13974.0 197 4792 13816.0 197
"18_6" 4793 14190.0 198 4795 13994.0 198
"18_6" 4794 14419.0 199 4796 14210.0 199
"18_6" 4797 14506.0 200 4799 14439.0 200
"18_6" 4798 14560.0 201 4805 14526.0 201
"18_6" 4800 14727.0 202 4806 14580.0 202
"18_6" 4801 14791.0 203 4807 14747.0 203
"18_6" 4802 14826.0 204 4808 14811.0 204
"18_6" 4803 14913.0 205 4809 14846.0 205
"18_6" 4804 15002.0 206 4810 14933.0 206
"18_5" 4213 1585.0 36 4214 1358.0 36
"18_5" 4215 1751.0 37 4216 1605.0 37
"18_5" 4217 1921.0 38 4219 1771.0 38
"18_5" 4218 1976.0 39 4221 1941.0 39
"18_5" 4220 2043.0 40 4223 1996.0 40
"18_5" 4222 2136.0 41 4225 2063.0 41
"18_5" 4224 2287.0 42 4226 2156.0 42
"18_5" 4227 2393.0 43 4229 2307.0 43
"18_5" 4228 2442.0 44 4231 2413.0 44
"18_5" 4230 2537.0 45 4234 2462.0 45
"18_5" 4232 2684.0 46 4233 2557.0 46
"18_5" 4237 3282.0 48 4238 3026.0 48
"18_5" 4239 3349.0 49 4240 3302.0 49
"18_5" 4241 3885.0 50 4242 3369.0 50
"18_5" 4243 4131.0 51 4244 3905.0 51
"18_5" 4247 4453.0 53 4250 4227.0 53
"18_5" 4248 4583.0 54 4252 4473.0 54
"18_5" 4249 4668.0 55 4254 4603.0 55
"18_5" 4251 4719.0 56 4256 4688.0 56
"18_5" 4253 4751.0 57 4258 4739.0 57
"18_5" 4255 4784.0 58 4260 4771.0 58
"18_5" 4257 4868.0 59 4262 4804.0 59
"18_5" 4259 4901.0 60 4264 4888.0 60
"18_5" 4261 4941.0 61 4265 4921.0 61
"18_5" 4263 5040.0 62 4268 4961.0 62
"18_5" 4266 5180.0 63 4269 5060.0 63
"18_5" 4267 5292.0 64 4270 5200.0 64
"18_5" 4271 5346.0 65 4272 5312.0 65
"18_5" 4273 5371.0 66 4278 5366.0 66
duplicate_key ERROR 2742

duplicate_key

Duplicated entity.

The values of the given key and rows are duplicates.

You can see more about this notice here.

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

filename (?) The name of the faulty file oldCsvRowNumber (?) The row of the first occurrence. newCsvRowNumber (?) The row of the other occurrence. fieldName1 (?) Composite key's first field name. fieldValue1 (?) Composite key's first value.
"shapes.txt" 1234 1235 "shape_id,shape_pt_sequence" "11A_1,105"
"shapes.txt" 1236 1292 "shape_id,shape_pt_sequence" "11A_1,106"
"shapes.txt" 1237 1293 "shape_id,shape_pt_sequence" "11A_1,107"
"shapes.txt" 1238 1294 "shape_id,shape_pt_sequence" "11A_1,108"
"shapes.txt" 1239 1295 "shape_id,shape_pt_sequence" "11A_1,109"
"shapes.txt" 1240 1296 "shape_id,shape_pt_sequence" "11A_1,110"
"shapes.txt" 1241 1297 "shape_id,shape_pt_sequence" "11A_1,111"
"shapes.txt" 1242 1298 "shape_id,shape_pt_sequence" "11A_1,112"
"shapes.txt" 1243 1299 "shape_id,shape_pt_sequence" "11A_1,113"
"shapes.txt" 1244 1300 "shape_id,shape_pt_sequence" "11A_1,114"
"shapes.txt" 1245 1301 "shape_id,shape_pt_sequence" "11A_1,115"
"shapes.txt" 1246 1302 "shape_id,shape_pt_sequence" "11A_1,116"
"shapes.txt" 1247 1303 "shape_id,shape_pt_sequence" "11A_1,117"
"shapes.txt" 1248 1304 "shape_id,shape_pt_sequence" "11A_1,118"
"shapes.txt" 1249 1305 "shape_id,shape_pt_sequence" "11A_1,119"
"shapes.txt" 1250 1306 "shape_id,shape_pt_sequence" "11A_1,120"
"shapes.txt" 1251 1307 "shape_id,shape_pt_sequence" "11A_1,121"
"shapes.txt" 1252 1308 "shape_id,shape_pt_sequence" "11A_1,122"
"shapes.txt" 1253 1309 "shape_id,shape_pt_sequence" "11A_1,123"
"shapes.txt" 1254 1310 "shape_id,shape_pt_sequence" "11A_1,124"
"shapes.txt" 1255 1311 "shape_id,shape_pt_sequence" "11A_1,125"
"shapes.txt" 1256 1312 "shape_id,shape_pt_sequence" "11A_1,126"
"shapes.txt" 1257 1313 "shape_id,shape_pt_sequence" "11A_1,127"
"shapes.txt" 1258 1314 "shape_id,shape_pt_sequence" "11A_1,128"
"shapes.txt" 1259 1315 "shape_id,shape_pt_sequence" "11A_1,129"
"shapes.txt" 1260 1316 "shape_id,shape_pt_sequence" "11A_1,130"
"shapes.txt" 1261 1317 "shape_id,shape_pt_sequence" "11A_1,131"
"shapes.txt" 1262 1318 "shape_id,shape_pt_sequence" "11A_1,132"
"shapes.txt" 1263 1319 "shape_id,shape_pt_sequence" "11A_1,133"
"shapes.txt" 1264 1320 "shape_id,shape_pt_sequence" "11A_1,134"
"shapes.txt" 1265 1321 "shape_id,shape_pt_sequence" "11A_1,135"
"shapes.txt" 1266 1322 "shape_id,shape_pt_sequence" "11A_1,136"
"shapes.txt" 1267 1323 "shape_id,shape_pt_sequence" "11A_1,137"
"shapes.txt" 1268 1324 "shape_id,shape_pt_sequence" "11A_1,138"
"shapes.txt" 1269 1325 "shape_id,shape_pt_sequence" "11A_1,139"
"shapes.txt" 1270 1326 "shape_id,shape_pt_sequence" "11A_1,140"
"shapes.txt" 1271 1327 "shape_id,shape_pt_sequence" "11A_1,141"
"shapes.txt" 1272 1328 "shape_id,shape_pt_sequence" "11A_1,142"
"shapes.txt" 1273 1329 "shape_id,shape_pt_sequence" "11A_1,143"
"shapes.txt" 1274 1330 "shape_id,shape_pt_sequence" "11A_1,144"
"shapes.txt" 1275 1331 "shape_id,shape_pt_sequence" "11A_1,145"
"shapes.txt" 1276 1332 "shape_id,shape_pt_sequence" "11A_1,146"
"shapes.txt" 1277 1333 "shape_id,shape_pt_sequence" "11A_1,147"
"shapes.txt" 1278 1334 "shape_id,shape_pt_sequence" "11A_1,148"
"shapes.txt" 1279 1335 "shape_id,shape_pt_sequence" "11A_1,149"
"shapes.txt" 1280 1336 "shape_id,shape_pt_sequence" "11A_1,150"
"shapes.txt" 1281 1337 "shape_id,shape_pt_sequence" "11A_1,151"
"shapes.txt" 1282 1338 "shape_id,shape_pt_sequence" "11A_1,152"
"shapes.txt" 1283 1339 "shape_id,shape_pt_sequence" "11A_1,153"
"shapes.txt" 1284 1340 "shape_id,shape_pt_sequence" "11A_1,154"
equal_shape_distance_diff_coordinates ERROR 49

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.
"21_2" 6300 10303.0 174 6288 10303.0 174 24.091000449263408
"21_2" 6434 13958.0 243 6432 13958.0 243 19.535670654779075
"21_2" 6626 20165.0 336 6611 20165.0 336 23.64432786386704
"13_3" 3057 5586.0 100 3037 5586.0 100 19.537943924614208
"13_3" 3103 7291.0 122 3096 7291.0 122 23.645016286400544
"25_11" 10642 31765.0 904 10408 31765.0 904 23.636638852317503
"25_11" 10675 32012.0 921 10425 32012.0 921 13.702730273452708
"25_11" 10700 32327.0 940 10444 32327.0 940 19.497289009983522
"25_11" 10728 32716.0 968 10472 32716.0 968 16.016328218948757
"25_11" 10733 32804.0 973 10477 32804.0 973 19.497908384192417
"25_11" 10753 33203.0 993 10497 33203.0 993 23.63704940644558
"25_11" 10759 33321.0 999 10503 33321.0 999 22.239020235721746
"25_11" 10765 33455.0 1005 10509 33455.0 1005 22.239020235721746
"25_11" 10775 33627.0 1015 10519 33627.0 1015 13.703564339742428
"25_11" 10790 33961.0 1030 10534 33961.0 1030 13.703784648731625
"25_11" 10807 34270.0 1047 10551 34270.0 1047 22.239020235014422
"25_11" 10824 34472.0 1060 10569 34472.0 1060 19.50073952972239
"25_11" 10831 34533.0 1063 10575 34533.0 1063 23.637551177718485
"25_11" 10859 34802.0 1077 10604 34802.0 1077 22.239020235721746
"25_11" 10931 35601.0 1113 10676 35601.0 1113 26.480898406205313
"25_12" 12351 37934.0 538 12295 37934.0 538 37.000977762765594
"25_12" 12490 38712.0 568 12335 38712.0 568 8.004500927451227
"25_12" 12506 38890.0 576 12352 38890.0 576 37.000977762765594
"25_12" 12561 40293.0 614 12411 40293.0 614 38.978758003578335
"25_12" 12658 43898.0 705 12531 43898.0 705 36.9967343599735
"25_12" 13050 49838.0 803 12817 49838.0 803 36.994845594753805
"25_12" 13065 50339.0 818 12847 50339.0 818 38.958480259367725
"25_12" 13251 56300.0 1004 13039 56300.0 1004 32.700253081718685
"25_12" 13260 56620.0 1011 13258 56620.0 1011 44.47804047073617
"25_12" 13287 56717.0 1016 13265 56717.0 1016 46.199961759359006
"25_12" 13291 56753.0 1018 13267 56753.0 1018 32.69930328386311
"25_12" 13302 56872.0 1023 13272 56872.0 1023 36.98910853043876
"25_12" 13275 56908.0 1026 13306 56908.0 1025 33.3585303528753
"25_12" 13310 56933.0 1027 13276 56933.0 1027 26.42520759372444
"25_12" 13728 63565.0 1209 13616 63565.0 1209 34.30197019120427
"25_12" 13796 65186.0 1274 13692 65186.0 1274 34.301684092390545
"13_7" 3475 5754.0 101 3455 5754.0 101 19.537943924614208
"13_7" 3521 7459.0 123 3514 7459.0 123 23.645016286400544
"11A_1" 1252 8354.0 122 1307 8354.0 121 19.540415490228757
"11A_1" 1324 8672.0 138 1268 8672.0 138 23.645754819674174
"11A_1" 1341 9114.0 155 1285 9114.0 155 13.718527481803994
"2_6" 21588 1851.0 32 21538 1851.0 32 23.643912969101688
"2_6" 21610 2497.0 54 21560 2497.0 54 26.53057420715777
"2_7" 21764 1858.0 40 21714 1858.0 40 23.643912969101688
"2_7" 21786 2504.0 62 21736 2504.0 62 26.53057420715777
"12_5" 2554 5157.0 98 2549 5157.0 98 13.717969582305193
"11B_1" 1659 9302.0 130 1714 9302.0 129 19.540415490228757
"11B_1" 1731 9620.0 146 1675 9620.0 146 23.645754819674174
"11B_1" 1748 10062.0 163 1692 10062.0 163 13.718527481803994
expired_calendar WARNING 4

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.
7 "11"
8 "11_12_15"
9 "12"
13 "15"
leading_or_trailing_whitespaces WARNING 204

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.

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

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) Faulty record's field name. fieldValue (?) Faulty value.
"stop_times.txt" 26538 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26539 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26540 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26541 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26542 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26543 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26544 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26545 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26546 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26547 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26548 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26549 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26550 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26551 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26552 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26553 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26554 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26555 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26556 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26557 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26558 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26559 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26560 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26561 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26562 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26563 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26564 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26565 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26566 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26567 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26568 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26569 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26570 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26571 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26572 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26573 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26574 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26575 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26576 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26577 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26578 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26579 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26580 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26581 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26582 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26583 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26584 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26585 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26586 "stop_headsign" "MALBOUSQUET "
"stop_times.txt" 26587 "stop_headsign" "MALBOUSQUET "
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 2138

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 2138 affected records are displayed below.

filename (?) Name of the faulty file. fieldName (?) Name of the faulty field. fieldValue (?) Faulty value. csvRowNumber (?) The row number of the faulty record.
"stops.txt" "stop_name" "RD2564/RD63" 38
"stops.txt" "stop_name" "2ème escalier" 125
"stops.txt" "stop_name" "RD2564/RD63" 203
"stops.txt" "stop_name" "1er escalier" 435
"stops.txt" "stop_name" "RD2564/RD63" 660
"stops.txt" "stop_name" "RD2564/RD63" 661
"trips.txt" "trip_headsign" "GARE ROUTIERE" 188
"trips.txt" "trip_headsign" "GARE ROUTIERE" 189
"trips.txt" "trip_headsign" "GARE ROUTIERE" 190
"trips.txt" "trip_headsign" "GARE ROUTIERE" 191
"trips.txt" "trip_headsign" "GARE ROUTIERE" 192
"trips.txt" "trip_headsign" "GARE ROUTIERE" 193
"trips.txt" "trip_headsign" "GARE ROUTIERE" 194
"trips.txt" "trip_headsign" "GARE ROUTIERE" 195
"trips.txt" "trip_headsign" "GARE ROUTIERE" 196
"trips.txt" "trip_headsign" "GARE ROUTIERE" 197
"trips.txt" "trip_headsign" "GARE ROUTIERE" 198
"trips.txt" "trip_headsign" "GARE ROUTIERE" 199
"trips.txt" "trip_headsign" "GARE ROUTIERE" 200
"trips.txt" "trip_headsign" "GARE ROUTIERE" 201
"trips.txt" "trip_headsign" "GARE ROUTIERE" 202
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 203
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 204
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 205
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 206
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 207
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 208
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 209
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 210
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 211
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 212
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 213
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 214
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 215
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 216
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 217
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 218
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 219
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 220
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 221
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 222
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 223
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 224
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 225
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 226
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 227
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 228
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 229
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 230
"trips.txt" "trip_headsign" "FRONTIERE ST LUDOVIC" 231
non_ascii_or_non_printable_char WARNING 96

non_ascii_or_non_printable_char

Non ascii or non printable char in ID field.

A value of a field with type ID contains non ASCII or non printable characters. This is not recommended.

You can see more about this notice here.

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

filename (?) Name of the faulty file. csvRowNumber (?) Row number of the faulty record. columnName (?) Name of the column where the error occurred. fieldValue (?) Faulty value.
"stops.txt" 221 "stop_id" "MENPÂQU2"
"stops.txt" 349 "stop_id" "GORGÎTE2"
"stops.txt" 374 "stop_id" "GORGÎTE1"
"stop_times.txt" 69078 "stop_id" "GORGÎTE1"
"stop_times.txt" 69108 "stop_id" "GORGÎTE1"
"stop_times.txt" 69138 "stop_id" "GORGÎTE1"
"stop_times.txt" 69168 "stop_id" "GORGÎTE1"
"stop_times.txt" 69198 "stop_id" "GORGÎTE1"
"stop_times.txt" 69228 "stop_id" "GORGÎTE1"
"stop_times.txt" 69258 "stop_id" "GORGÎTE1"
"stop_times.txt" 69288 "stop_id" "GORGÎTE1"
"stop_times.txt" 69318 "stop_id" "GORGÎTE1"
"stop_times.txt" 69348 "stop_id" "GORGÎTE1"
"stop_times.txt" 69378 "stop_id" "GORGÎTE1"
"stop_times.txt" 69408 "stop_id" "GORGÎTE1"
"stop_times.txt" 69438 "stop_id" "GORGÎTE1"
"stop_times.txt" 69468 "stop_id" "GORGÎTE1"
"stop_times.txt" 69498 "stop_id" "GORGÎTE1"
"stop_times.txt" 69528 "stop_id" "GORGÎTE1"
"stop_times.txt" 69558 "stop_id" "GORGÎTE1"
"stop_times.txt" 69588 "stop_id" "GORGÎTE1"
"stop_times.txt" 69618 "stop_id" "GORGÎTE1"
"stop_times.txt" 69648 "stop_id" "GORGÎTE1"
"stop_times.txt" 69678 "stop_id" "GORGÎTE1"
"stop_times.txt" 69708 "stop_id" "GORGÎTE1"
"stop_times.txt" 69738 "stop_id" "GORGÎTE1"
"stop_times.txt" 69768 "stop_id" "GORGÎTE1"
"stop_times.txt" 69798 "stop_id" "GORGÎTE1"
"stop_times.txt" 69828 "stop_id" "GORGÎTE1"
"stop_times.txt" 69858 "stop_id" "GORGÎTE1"
"stop_times.txt" 69888 "stop_id" "GORGÎTE1"
"stop_times.txt" 69918 "stop_id" "GORGÎTE1"
"stop_times.txt" 69948 "stop_id" "GORGÎTE1"
"stop_times.txt" 69978 "stop_id" "GORGÎTE1"
"stop_times.txt" 70008 "stop_id" "GORGÎTE1"
"stop_times.txt" 70038 "stop_id" "GORGÎTE1"
"stop_times.txt" 70068 "stop_id" "GORGÎTE1"
"stop_times.txt" 70098 "stop_id" "GORGÎTE1"
"stop_times.txt" 70128 "stop_id" "GORGÎTE1"
"stop_times.txt" 70158 "stop_id" "GORGÎTE1"
"stop_times.txt" 70188 "stop_id" "GORGÎTE1"
"stop_times.txt" 70218 "stop_id" "GORGÎTE1"
"stop_times.txt" 70248 "stop_id" "GORGÎTE1"
"stop_times.txt" 70278 "stop_id" "GORGÎTE1"
"stop_times.txt" 70308 "stop_id" "GORGÎTE1"
"stop_times.txt" 70338 "stop_id" "GORGÎTE1"
"stop_times.txt" 70368 "stop_id" "GORGÎTE1"
"stop_times.txt" 70389 "stop_id" "GORGÎTE2"
"stop_times.txt" 70420 "stop_id" "GORGÎTE2"
"stop_times.txt" 70451 "stop_id" "GORGÎTE2"
route_color_contrast WARNING 35

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.
"1" 2 "#FF0000" "#FF0000"
"10" 3 "#666699" "#666699"
"12" 4 "#EE82EE" "#EE82EE"
"12S" 5 "#EE82EE" "#EE82EE"
"13" 6 "#006400" "#006400"
"15" 7 "#87CEEB" "#87CEEB"
"18" 8 "#00FFFF" "#00FFFF"
"2" 9 "#FF99CC" "#FF99CC"
"21" 10 "#FFCC99" "#FFCC99"
"22" 11 "#CCFFCC" "#CCFFCC"
"24" 12 "#A52A2A" "#A52A2A"
"3" 13 "#FFD700" "#FFD700"
"4" 14 "#A52A2A" "#A52A2A"
"5" 15 "#006400" "#006400"
"6" 16 "#CCFFCC" "#CCFFCC"
"7" 17 "#D21C73" "#D21C73"
"8" 18 "#008000" "#008000"
"B" 19 "#000000" "#000000"
"N1" 20 "#000000" "#000000"
"N2" 21 "#000000" "#000000"
"11A" 22 "#000000" "#000000"
"11B" 23 "#000000" "#000000"
"N4" 24 "#000000" "#000000"
"25" 25 "#8B0000" "#8B0000"
"13S" 27 "#000000" "#000000"
"1S" 28 "#000000" "#000000"
"24S" 29 "#000000" "#000000"
"2S" 30 "#000000" "#000000"
"7S" 31 "#000000" "#000000"
"B1" 32 "#000000" "#000000"
"B3" 33 "#000000" "#000000"
"M1" 34 "#000000" "#000000"
"M2" 35 "#000000" "#000000"
"NE" 36 "#000000" "#000000"
"R6" 37 "#000000" "#000000"
route_long_name_contains_short_name WARNING 36

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`.
"1" 2 "1" "1"
"10" 3 "10" "10"
"12" 4 "12" "12"
"12S" 5 "12S" "12S"
"13" 6 "13" "13"
"15" 7 "15" "15"
"18" 8 "18" "18"
"2" 9 "2" "2"
"21" 10 "21" "21"
"22" 11 "22" "22"
"24" 12 "24" "24"
"3" 13 "3" "3"
"4" 14 "4" "4"
"5" 15 "5" "5"
"6" 16 "6" "6"
"7" 17 "7" "7"
"8" 18 "8" "8"
"B" 19 "B" "B"
"N1" 20 "N1" "N1"
"N2" 21 "N2" "N2"
"11A" 22 "11A" "11A"
"11B" 23 "11B" "11B"
"N4" 24 "N4" "N4"
"25" 25 "25" "25"
"N3" 26 "N3" "N3"
"13S" 27 "13S" "13S"
"1S" 28 "1S" "1S"
"24S" 29 "24S" "24S"
"2S" 30 "2S" "2S"
"7S" 31 "7S" "7S"
"B1" 32 "B1" "B1"
"B3" 33 "B3" "B3"
"M1" 34 "M1" "M1"
"M2" 35 "M2" "M2"
"NE" 36 "NE" "NE"
"R6" 37 "R6" "R6"
stop_has_too_many_matches_for_shape WARNING 16

stop_has_too_many_matches_for_shape

Stop entry that has many potential matches to the trip's path of travel, as defined by the shape entry in shapes.txt.

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. matchCount (?) The number of matches for the stop that is referred to.
1710 "21_2" "65" 48089 "RCMVALL1" "Chemin du Vallonet" [43.76497247891281,7.475418803733798] 27
1710 "21_2" "65" 48091 "RCMVALL2" "Chemin du Vallonet" [43.7649000000244,7.475119999999999] 26
1710 "21_2" "65" 48123 "RCMGENE1" "Les Genêts" [43.766585805195646,7.4593070974256666] 26
1766 "21_2" "9064" 51524 "RCMVALL1" "Chemin du Vallonet" [43.76497247891281,7.475418803733798] 27
1766 "21_2" "9064" 51526 "RCMVALL2" "Chemin du Vallonet" [43.7649000000244,7.475119999999999] 26
1766 "21_2" "9064" 51558 "RCMGENE1" "Les Genêts" [43.766585805195646,7.4593070974256666] 26
2810 "25_12" "14" 80093 "BREOLIV1" "Olivaie" [43.9581403121034,7.521033593046138] 43
2810 "25_12" "14" 80101 "FONECO2" "Fontan-Ecole" [44.00258140531198,7.554709297474393] 22
2810 "25_12" "14" 80105 "BRISTST1" "Pont de St Dalmas" [44.06009181095765,7.5885081891279365] 35
2810 "25_12" "14" 80112 "BRISTST2" "Pont de St Dalmas" [44.06010000002998,7.588575000006332] 33
2841 "25_12" "17" 81182 "BREOLIV1" "Olivaie" [43.9581403121034,7.521033593046138] 43
2841 "25_12" "17" 81190 "FONECO2" "Fontan-Ecole" [44.00258140531198,7.554709297474393] 22
2841 "25_12" "17" 81194 "BRISTST1" "Pont de St Dalmas" [44.06009181095765,7.5885081891279365] 35
2841 "25_12" "17" 81201 "BRISTST2" "Pont de St Dalmas" [44.06010000002998,7.588575000006332] 33
1776 "22_6" "494" 52102 "RCMGENE1" "Les Genêts" [43.766585805195646,7.4593070974256666] 26
1834 "22_6" "9066" 55755 "RCMGENE1" "Les Genêts" [43.766585805195646,7.4593070974256666] 26
stop_too_far_from_shape_using_user_distance WARNING 102

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.

Only the first 50 of 102 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.
1303 "18_6" "226" 37446 "MENMONT2" "Montreux" [43.778999999999996,7.507499999999999] 319.15153895062235
1303 "18_6" "226" 37448 "MENBIBA2" "Blasco Ibanez" [43.783300000000004,7.5142999999999995] 182.65979104391013
1303 "18_6" "226" 37449 "MENFHAM2" "Fontaine Hambury" [43.7844,7.519000000000001] 230.87449026881754
1202 "18_5" "9142" 33070 "MENMONT1" "Montreux" [43.78142941482386,7.510094107264195] 131.37108043420608
1202 "18_5" "9142" 33072 "MENSABL1" "Les Sablettes" [43.777084906327715,7.507788684877356] 101.50932548482623
1202 "18_5" "9142" 33075 "MENCBME1" "Casino Bord de Mer" [43.773322400556644,7.500595501659379] 175.8767259013839
1202 "18_5" "9142" 33076 "MENEREC1" "Elisée Reclus" [43.77184229523024,7.497382072060133] 470.7429898756144
1202 "18_5" "9142" 33089 "RCMMASS1" "Massolin" [43.75931852358463,7.466182732365467] 154.6413442524093
1202 "18_5" "9142" 33090 "RCM1ESC1" "1er escalier" [43.76137887832002,7.463623957460758] 122.7692026935667
1202 "18_5" "9142" 33093 "RCM4CHE1" "Les 4 chemins" [43.76120913293016,7.453901234281487] 111.16301632055271
1202 "18_5" "9142" 33094 "RCM1NBO1" "16 avenue ND de Bon Voyage" [43.758653402321386,7.450114548070191] 160.41186659889033
1202 "18_5" "9142" 33107 "MCAROQU1" "Roqueville" [43.73996342047163,7.42391950416638] 107.26652331380798
1203 "18_5" "225" 33117 "MENTREN1" "Trenca" [43.7753,7.507099999999999] 147.23514162978398
1203 "18_5" "225" 33120 "MENPCAR1" "Palais Carnolès" [43.7694,7.4925999999999995] 246.3483431058246
1203 "18_5" "225" 33123 "RCMSJOS1" "Saint-Joseph" [43.7659,7.483700000000002] 102.41977184863275
1203 "18_5" "225" 33124 "RCMFOCH1" "Foch" [43.764399999999995,7.4817] 109.11511426203101
1203 "18_5" "225" 33127 "RCMRVIC1" "RCM Victoria" [43.7594,7.482800000000002] 260.19398657756597
1203 "18_5" "225" 33138 "RCMNBVO1" "ND de Bon Voyage" [43.7566,7.4474] 158.7189415518729
1710 "21_2" "65" 48076 "MENSMAU1" "Saint-Maurice" [43.7682,7.480499999999999] 169.70100829491156
1710 "21_2" "65" 48079 "MENSMAD1" "Serre de la Madone" [43.7735,7.476700000000001] 125.22751053325545
1710 "21_2" "65" 48082 "MENALIZ2" "ALIZE" [43.7718,7.475400000000002] 175.17090661586388
1710 "21_2" "65" 48084 "MENROCA1" "Roccapina" [43.769,7.478200000000002] 118.13655375552754
1710 "21_2" "65" 48086 "RCMSJOS1" "Saint-Joseph" [43.7659,7.483700000000002] 102.41977184863275
1710 "21_2" "65" 48087 "RCMFOCH1" "Foch" [43.764399999999995,7.4817] 109.11511426203101
1710 "21_2" "65" 48090 "RCMAZUR2" "Azureva" [43.76559999999999,7.477] 147.80864004201698
1710 "21_2" "65" 48104 "RCMRBEL1" "Riva Bella" [43.75979999999999,7.4708] 147.5404391382558
1710 "21_2" "65" 48106 "RCMMASS3" "Massolin" [43.7594,7.466600000000001] 156.54915688525222
1710 "21_2" "65" 48107 "RCM1ESC1" "1er escalier" [43.7603,7.465099999999998] 291.4058622878023
1710 "21_2" "65" 48110 "RCM4CHE1" "Les 4 chemins" [43.7614,7.454199999999999] 143.19032642063846
1710 "21_2" "65" 48111 "RCMLBOU1" "La Boucherie" [43.7591,7.451100000000003] 272.1906497599578
1710 "21_2" "65" 48112 "RCMLTRA1" "La Tranchée" [43.7561,7.4491] 138.22345408657114
1710 "21_2" "65" 48116 "RCMAPOL1" "Apollon" [43.754,7.4415] 147.38144183566226
2016 "3_2" "102" 62157 "MENGUIL1" "Guillevin" [43.7763,7.4883000000000015] 212.11568837463756
2016 "3_2" "102" 62158 "MENAFRA1" "Anne Frank" [43.7779,7.4869] 118.62498309360836
2078 "3_5" "3721" 63118 "MENGUIL1" "Guillevin" [43.7763,7.4883000000000015] 212.11568837463756
2078 "3_5" "3721" 63119 "MENAFRA1" "Anne Frank" [43.7779,7.4869] 118.62498309360836
1403 "18_8" "4897" 41643 "MENMONT2" "Montreux" [43.778999999999996,7.507499999999999] 319.15153895062235
1403 "18_8" "4897" 41645 "MENBIBA2" "Blasco Ibanez" [43.783300000000004,7.5142999999999995] 182.65979104391013
1403 "18_8" "4897" 41646 "MENFHAM2" "Fontaine Hambury" [43.7844,7.519000000000001] 230.87449026881754
960 "13_4" "308" 26643 "BEACEPO1" "Castor et Pollux" [43.7399,7.414] 105.74995995116858
960 "13_4" "308" 26644 "BEAMALB1" "Malbousquet" [43.739,7.413599999999999] 161.7947620220767
1034 "13_3" "309" 28770 "MCAROQU2" "Roqueville" [43.73879999999999,7.420400000000001] 232.5334520449373
1034 "13_3" "309" 28774 "BEACARN2" "Carnier" [43.7447,7.426400000000001] 125.74856860600072
1034 "13_3" "309" 28781 "BEAJBOU2" "Jeu de Boules" [43.742200000000004,7.418500000000001] 143.45784987588456
1034 "13_3" "309" 28782 "BEACAFN2" "Combattants AFN" [43.743,7.4199] 228.83975663721617
1034 "13_3" "309" 28786 "BEAFOND2" "Fondivina" [43.7503,7.4266] 180.00379437162766
1034 "13_3" "309" 28788 "BEAPRII2" "Avenue Prince Rainier III" [43.75170000000001,7.4277000000000015] 163.17814397353936
1034 "13_3" "309" 28789 "BEASSER2" "Station Service [ne pas utiliser]" [43.75209999999999,7.432099999999998] 113.85073922307714
2787 "25_11" "8" 79310 "MENMSTA1" "Menton Stade" [43.7835,7.5145] 144.09260972334863
2787 "25_11" "8" 79312 "MENMGRO1" "Menton Gare Routière" [43.7763,7.494399999999999] 104.77204066214249
stop_without_stop_time WARNING 23

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.
2 "DEP" "Depot Zest Bus"
202 "SOSPARK" "Parking Sospel Gare"
221 "MENPÂQU2" "Pâquerettes"
297 "TENCAST1" "Castérino"
318 "PARK" "Parking Pont Saint Dévote"
325 "TENCAST2" "Castérino"
441 "SOSSGSN1" "Sospel Gare SNCF"
588 "FONPARK" "Parking Fontan"
607 "SDTVIL3" "St Dalmas de Tende"
609 "TENLMES1" "Lac des Mesches"
613 "TENLMES2" "Lac des Mesches"
614 "TENPTGA1" "Pont des Gasis"
615 "TENPTGA2" "Pont des Gasis"
617 "MENSTM1" "Traverse Saint Michel bis"
627 "BREOLIV2" "Olivaie"
628 "FONRTB1" "Route de Berghe"
629 "FONRTB2" "Route de Berghe"
632 "PARKTEN1" "Parking Gare Sncf TENDE"
635 "BREILENI" "Station service ENI"
636 "DEPFON" "Depot Fontan"
637 "DEPMON" "Depot Monaco - Parking Saint Devotte"
647 "PBEASS" "Plein pour la station service"
648 "PTENST1" "Plein Station Service"