GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2025-12-13T10:11:54Z,
for the dataset file:///shared/autobuses-M89-015.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


  • Consorcio Regional de Transportes de Madrid

Feed Info


Publisher Name:
Consorcio Regional de Transportes de Madrid
Publisher URL:
https://www.crtm.es
Feed Email:
N/A
Feed Language:
Spanish
Feed Start Date:
N/A
Feed End Date:
N/A

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

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 11
  • Shapes: 48
  • Stops: 274
  • Trips: 1286

Specification Compliance report

3326 notices reported (0 errors, 3326 warnings, 0 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 29

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.

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.
"9__2__152__1_-_IT_1" 63259 2.846259243681 2000001 63258 2.846259243681 1000020 0.07953224247532867
"8__633____2_sn_IT_2" 52790 1818.08091620913 21000001 52789 1818.08091620913 20000292 0.09654473912622681
"8__630____2_-_IT_1" 13945 1324.5129167986 20000001 13944 1324.5129167986 19000053 0.04614254909511559
"8__630____2_-_IT_1" 14238 1541.94838733482 26000001 14237 1541.94838733482 25000032 0.19865699413991217
"8__630____2_ec_IT_2" 12361 1338.90253704158 21000001 12360 1338.90253704158 20000053 0.04614254909511559
"8__630____2_ec_IT_2" 12654 1556.3380075778 27000001 12653 1556.3380075778 26000032 0.22267544579424214
"9__1__152__1_-_IT_1" 61418 2.846259243681 2000001 61417 2.846259243681 1000020 0.07953224247532867
"9__1__152__1_-_IT_1" 61740 72.33662339493 12000001 61739 72.33662339493 11000025 0.050687772649205355
"8__633____1_cm_IT_2" 46539 848.478021276949 9000001 46538 848.478021276949 8000029 0.0026043872528650736
"8__633____1_cm_IT_2" 46627 910.876909762453 11000001 46626 910.876909762453 10000051 0.07481889093287099
"8__631____2_rb_IT_2" 34112 2778.58758761792 18000001 34111 2778.58758761792 17000347 0.08214204133939604
"8__631____2_rb_IT_2" 34145 2808.88803537842 19000001 34144 2808.88803537842 18000033 0.058198469020688565
"8__633____1_sn_IT_2" 48343 798.251342411513 8000001 48342 798.251342411513 7000029 0.0026043872528650736
"8__633____1_sn_IT_2" 48431 860.650230897018 10000001 48430 860.650230897018 9000051 0.07481889093287099
"8__632____2_pm_IT_2" 44498 120.061764966488 4000001 44497 120.061764966488 3000025 0.10797610015387302
"8__631____2_r._IT_2" 35632 2808.92582542032 19000001 35631 2808.92582542032 18000032 0.057972508890613256
"9__4__152__1_-_IT_1" 64225 2.846259243681 2000001 64224 2.846259243681 1000020 0.07953224247532867
"9__4__152__1_-_IT_1" 64547 72.33662339493 12000001 64546 72.33662339493 11000025 0.050687772649205355
"8__632____2_ce_IT_2" 40595 238.618691523589 7000001 40594 238.618691523589 6000025 0.10797610015387302
"9__5__152__1_-_IT_1" 66558 2.846259243681 2000001 66557 2.846259243681 1000020 0.07953224247532867
"9__5__152__1_-_IT_1" 66880 72.33662339493 12000001 66879 72.33662339493 11000025 0.050687772649205355
"8__630____2_pec_IT_2" 17302 982.746636593401 25000001 17301 982.746636593401 24000053 0.04614254909511559
"8__630____2_pec_IT_2" 17595 1200.18210712962 31000001 17594 1200.18210712962 30000032 0.22267544579424214
"8__630____2_c._IT_2" 10720 93.935833114459 10000001 10719 93.935833114459 9000053 0.04614254909511559
"8__634____1_-_IT_1" 53136 76.912725290323 7000001 53135 76.912725290323 6000014 0.0292483721722866
"8__630____2_pa_IT_2" 14565 69.221857251267 9000001 14564 69.221857251267 8000048 0.07774152256039259
"8__630____2_pa_IT_2" 15595 968.359585271909 24000001 15594 968.359585271909 23000053 0.04614254909511559
"8__630____2_pa_IT_2" 15888 1185.79505580813 30000001 15887 1185.79505580813 29000032 0.09927860810600517
"8__632____2_-_IT_1" 43115 120.061764966488 4000001 43114 120.061764966488 3000025 0.10797610015387302
equal_shape_distance_same_coordinates WARNING 955

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 955 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`.
"8__631____2_e._IT_2" 29119 7.11536764846 2000001 29118 7.11536764846 1000037
"8__631____2_e._IT_2" 29160 22.886129164206 3000001 29159 22.886129164206 2000041
"8__631____2_e._IT_2" 29192 28.089266226521 4000001 29191 28.089266226521 3000032
"8__631____2_e._IT_2" 29265 52.241436827258 5000001 29264 52.241436827258 4000073
"8__631____2_e._IT_2" 29296 56.545087018341 6000001 29295 56.545087018341 5000031
"8__631____2_e._IT_2" 29365 74.167988919029 7000001 29364 74.167988919029 6000069
"8__631____2_e._IT_2" 29443 122.872875902166 8000001 29442 122.872875902166 7000078
"8__631____2_e._IT_2" 29500 137.790955751824 9000001 29499 137.790955751824 8000057
"8__631____2_e._IT_2" 29538 145.165493027211 10000001 29537 145.165493027211 9000038
"8__631____2_e._IT_2" 29727 361.764468419503 11000001 29726 361.764468419503 10000189
"8__631____2_e._IT_2" 29846 439.052830314421 12000001 29845 439.052830314421 11000119
"8__631____2_e._IT_2" 29863 440.513400391843 13000001 29862 440.513400391843 12000017
"8__631____2_e._IT_2" 29891 444.903810289524 14000001 29890 444.903810289524 13000028
"8__631____2_e._IT_2" 30271 3736.25461511444 15000001 30270 3736.25461511444 14000380
"8__631____2_e._IT_2" 30358 3951.33452731327 16000001 30357 3951.33452731327 15000087
"8__631____1_A._IT_2" 17934 2121.62896917697 2000001 17933 2121.62896917697 1000306
"8__631____1_A._IT_2" 18838 11813.2859118114 3000001 18837 11813.2859118114 2000904
"8__631____1_A._IT_2" 18863 11815.4847148201 4000001 18862 11815.4847148201 3000025
"8__631____1_A._IT_2" 18957 11846.1389260973 5000001 18956 11846.1389260973 4000094
"8__631____1_A._IT_2" 19001 11858.2520602542 6000001 19000 11858.2520602542 5000044
"8__631____1_A._IT_2" 19034 11866.0851486642 7000001 19033 11866.0851486642 6000033
"9__2__152__1_-_IT_1" 63278 5.30750837172 3000001 63277 5.30750837172 2000019
"9__2__152__1_-_IT_1" 63284 5.938498360313 4000001 63283 5.938498360313 3000006
"9__2__152__1_-_IT_1" 63301 7.026581748346 5000001 63300 7.026581748346 4000017
"9__2__152__1_-_IT_1" 63323 8.600820750701 6000001 63322 8.600820750701 5000022
"9__2__152__1_-_IT_1" 63376 20.909074720676 7000001 63375 20.909074720676 6000053
"9__2__152__1_-_IT_1" 63404 29.409131437023 8000001 63403 29.409131437023 7000028
"9__2__152__1_-_IT_1" 63449 44.494580564322 9000001 63448 44.494580564322 8000045
"9__2__152__1_-_IT_1" 63506 53.60433729873 10000001 63505 53.60433729873 9000057
"9__2__152__1_-_IT_1" 63556 66.943006423615 11000001 63555 66.943006423615 10000050
"9__2__152__1_-_IT_1" 63592 76.084442691899 12000001 63591 76.084442691899 11000036
"9__2__152__1_-_IT_1" 63617 79.249216164846 13000001 63616 79.249216164846 12000025
"9__2__152__1_-_IT_1" 63649 85.199377733827 14000001 63648 85.199377733827 13000032
"9__2__152__1_-_IT_1" 63665 87.654416433762 15000001 63664 87.654416433762 14000016
"9__2__152__1_-_IT_1" 63707 95.173050337149 16000001 63706 95.173050337149 15000042
"9__2__152__1_-_IT_1" 63757 101.385902493705 17000001 63756 101.385902493705 16000050
"9__2__152__1_-_IT_1" 63790 106.08114932626 18000001 63789 106.08114932626 17000033
"9__2__152__1_-_IT_1" 63816 109.650334173635 19000001 63815 109.650334173635 18000026
"9__2__152__1_-_IT_1" 63841 112.872670154275 20000001 63840 112.872670154275 19000025
"9__2__152__1_-_IT_1" 63885 125.218771556304 21000001 63884 125.218771556304 20000044
"9__2__152__1_-_IT_1" 63938 134.648083717043 22000001 63937 134.648083717043 21000053
"9__2__152__1_-_IT_1" 64026 160.192133903645 23000001 64025 160.192133903645 22000088
"9__2__152__1_-_IT_1" 64060 166.781954541427 24000001 64059 166.781954541427 23000034
"9__2__152__1_-_IT_1" 64093 172.82553478931 25000001 64092 172.82553478931 24000033
"9__2__152__1_-_IT_1" 64125 176.7035271616 26000001 64124 176.7035271616 25000032
"9__2__152__1_-_IT_1" 64149 179.919013912318 27000001 64148 179.919013912318 26000024
"8__633____2_sn_IT_2" 51222 4.303650191083 2000001 51221 4.303650191083 1000031
"8__633____2_sn_IT_2" 51291 21.926552091771 3000001 51290 21.926552091771 2000069
"8__633____2_sn_IT_2" 51369 70.631439074908 4000001 51368 70.631439074908 3000078
"8__633____2_sn_IT_2" 51426 85.549518924566 5000001 51425 85.549518924566 4000057
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_field WARNING 2

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"
mixed_case_recommended_field WARNING 2339

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 2339 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" "COLMENAREJO - GALAPAGAR - EST. LA NAVATA" 6
"routes.txt" "route_long_name" "FFCC-PUEBLO-ÁREA HOMOGÉNEA SUR" 9
"routes.txt" "route_long_name" "FFCC-AVENIDA DEHESA-LOS ROBLES" 10
"routes.txt" "route_long_name" "FFCC-PUEBLO-LOS PEÑASCALES" 11
"stops.txt" "stop_name" "PZA.GUIJO-URB.EL GUIJO" 2
"stops.txt" "stop_name" "CTRA.EL ESCORIAL-PZA.CRUZ ROJA" 3
"stops.txt" "stop_name" "GABRIEL GªMÁRQUEZ-ANTONIO FDEZ.MARÍA" 4
"stops.txt" "stop_name" "CTRA.M510-URB.EL CERRILLO" 5
"stops.txt" "stop_name" "CAÑADA DE LAS MERINAS-CTRA.GALAPAGAR" 6
"stops.txt" "stop_name" "CAÑADA DE LAS MERINAS-CENTRO DE SALUD" 7
"stops.txt" "stop_name" "CAÑADA DE LAS MERINAS-CTRA.GALAPAGAR" 8
"stops.txt" "stop_name" "CTRA.CERRO ALARCÓN-URB.LOS PAJARILLOS" 9
"stops.txt" "stop_name" "NAVA-PZA.CRISTO" 10
"stops.txt" "stop_name" "SAN JUAN-FÁBRICA HARINAS" 11
"stops.txt" "stop_name" "CºMINA DE FALCÓ-CAMPING VALDEMORILLO" 12
"stops.txt" "stop_name" "CºMINA DE FALCÓ-CAMPING VALDEMORILLO" 13
"stops.txt" "stop_name" "CTRA.CERRO ALARCÓN-URB.LOS PAJARILLOS" 14
"stops.txt" "stop_name" "GUADARRAMA-AYUNTAMIENTO" 15
"stops.txt" "stop_name" "GUADARRAMA-CENTRO CULTURAL" 16
"stops.txt" "stop_name" "GUADARRAMA-CENTRO CULTURAL" 17
"stops.txt" "stop_name" "CTRA.M510-COLONIA ESPAÑA" 18
"stops.txt" "stop_name" "CTRA.M510-COLONIA ESPAÑA" 19
"stops.txt" "stop_name" "AZUELA-BURIL" 20
"stops.txt" "stop_name" "AZUELA-BURIL" 21
"stops.txt" "stop_name" "ESCOFINA-C.C.LOS OLIVOS" 22
"stops.txt" "stop_name" "ESCOFINA-C.C.LOS OLIVOS" 23
"stops.txt" "stop_name" "GABRIEL GªMÁRQUEZ-29 DE OCTUBRE" 24
"stops.txt" "stop_name" "GABRIEL GªMÁRQUEZ-CENTRO PROFESORADO" 25
"stops.txt" "stop_name" "GUADARRAMA-AYUNTAMIENTO" 26
"stops.txt" "stop_name" "CTRA.VALDEMORILLO-IGLESIA" 27
"stops.txt" "stop_name" "CTRA.VALDEMORILLO-IGLESIA" 28
"stops.txt" "stop_name" "CTRA.M510-EMBALSE VALMAYOR" 29
"stops.txt" "stop_name" "CTRA.M510-CENTRO DE TRABAJO VALMAYOR" 30
"stops.txt" "stop_name" "CTRA.M510-URB.PINO ALTO" 31
"stops.txt" "stop_name" "CTRA.M510-URB.PINO ALTO" 32
"stops.txt" "stop_name" "RAMÓN GAMONAL-CENTRO DE SALUD" 33
"stops.txt" "stop_name" "AV.PINO ALTO-VALMAYOR" 34
"stops.txt" "stop_name" "AV.PINO ALTO-AV.NORTE" 35
"stops.txt" "stop_name" "AV.PINO ALTO-AV.NORTE" 36
"stops.txt" "stop_name" "AV.PINO ALTO-VALMAYOR" 37
"stops.txt" "stop_name" "CTRA.VALDEMORILLO-URB.FUENTE DEL CONEJO" 38
"stops.txt" "stop_name" "CTRA.VALDEMORILLO-URB.FUENTE DEL CONEJO" 39
"stops.txt" "stop_name" "CTRA.M510-URB.CONGOSTO" 40
"stops.txt" "stop_name" "CTRA.M510-URB.CONGOSTO" 41
"stops.txt" "stop_name" "CTRA.GUADARRAMA-URB.LA HERRADURA" 42
"stops.txt" "stop_name" "PEDRIZA-CEMENTERIO VIEJO" 43
"stops.txt" "stop_name" "PEDRIZA-CEMENTERIO VIEJO" 44
"stops.txt" "stop_name" "CTRA.GUADARRAMA-PERALEDA" 45
"stops.txt" "stop_name" "CTRA.GUADARRAMA-PERALEDA" 46
"stops.txt" "stop_name" "CTRA.GUADARRAMA-URB.LA HERRADURA" 47