GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 5.0.1 at 2024-06-08T09:21:43Z,
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:
Mobilités M - cars Région
Publisher URL:
https://www.mobilites-m.fr/
Feed Language:
French

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_dates.txt
  4. fare_attributes.txt
  5. fare_rules.txt
  6. feed_info.txt
  7. frequencies.txt
  8. routes.txt
  9. shapes.txt
  10. stop_times.txt
  11. stops.txt
  12. transfers.txt
  13. trips.txt

Counts


  • Agencies: 1
  • Blocks: 1
  • Routes: 239
  • Shapes: 128
  • Stops: 6202
  • Trips: 2561

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


Fares V1ShapesFeed InformationRoute ColorsHeadsignsWheelchair AccessibilityBikes AllowanceLocation Types

Specification Compliance report

5058 notices reported (6 errors, 5051 warnings, 1 infos)

Notice Code Severity Total
decreasing_shape_distance ERROR 6

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.

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`.
"C38_T61_8" 94014 3225.37 41 94015 2164.57 42
"C38_T61_8" 94016 3251.02 43 94017 2059.04 44
"C38_T61_8" 94017 2059.04 44 94018 1965.24 45
"C38_T61_8" 94023 3648.75 50 94024 1705.17 51
"C38_T61_8" 94177 22209.3 204 94178 22184.01 205
"C38_T61_2" 83073 6400.71 69 83074 6362.24 70
equal_shape_distance_same_coordinates WARNING 4737

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 4737 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`.
"C38_T88_2" 102797 11042.81 167 102796 11042.81 166
"C38_T92_1" 44726 5.2 3 44725 5.2 2
"C38_T92_1" 44733 114.63 10 44732 114.63 9
"C38_T92_1" 44735 136.18 12 44734 136.18 11
"C38_T92_1" 44738 185.16 15 44737 185.16 14
"C38_T92_1" 44741 287.86 18 44740 287.86 17
"C38_T92_1" 44743 340.44 20 44742 340.44 19
"C38_T92_1" 44745 346.73 22 44744 346.73 21
"C38_T92_1" 44749 488.69 26 44748 488.69 25
"C38_T92_1" 44751 602.69 28 44750 602.69 27
"C38_T92_1" 44754 824.12 31 44753 824.12 30
"C38_T92_1" 44756 885.84 33 44755 885.84 32
"C38_T92_1" 44767 2673.24 44 44766 2673.24 43
"C38_T92_1" 44770 2709.99 47 44769 2709.99 46
"C38_T92_1" 44774 2776.18 51 44773 2776.18 50
"C38_T92_1" 44776 2814.13 53 44775 2814.13 52
"C38_T92_1" 44782 2954.75 59 44781 2954.75 58
"C38_T92_1" 44784 3063.59 61 44783 3063.59 60
"C38_T92_1" 44786 3120.08 63 44785 3120.08 62
"C38_T92_1" 44788 3139.28 65 44787 3139.28 64
"C38_T92_1" 44796 3517.25 73 44795 3517.25 72
"C38_T92_1" 44800 3650.83 77 44799 3650.83 76
"C38_T92_1" 44805 3698.79 82 44804 3698.79 81
"C38_T92_1" 44810 3824.62 87 44809 3824.62 86
"C38_T92_1" 44812 3831.52 89 44811 3831.52 88
"C38_T92_1" 44815 3957.38 92 44814 3957.38 91
"C38_T92_1" 44821 4066.08 98 44820 4066.08 97
"C38_T92_1" 44826 4322.96 103 44825 4322.96 102
"C38_T92_1" 44831 4373.93 108 44830 4373.93 107
"C38_T92_1" 44833 4394.28 110 44832 4394.28 109
"C38_T92_1" 44837 4480.58 114 44836 4480.58 113
"C38_T92_1" 44841 4556.96 118 44840 4556.96 117
"C38_T92_1" 44848 4788.8 125 44847 4788.8 124
"C38_T92_1" 44850 4827.94 127 44849 4827.94 126
"C38_T92_1" 44853 4847.09 130 44852 4847.09 129
"C38_T92_1" 44856 4904.92 133 44855 4904.92 132
"C38_T92_1" 44862 5215.58 139 44861 5215.58 138
"C38_T92_1" 44864 5271.26 141 44863 5271.26 140
"C38_T92_1" 44869 5308.05 146 44868 5308.05 145
"C38_T92_1" 44871 5349.03 148 44870 5349.03 147
"C38_T92_1" 44873 5390.23 150 44872 5390.23 149
"C38_T92_1" 44879 5600.8 156 44878 5600.8 155
"C38_T92_1" 44885 5834.3 162 44884 5834.3 161
"C38_T92_1" 44887 5887.0 164 44886 5887.0 163
"C38_T92_1" 44890 5954.34 167 44889 5954.34 166
"C38_T92_1" 44893 6034.99 170 44892 6034.99 169
"C38_T92_1" 44896 6092.83 173 44895 6092.83 172
"C38_T92_1" 44900 6154.69 177 44899 6154.69 176
"C38_T92_1" 44902 6197.59 179 44901 6197.59 178
"C38_T92_1" 44907 6251.95 184 44906 6251.95 183
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 10

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_start_date"
"feed_info.txt" 2 "feed_end_date"
"feed_info.txt" 2 "feed_version"
"fare_attributes.txt" 2 "agency_id"
"fare_attributes.txt" 3 "agency_id"
"fare_attributes.txt" 4 "agency_id"
"fare_attributes.txt" 5 "agency_id"
"fare_attributes.txt" 6 "agency_id"
"fare_attributes.txt" 7 "agency_id"
"fare_attributes.txt" 8 "agency_id"
mixed_case_recommended_field WARNING 269

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

filename (?) Name of the faulty file. fieldName (?) Name of the faulty field. fieldValue (?) Faulty value. csvRowNumber (?) The row number of the faulty record.
"routes.txt" "route_long_name" "PRIMAIRE VENOSC" 2
"routes.txt" "route_long_name" "VAUJANY-OZ-ALLEMONT-BOURG D'OISANS" 3
"routes.txt" "route_long_name" "LA PAUTE-BOURG D'OISANS" 4
"routes.txt" "route_long_name" "LE BASSEY-LE VERT-BOURG D'OISANS" 5
"routes.txt" "route_long_name" "VENOSC-BOURG D'OISANS" 6
"routes.txt" "route_long_name" "ORNON-BOURG D'OISANS" 7
"routes.txt" "route_long_name" "AURIS-MIZOEN-LE FRENEY-BOURG D'OISANS" 8
"routes.txt" "route_long_name" "CORDEAC-ST SEBASTIEN-ST JEAN D'HERANS (C" 9
"routes.txt" "route_long_name" "RPI LALLEY-ST MAURICE-MONESTIER DU PERCY" 10
"routes.txt" "route_long_name" "PRIMAIRE LE PERCY-CLELLES" 11
"routes.txt" "route_long_name" "COL DE ST SEBASTIEN-MENTEYRE-MENS" 12
"routes.txt" "route_long_name" "ST MAURICE EN TRIEVES-PREBOIS-MENS" 13
"routes.txt" "route_long_name" "LE PERCY-PREBOIS (CORRES. MENS)" 14
"routes.txt" "route_long_name" "PRIMAIRE MONESTIER DU PERCY-ST MAURICE E" 15
"routes.txt" "route_long_name" "ST JEAN D'HERANS-MENS" 16
"routes.txt" "route_long_name" "CHICHILIANNE-CLELLES-MENS" 17
"routes.txt" "route_long_name" "ST BAUDILLE ET PIPET (LE PERRIER)-MENS" 18
"routes.txt" "route_long_name" "ST MARTIN DE CLELLES-CLELLES ECOLES" 19
"routes.txt" "route_long_name" "CORDEAC-SAINT SEBASTIEN-MENS" 20
"routes.txt" "route_long_name" "NANTES EN RATIER-ST HONORE-LA MURE" 21
"routes.txt" "route_long_name" "PRIMAIRE SUSVILLE" 22
"routes.txt" "route_long_name" "ST JULIEN DE RATZ-ST JOSEPH DE RIVIERE" 23
"routes.txt" "route_long_name" "PRIMAIRE LIVET ET GAVET" 24
"routes.txt" "route_long_name" "ST NIZIER-LANS EN V.-VILLARD DE LANS" 25
"routes.txt" "route_long_name" "LA MOTTE ST MARTIN-LA MOTTE D'AVEILLANS" 26
"routes.txt" "route_long_name" "LAFFREY-LA MOTTE D'AVEILLANS" 27
"routes.txt" "route_long_name" "PRIMAIRE L'ALPE-D'HUEZ" 28
"routes.txt" "route_long_name" "VIZILLE-LAFFREY-SUSVILLE-LA MURE" 29
"routes.txt" "route_long_name" "PRIMAIRE VAUJANY-ALLEMONT" 30
"routes.txt" "route_long_name" "ST GEOIRE EN VALDAINE-PONT DE BEAUVOISIN" 31
"routes.txt" "route_long_name" "BIZONNES-OYEU-VOIRON" 32
"routes.txt" "route_long_name" "LA FRETTE-COLOMBE-VOIRON" 33
"routes.txt" "route_long_name" "BOURG D'OISANS-VIZILLE" 34
"routes.txt" "route_long_name" "LA MURE-LAFFREY-VIZILLE" 35
"routes.txt" "route_long_name" "LA MURE-LA MOTTE D'AVEILLANS-VIZILLE" 36
"routes.txt" "route_long_name" "CHAMROUSSE-VIZILLE" 37
"routes.txt" "route_long_name" "VIENNE-GRENOBLE" 38
"routes.txt" "route_long_name" "ST MARTIN D'URIAGE-GIERES-ST M.D'HERES" 39
"routes.txt" "route_long_name" "RPI NOTRE DAME DE VAULX-ST JEAN DE VAULX" 40
"routes.txt" "route_long_name" "COLOMBE-LE GRAND LEMPS" 41
"routes.txt" "route_long_name" "TENCIN-LE VERSOUD-ST MARTIN D'HERES" 42
"routes.txt" "route_long_name" "BIVIERS-MONTBONNOT-MEYLAN" 43
"routes.txt" "route_long_name" "RIOUPEROUX-LIVET-BOURG D'OISANS" 44
"routes.txt" "route_long_name" "ST VINCENT DE MERCUZE-CROLLES-CORENC" 45
"routes.txt" "route_long_name" "CHAMP PRES FROGES-BRIGNOUD-DOMENE" 46
"routes.txt" "route_long_name" "GONCELIN-BRIGNOUD-CORENC" 47
"routes.txt" "route_long_name" "BEAULIEU-VINAY" 48
"routes.txt" "route_long_name" "RPI ST GERVAIS-ROVON-COGNIN" 49
"routes.txt" "route_long_name" "COGNIN-ROVON-ST GERVAIS-VINAY" 50
"routes.txt" "route_long_name" "RPI TECHE-BEAULIEU" 51
stop_too_far_from_shape WARNING 11

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.
93 "C38_T61_8" "T6103|1" 12335 "11130" "Pont-en-Royans, COLLEGE RAYMOND GUELEN" [45.06230281177837,5.341029179623031] 155.49399596837586
445 "C38_T62_1" "T6216|3" 13678 "20756" "Moirans, RUE KERDREAN" [45.3256731597471,5.562723541574413] 134.5103587808609
774 "C38_T55_9" "T5540|1" 11601 "20079" "Saint-Siméon-de-Bressieux, P+R LE RIVAL" [45.35005231402682,5.278742248617115] 105.13132358398947
636 "C38_T40_6" "T4004|1" 8418 "13404" "Saint-Égrève, SAN MARINO BARRAGE" [45.236418005898436,5.663059062211731] 160.6260493201291
1351 "C38_T75_9" "T7527|1" 19017 "20287" "Vizille, LES FORGES" [45.077490014772415,5.766700000000001] 144.47753401427096
136 "C38_T75_6" "T7514|4" 18868 "20710" "Livet-et-Gavet, LIVET RD1091" [45.107046890480824,5.93303181327237] 125.974356527449
1611 "C38_T75_4" "T7523|2" 18928 "20287" "Vizille, LES FORGES" [45.07631045991387,5.767981864832492] 138.2872878595791
1163 "C38_T87_3" "T8702|1" 31496 "12801" "Grenoble, VICTOR HUGO" [45.18940301087363,5.722552534961389] 164.93946180916308
33 "C38_X08_2" "X0808|4" 51955 "20079" "Saint-Siméon-de-Bressieux, P+R LE RIVAL" [45.349992433305495,5.278729677738673] 111.62414444029598
435 "C38_T41_4" "T4103|16" 9154 "15663" "Saint-Laurent-du-Pont, GARE ROUTIERE" [45.38735400048607,5.733179997873753] 103.85873122460599
320 "C38_T41_1" "T4100|18" 8848 "15663" "Saint-Laurent-du-Pont, GARE ROUTIERE" [45.38735400048607,5.733179997873753] 103.85873122460599
stops_match_shape_out_of_order WARNING 22

stops_match_shape_out_of_order

Two stop entries are different than their arrival-departure order defined by shapes.txt.

This could indicate a problem with the location of the stops, the path of the shape, or the sequence of the stops for their trip.

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the faulty record from `trips.txt`. shapeId (?) The id of the shape that is referred to. tripId (?) The id of the trip that is referred to. stopTimeCsvRowNumber1 (?) The row number of the first faulty record from `stop_times.txt`. stopId1 (?) The id of the first stop that is referred to. stopName1 (?) The name of the first stop that is referred to. match1 (?) Latitude and longitude pair of the first matching location. stopTimeCsvRowNumber2 (?) The row number of the second faulty record from `stop_times.txt`. stopId2 (?) The id of the second stop that is referred to. stopName2 (?) The name of the second stop that is referred to. match2 (?) Latitude and longitude pair of the second matching location.
1482 "C38_T92_1" "T9202|1" 35587 "10758" "La Motte-d'Aveillans, MAIRIE-RD529" [44.96199019012495,5.744006463927374] 35586 "10764" "La Motte-d'Aveillans, COLLEGE VALLON DES MOTTES" [44.96199789507901,5.7442684298262305]
945 "C38_T92_2" "T9227|1" 35899 "10764" "La Motte-d'Aveillans, COLLEGE VALLON DES MOTTES" [44.96199789507901,5.7442684298262305] 35898 "10765" "La Motte-d'Aveillans, COLLEGE VALLON DES MOTTES" [44.96199000000523,5.7439199997595]
1295 "C38_T55_8" "T5527|1" 11502 "14766" "Izeaux, PHARMACIE" [45.333846641996374,5.426566720222661] 11501 "14759" "Izeaux, GARAGE REGUILLON" [45.341384024741615,5.42304597530119]
1904 "C38_T55_8" "T5545|1" 11632 "14766" "Izeaux, PHARMACIE" [45.333846641996374,5.426566720222661] 11631 "14759" "Izeaux, GARAGE REGUILLON" [45.341384024741615,5.42304597530119]
2150 "C38_T55_8" "T5517|1" 11457 "14752" "Izeaux, REPUBLIQUE" [45.33502475176801,5.42410372554292] 11456 "14759" "Izeaux, GARAGE REGUILLON" [45.341384024741615,5.42304597530119]
2384 "C38_T55_8" "T5539|1" 11589 "14752" "Izeaux, REPUBLIQUE" [45.33502475176801,5.42410372554292] 11588 "14759" "Izeaux, GARAGE REGUILLON" [45.341384024741615,5.42304597530119]
2469 "C38_T55_8" "T5533|1" 11545 "14752" "Izeaux, REPUBLIQUE" [45.33502475176801,5.42410372554292] 11544 "14759" "Izeaux, GARAGE REGUILLON" [45.341384024741615,5.42304597530119]
1678 "C38_T55_9" "T5552|1" 11657 "15414" "La Côte-Saint-André, CITE SCOLAIRE" [45.39094305494161,5.26339443256702] 11656 "15432" "La Côte-Saint-André, LEGTA" [45.387335808150155,5.267613118716619]
1075 "C38_T93_1" "T9300|1" 36174 "10561" "La Mure, COLLEGE LOUIS MAUBERRET" [44.898268943946015,5.791003259250513] 36173 "10531" "La Mure, DR.RICARD" [44.90391999999999,5.7915]
399 "C38_T82_2" "T8201|1" 28465 "13653" "Saint-Nazaire-les-Eymes, GARE" [45.25080640371005,5.852452700880206] 28464 "13655" "Saint-Nazaire-les-Eymes, MAIRIE" [45.24743559660682,5.851652827486869]
941 "C38_T90_3" "T9009|1" 32970 "10560" "La Mure, COLLEGE LOUIS MAUBERRET" [44.89819126766855,5.790994863182888] 32969 "10531" "La Mure, DR.RICARD" [44.903990327910705,5.791438626561541]
2166 "C38_T90_3" "T9021|1" 33536 "10548" "La Mure, REPUBLIQUE" [44.902496004894076,5.785208399609931] 33535 "10531" "La Mure, DR.RICARD" [44.903990327910705,5.791438626561541]
1479 "C38_T90_4" "T9032|1" 33740 "10531" "La Mure, DR.RICARD" [44.903981189073356,5.7914779938929355] 33739 "10560" "La Mure, COLLEGE LOUIS MAUBERRET" [44.89820150140181,5.790973651960326]
178 "C38_T90_7" "T9000|4" 32521 "20285" "Vizille, Chantefeuille" [45.08060862300977,5.7746658835657865] 32520 "11790" "Vizille, L'Alliance" [45.08187045702618,5.768821257830496]
509 "C38_T90_8" "T9007|1" 32918 "10548" "La Mure, REPUBLIQUE" [44.90250881748844,5.785189141418285] 32917 "10531" "La Mure, DR.RICARD" [44.903981471858714,5.791481382497913]
2473 "C38_T90_1" "T9002|1" 32620 "10531" "La Mure, DR.RICARD" [44.903996519912376,5.791414164344395] 32619 "10560" "La Mure, COLLEGE LOUIS MAUBERRET" [44.898206848855274,5.790960919318995]
1608 "C38_T90_2" "T9023|1" 33585 "10548" "La Mure, REPUBLIQUE" [44.90250881748844,5.785189141418285] 33584 "10531" "La Mure, DR.RICARD" [44.903981471858714,5.791481382497913]
2243 "C38_T41_5" "T4105|1" 9319 "15599" "Voiron, GARE ROUTIERE NORD" [45.365017380523796,5.59358729655109] 9318 "15586" "Voiron, GENERAL LECLERC" [45.36615508772331,5.591123473377458]
172 "C38_T41_4" "T4107|2" 9401 "15599" "Voiron, GARE ROUTIERE NORD" [45.36503711376445,5.593608137105564] 9400 "15586" "Voiron, GENERAL LECLERC" [45.3661598791634,5.590988567950777]
1419 "C38_T41_4" "T4119|1" 9522 "15599" "Voiron, GARE ROUTIERE NORD" [45.36503711376445,5.593608137105564] 9521 "15586" "Voiron, GENERAL LECLERC" [45.3661598791634,5.590988567950777]
101 "C38_T60_4" "T6001|1" 12180 "11128" "Pont-en-Royans, STADE" [45.06408999999999,5.33696] 12179 "11130" "Pont-en-Royans, COLLEGE RAYMOND GUELEN" [45.06369,5.34137]
2335 "C38_T41_2" "T4101|1" 9038 "15599" "Voiron, GARE ROUTIERE NORD" [45.36499538946609,5.593575714370297] 9037 "15586" "Voiron, GENERAL LECLERC" [45.36615610827196,5.591153458991169]
unknown_column INFO 1

unknown_column

A column name is unknown.

You can see more about this notice here.

filename (?) The name of the faulty file. fieldName (?) The name of the unknown column. index (?) The index of the faulty column.
"feed_info.txt" "feed_id" 4