GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 5.0.1 at 2024-06-07T16:49:48Z,
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:
Lignes d'Azur
Publisher URL:
http://www.lignesdazur.com
Feed Language:
French
Feed Start Date:
2024-04-09
Feed End Date:
2024-10-26

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

Counts


  • Agencies: 4
  • Blocks: 1
  • Routes: 0
  • Shapes: 459
  • Stops: 5285
  • Trips: 18380

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


ShapesFeed InformationHeadsignsWheelchair AccessibilityLocation Types

Specification Compliance report

9778 notices reported (2 errors, 9776 warnings, 0 infos)

Notice Code Severity Total
invalid_url ERROR 2

invalid_url

A field contains a malformed URL.

Definitions for valid URLs are quite vague. We perform strict validation using the Apache Commons UrlValidator.

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" 117 "route_url" "https://ftp.lignesdazur.com/navette_isola_isola 2000.pdf"
"routes.txt" 118 "route_url" "https://ftp.lignesdazur.com/navette_interne_isola 2000.pdf"
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 584

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 584 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.
"110024" 85835 0.0 1 85834 0.0 0 0.4017323075822593
"110024" 85873 0.477 39 85872 0.477 38 0.23645931487642288
"6610R7|20230904" 194054 7.45 193 194053 7.45 192 0.3212157556236896
"P0019" 183861 4.938 162 183860 4.938 161 0.1954846137535018
"Aur30009" 207815 2.288 214 207814 2.288 213 0.3375595188838716
"340009" 133978 3.343 179 133977 3.343 178 0.5059791235683256
"820048" 196301 2.071 80 196300 2.071 79 0.1954846137535018
"820048" 196646 10.603 425 196645 10.603 424 0.604839969796648
"W0013" 25239 2.925 185 25238 2.925 184 0.39107117376661854
"W0013" 25296 3.761 242 25295 3.761 241 0.4951355180224169
"820049" 197347 11.646 529 197346 11.646 528 0.19548294192942414
"900028" 236155 16.176 899 236154 16.176 898 0.3430193812789021
"900028" 236737 24.402 1481 236736 24.402 1480 0.8299607688746762
"900028" 236793 24.861 1537 236792 24.861 1536 0.6414118794318231
"900028" 236795 24.863 1539 236794 24.863 1538 0.8299607688746762
"900028" 237039 27.723 1783 237038 27.723 1782 0.8476895605958739
"900028" 237357 33.952 2101 237356 33.952 2100 0.3430546367384345
"900028" 238696 61.828 3440 238695 61.828 3439 0.195327603454147
"900028" 238991 73.897 3735 238990 73.897 3734 0.23648673621564342
"900027" 220603 4.385 168 220602 4.385 167 0.5311683207454089
"900027" 220882 13.66 447 220881 13.66 446 0.32784396447765657
"900027" 221009 17.318 574 221008 17.318 573 0.6516098646354673
"900027" 222719 49.918 2284 222718 49.918 2283 0.45191205187234573
"900027" 222829 51.164 2394 222828 51.164 2393 0.6414118794318231
"900027" 224038 70.54 3603 224037 70.54 3602 0.4921098333148746
"6610R11|20230904" 192986 7.45 193 192985 7.45 192 0.3212157556236896
"NVN10008" 110854 3.688 168 110853 3.688 167 0.13719486472864043
"A0010" 313136 9.087 369 313135 9.087 368 0.39107117376661854
"520080" 202583 17.283 952 202582 17.283 951 0.3431225614537532
"500037" 150660 0.203 27 150659 0.203 26 0.39107701661106814
"500037" 150893 4.077 260 150892 4.077 259 0.32808894691819185
"7440004" 291265 35.007 1723 291264 35.007 1722 0.195327603454147
"7440002" 287797 21.884 617 287796 21.884 616 0.32784396447765657
"7440002" 287827 22.228 647 287826 22.228 646 0.195327603454147
"7440002" 289087 49.176 1907 289086 49.176 1906 0.3430546367384345
"730002" 297345 11.09 494 297344 11.09 493 0.34312243230446293
"730002" 297479 13.335 628 297478 13.335 627 0.13716598748296643
"730002" 297561 14.883 710 297560 14.883 709 0.27431843388141114
"730002" 297703 16.407 852 297702 16.407 851 0.3398698302132036
"730001" 296492 11.437 558 296491 11.437 557 0.34312243230446293
"730001" 296626 13.682 692 296625 13.682 691 0.13716598748296643
"A0001" 311567 1.046 72 311566 1.046 71 0.39107117376661854
"420037" 112766 1.903 143 112765 1.903 142 0.1608878772970525
"500026" 148387 4.313 212 148386 4.313 211 0.27444454250328393
"810032" 110000 3.348 178 109999 3.348 177 0.642631815053116
"810032" 110102 5.046 280 110101 5.046 279 0.7170275428149862
"430013" 304352 0.817 39 304351 0.817 38 0.6862579468067216
"430013" 304466 2.473 153 304465 2.473 152 0.19546263160941002
"430013" 304534 3.604 221 304533 3.604 220 0.1372050112844104
"430013" 304697 6.803 384 304696 6.803 383 0.3280331357209401
equal_shape_distance_same_coordinates WARNING 8375

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 8375 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`.
"110024" 85874 0.477 40 85873 0.477 39
"110024" 85896 0.789 62 85895 0.789 61
"110024" 85905 1.051 71 85904 1.051 70
"110024" 85914 1.293 80 85913 1.293 79
"110024" 85924 1.438 90 85923 1.438 89
"110024" 85936 1.609 102 85935 1.609 101
"110024" 85961 1.979 127 85960 1.979 126
"110024" 85969 2.153 135 85968 2.153 134
"110024" 85989 2.462 155 85988 2.462 154
"110024" 86005 2.752 171 86004 2.752 170
"110024" 86017 2.987 183 86016 2.987 182
"110024" 86030 3.189 196 86029 3.189 195
"110024" 86046 3.723 212 86045 3.723 211
"110024" 86052 3.941 218 86051 3.941 217
"110024" 86061 4.253 227 86060 4.253 226
"110024" 86067 4.462 233 86066 4.462 232
"110024" 86077 4.777 243 86076 4.777 242
"110024" 86090 5.134 256 86089 5.134 255
"110024" 86100 5.505 266 86099 5.505 265
"110024" 86105 5.703 271 86104 5.703 270
"110024" 86113 5.937 279 86112 5.937 278
"110024" 86121 6.219 287 86120 6.219 286
"110024" 86128 6.42 294 86127 6.42 293
"110024" 86140 6.681 306 86139 6.681 305
"110024" 86147 6.885 313 86146 6.885 312
"110024" 86157 7.139 323 86156 7.139 322
"P0019" 183716 0.318 17 183715 0.318 16
"P0019" 183736 0.753 37 183735 0.753 36
"P0019" 183742 0.904 43 183741 0.904 42
"P0019" 183754 1.177 55 183753 1.177 54
"P0019" 183761 1.378 62 183760 1.378 61
"P0019" 183770 1.739 71 183769 1.739 70
"P0019" 183779 2.065 80 183778 2.065 79
"P0019" 183786 2.374 87 183785 2.374 86
"P0019" 183794 2.729 95 183793 2.729 94
"P0019" 183802 2.891 103 183801 2.891 102
"P0019" 183807 3.128 108 183806 3.128 107
"P0019" 183815 3.367 116 183814 3.367 115
"P0019" 183819 3.493 120 183818 3.493 119
"P0019" 183827 3.772 128 183826 3.772 127
"P0019" 183838 4.073 139 183837 4.073 138
"P0019" 183849 4.542 150 183848 4.542 149
"P0019" 183856 4.849 157 183855 4.849 156
"P0019" 183860 4.938 161 183859 4.938 160
"P0019" 183868 5.048 169 183867 5.048 168
"P0019" 183889 5.515 190 183888 5.515 189
"P0019" 183909 5.871 210 183908 5.871 209
"110023" 85557 0.312 22 85556 0.312 21
"110023" 85566 0.574 31 85565 0.574 30
"110023" 85575 0.816 40 85574 0.816 39
expired_calendar WARNING 22

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.
292 "chouette:TimeTable:7ecc353a-dd1b-4b11-9ba7-9861637a7c5f:LOC"
350 "chouette:TimeTable:b77aeaa5-f3a8-4306-b488-185fdd99c488:LOC"
309 "chouette:TimeTable:8334a1a2-601f-49d8-8fcd-abea1768d53e:LOC"
235 "chouette:TimeTable:c6870677-5b98-4d9a-8012-4016b82a05d2:LOC"
330 "chouette:TimeTable:66c55043-ec61-4254-90fe-37260ee4ca1d:LOC"
270 "chouette:TimeTable:d72d07df-d708-421d-afbf-09ea4b45155c:LOC"
355 "chouette:TimeTable:19df4fc2-a594-494b-88a6-563e99ec3070:LOC"
267 "chouette:TimeTable:a55e9dfc-1fce-4be3-8680-4818d3a4358f:LOC"
329 "chouette:TimeTable:7515d162-e540-448b-b7bf-6345ed859c6a:LOC"
80 "chouette:TimeTable:ed3fda28-d4ab-46bb-b74c-85bd1cdeb062:LOC"
222 "chouette:TimeTable:dc44bf8e-7f7c-42a9-bc95-71a27188eb6f:LOC"
252 "chouette:TimeTable:0dc2afbf-c5fb-4ada-8f1d-fb00a086c49e:LOC"
76 "chouette:TimeTable:9b6527d0-6414-4d95-9735-ccd0d3515b36:LOC"
263 "chouette:TimeTable:da29c13b-8703-49a0-822d-40de6394a522:LOC"
273 "chouette:TimeTable:939f4cc0-748b-428a-a146-a1dbbabf7ae8:LOC"
284 "chouette:TimeTable:25930638-f221-41b6-872c-fd81f9e0cced:LOC"
348 "chouette:TimeTable:38add233-2c11-4aac-aa87-bc1d026edec1:LOC"
88 "chouette:TimeTable:dafcde04-9cf1-41aa-80fb-a036e19673b3:LOC"
50 "chouette:TimeTable:78d771dd-7259-4e54-8e0c-54b6619d9020:LOC"
232 "chouette:TimeTable:2d3638df-a880-48f7-bc88-01e5dfcf1540:LOC"
177 "chouette:TimeTable:36c6c57a-bba8-4d9d-996c-9d4420472d10:LOC"
238 "chouette:TimeTable:22eb1546-fcba-4098-b4fa-e4ae8af9aeb0:LOC"
missing_feed_contact_email_and_url WARNING 1

missing_feed_contact_email_and_url

Best Practices for feed_info.txt suggest providing at least one of feed_contact_email and feed_contact_url.

You can see more about this notice here.

csvRowNumber (?) The row number of the validated record.
2
missing_recommended_column WARNING 1

missing_recommended_column

A recommended column is missing in the input file.

You can see more about this notice here.

filename (?) The name of the faulty file. fieldName (?) The name of the missing column.
"stop_times.txt" "timepoint"
missing_recommended_field WARNING 1

missing_recommended_field

A recommended field is missing.

The given field has no value in some input row, even though values are recommended.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) The name of the missing field.
"feed_info.txt" 2 "feed_version"
mixed_case_recommended_field WARNING 770

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 770 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" "JEAN NATALE" 936
"stops.txt" "stop_name" "11 nov" 1046
"stops.txt" "stop_name" "la calade" 1433
"routes.txt" "route_long_name" "602 _ NICE - MONACO" 124
"routes.txt" "route_long_name" "620 _ NICE - CANNES" 125
"routes.txt" "route_long_name" "622 _ NICE - VILLENEUVE LOUBET" 126
"routes.txt" "route_long_name" "650 _ NICE - GRASSE" 127
"routes.txt" "route_long_name" "671 _ BOUYON - CARROS" 128
"routes.txt" "route_long_name" "672 _ NICE - SIGALE" 129
"routes.txt" "route_long_name" "607 _ NICE- MONACO" 130
"routes.txt" "route_long_name" "6610 _ LA TRINITE - DRAP -CONTES" 131
"trips.txt" "trip_headsign" "GUSTAVIN / PARC VIGIER" 2392
"trips.txt" "trip_headsign" "GUSTAVIN / PARC VIGIER" 2434
"trips.txt" "trip_headsign" "GUSTAVIN / PARC VIGIER" 2473
"trips.txt" "trip_headsign" "GUSTAVIN / PARC VIGIER" 2522
"trips.txt" "trip_headsign" "GUSTAVIN / PARC VIGIER" 2551
"trips.txt" "trip_headsign" "GUSTAVIN / PARC VIGIER" 2574
"trips.txt" "trip_headsign" "GUSTAVIN / PARC VIGIER" 2634
"trips.txt" "trip_headsign" "LYCEE MASSENA" 2826
"trips.txt" "trip_headsign" "LYCEE MASSENA" 2852
"trips.txt" "trip_headsign" "LYCEE MASSENA" 2998
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3006
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3041
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3050
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3064
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3076
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3079
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3099
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3122
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3140
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3186
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3240
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3278
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3334
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3336
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3341
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3469
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3533
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3595
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3601
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3630
"trips.txt" "trip_headsign" "GUSTAVIN / PARC VIGIER" 3645
"trips.txt" "trip_headsign" "GUSTAVIN / PARC VIGIER" 3806
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3809
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3813
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3821
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3833
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3870
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3883
"trips.txt" "trip_headsign" "LYCEE MASSENA" 3905
route_color_contrast WARNING 3

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.
"F" 76 "#D4B69C" "#FFFFFF"
"SLV4" 89 "#C1DA32" "#FFFFFF"
"SLVB" 91 "#B6CF52" "#FFFFFF"
route_long_name_contains_short_name WARNING 9

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`.
"602" 124 "602" "602 _ NICE - MONACO"
"620" 125 "620" "620 _ NICE - CANNES"
"622" 126 "622" "622 _ NICE - VILLENEUVE LOUBET"
"650" 127 "650" "650 _ NICE - GRASSE"
"671" 128 "671" "671 _ BOUYON - CARROS"
"672" 129 "672" "672 _ NICE - SIGALE"
"607" 130 "607" "607 _ NICE- MONACO"
"6610" 131 "6610" "6610 _ LA TRINITE - DRAP -CONTES"
"ZOU_49" 132 "CP Zou" "CP Zou _ NICE - DIGNE"
unexpected_enum_value WARNING 10

unexpected_enum_value

An enum has an unexpected value.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row number of the faulty record. fieldName (?) The name of the field where the error occurred. fieldValue (?) Faulty value.
"routes.txt" 96 "route_type" 715
"routes.txt" 97 "route_type" 715
"routes.txt" 98 "route_type" 715
"routes.txt" 99 "route_type" 715
"routes.txt" 100 "route_type" 715
"routes.txt" 101 "route_type" 715
"routes.txt" 102 "route_type" 715
"routes.txt" 103 "route_type" 715
"routes.txt" 104 "route_type" 715
"routes.txt" 105 "route_type" 715