GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2025-12-13T01:46:53Z,
for the dataset file:///shared/stav-vigevano-s-p-a.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: 200
  • Routes: 12
  • Shapes: 89
  • Stops: 293
  • Trips: 2367

Specification Compliance report

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

Notice Code Severity Total
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 613

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 613 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.
"44" 29241 9002.0 236 29240 9002.0 235 9.924548166046374E-10
"44" 29248 9081.0 243 29247 9081.0 242 0.004932876032016006
"44" 29271 9372.0 266 29270 9372.0 265 9.924614572401735E-10
"44" 29425 17649.0 420 29424 17649.0 419 9.927748007528166E-10
"44" 29607 25269.0 602 29606 25269.0 601 0.0032006813589493233
"44" 29747 28178.0 742 29746 28178.0 741 0.2986046719464735
"44" 29748 28178.0 743 29747 28178.0 742 9.932779255413478E-10
"44" 29774 28490.0 769 29773 28490.0 768 0.697631968624888
"44" 29850 30277.0 845 29849 30277.0 844 0.0034890798388647858
"44" 29851 30277.0 846 29850 30277.0 845 0.5616697010123509
"88" 54291 1704.0 66 54290 1704.0 65 0.0034890798388647858
"88" 54522 6627.0 297 54521 6627.0 296 0.004020729016508647
"88" 54542 7099.0 317 54541 7099.0 316 0.004444026647548166
"88" 54613 9553.0 388 54612 9553.0 387 0.005130535338998097
"88" 54621 10182.0 396 54620 10182.0 395 0.0038372133071609645
"88" 54698 14350.0 473 54697 14350.0 472 0.001688467037492365
"88" 54700 14350.0 475 54699 14350.0 474 0.001688467037492365
"88" 54886 22371.0 661 54885 22371.0 660 9.924409159788708E-10
"88" 54910 22777.0 685 54909 22777.0 684 0.4373684745719269
"88" 54927 23112.0 702 54926 23112.0 701 0.001260329596055485
"88" 54976 23847.0 751 54975 23847.0 750 8.683141954633536E-10
"88" 55092 29129.0 867 55091 29129.0 866 0.002790969169883946
"45" 30162 4686.0 245 30161 4686.0 244 0.004020729016508647
"45" 30182 5158.0 265 30181 5158.0 264 0.004444026647548166
"45" 30251 7601.0 334 30250 7601.0 333 0.6134755178567758
"45" 30253 7613.0 336 30252 7613.0 335 0.005130535338998097
"45" 30261 8242.0 344 30260 8242.0 343 0.0038372133071609645
"45" 30320 10334.0 403 30319 10334.0 402 0.23752490015578506
"45" 30453 15567.0 536 30452 15567.0 535 9.924409159788708E-10
"45" 30532 17264.0 615 30531 17264.0 614 0.001974173274425286
"45" 30545 17744.0 628 30544 17744.0 627 9.923362568252262E-10
"45" 30562 18156.0 645 30561 18156.0 644 0.46065070358089694
"45" 30604 18836.0 687 30603 18836.0 686 9.923601875141166E-10
"45" 30701 21021.0 784 30700 21021.0 783 0.1410143566820212
"89" 55280 7257.0 188 55279 7257.0 187 9.924548166046374E-10
"89" 55287 7336.0 195 55286 7336.0 194 0.004932876032016006
"89" 55310 7627.0 218 55309 7627.0 217 9.924614572401735E-10
"89" 55464 15903.0 372 55463 15903.0 371 9.927748007528166E-10
"89" 55646 23523.0 554 55645 23523.0 553 0.0032006813589493233
"89" 55786 26433.0 694 55785 26433.0 693 0.2986046719464735
"89" 55787 26433.0 695 55786 26433.0 694 9.932779255413478E-10
"46" 30807 127.0 11 30806 127.0 10 9.92916962626338E-10
"46" 30810 128.0 14 30809 128.0 13 0.9209455954053972
"47" 30968 127.0 11 30967 127.0 10 9.92916962626338E-10
"47" 30971 128.0 14 30970 128.0 13 0.9209455954053972
"48" 31084 0.0 2 31083 0.0 1 0.250208463688834
"48" 31194 4515.0 112 31193 4515.0 111 0.6813250199995
"48" 31205 4786.0 123 31204 4786.0 122 0.2677749980892362
"48" 31233 5455.0 151 31232 5455.0 150 1.2190868918479411E-9
"49" 31283 127.0 11 31282 127.0 10 9.92916962626338E-10
equal_shape_distance_same_coordinates WARNING 1916

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 1916 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`.
"44" 29136 7015.0 131 29135 7015.0 130
"44" 29139 7044.0 134 29138 7044.0 133
"44" 29168 7972.0 163 29167 7972.0 162
"44" 29177 8257.0 172 29176 8257.0 171
"44" 29178 8257.0 173 29177 8257.0 172
"44" 29249 9081.0 244 29248 9081.0 243
"44" 29334 13194.0 329 29333 13194.0 328
"44" 29354 13867.0 349 29353 13867.0 348
"44" 29360 14797.0 355 29359 14797.0 354
"44" 29422 17549.0 417 29421 17549.0 416
"44" 29429 17733.0 424 29428 17733.0 423
"44" 29433 17801.0 428 29432 17801.0 427
"44" 29438 17839.0 433 29437 17839.0 432
"44" 29512 21811.0 507 29511 21811.0 506
"44" 29518 22432.0 513 29517 22432.0 512
"44" 29556 24444.0 551 29555 24444.0 550
"44" 29578 24745.0 573 29577 24745.0 572
"44" 29595 24986.0 590 29594 24986.0 589
"44" 29606 25269.0 601 29605 25269.0 600
"44" 29786 28604.0 781 29785 28604.0 780
"44" 29787 28604.0 782 29786 28604.0 781
"44" 29815 29192.0 810 29814 29192.0 809
"44" 29826 29528.0 821 29825 29528.0 820
"44" 29832 29775.0 827 29831 29775.0 826
"44" 29842 30084.0 837 29841 30084.0 836
"44" 29849 30277.0 844 29848 30277.0 843
"88" 54262 660.0 37 54261 660.0 36
"88" 54273 1203.0 48 54272 1203.0 47
"88" 54283 1511.0 58 54282 1511.0 57
"88" 54290 1704.0 65 54289 1704.0 64
"88" 54346 3305.0 121 54345 3305.0 120
"88" 54347 3305.0 122 54346 3305.0 121
"88" 54348 3305.0 123 54347 3305.0 122
"88" 54523 6627.0 298 54522 6627.0 297
"88" 54537 6961.0 312 54536 6961.0 311
"88" 54541 7099.0 316 54540 7099.0 315
"88" 54614 9553.0 389 54613 9553.0 388
"88" 54620 10182.0 395 54619 10182.0 394
"88" 54699 14350.0 474 54698 14350.0 473
"88" 54754 17138.0 529 54753 17138.0 528
"88" 54755 17138.0 530 54754 17138.0 529
"88" 54760 17951.0 535 54759 17951.0 534
"88" 54773 18248.0 548 54772 18248.0 547
"88" 54808 20553.0 583 54807 20553.0 582
"88" 54841 21864.0 616 54840 21864.0 615
"88" 54863 22165.0 638 54862 22165.0 637
"88" 54909 22777.0 684 54908 22777.0 683
"88" 54919 22832.0 694 54918 22832.0 693
"88" 54926 23112.0 701 54925 23112.0 700
"45" 29954 660.0 37 29953 660.0 36
expired_calendar WARNING 7

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.
2 "1"
3 "2"
4 "3"
5 "4"
6 "5"
7 "6"
8 "7"
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 146

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 146 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" "MAGENTA-ABBIATEGRASSO" 2
"routes.txt" "route_long_name" "ABBIATEGRASSO - GUDO -MILANO" 3
"routes.txt" "route_long_name" "MOTTA VISCONTI - ABBIATEGRASSO" 5
"routes.txt" "route_long_name" "ABBIATEGRASSO-ROSATE-MILANO" 6
"routes.txt" "route_long_name" "GAGGIANO - SAN VITO" 9
"routes.txt" "route_long_name" "BUBBIANO - ROSATE - ALBAIRATE" 10
"routes.txt" "route_long_name" "BINASCO - CASORATE - ROSATE - ABBIATEGRASSO" 11
"routes.txt" "route_long_name" "S. STEFANO - ALBAIRATE - ABBIATEGRASSO" 12
"routes.txt" "route_long_name" "ABBIATEGRASSO - ALBAIRATE - MILANO BISCEGLIE" 13
"stops.txt" "stop_name" "VECCHIA SORIA" 5
"stops.txt" "stop_name" "ZELO SURRIGONE SP 30" 28
"stops.txt" "stop_name" "ZELO SURRIGONE SP 30" 54
"stops.txt" "stop_name" "GUDO VISCONTI SP 30" 96
"stops.txt" "stop_name" "SAN VITO" 101
"stops.txt" "stop_name" "NOVIGLIO sp 203" 107
"stops.txt" "stop_name" "MAIRANO sp 203" 152
"stops.txt" "stop_name" "GUDO VISCONTI SP 30" 212
"stops.txt" "stop_name" "VECCHIA SORIA" 276
"trips.txt" "trip_headsign" "SAN VITO" 66
"trips.txt" "trip_headsign" "SAN VITO" 92
"trips.txt" "trip_headsign" "SAN VITO" 106
"trips.txt" "trip_headsign" "SAN VITO" 116
"trips.txt" "trip_headsign" "SAN VITO" 128
"trips.txt" "trip_headsign" "SAN VITO" 163
"trips.txt" "trip_headsign" "SAN VITO" 226
"trips.txt" "trip_headsign" "SAN VITO" 264
"trips.txt" "trip_headsign" "SAN VITO" 335
"trips.txt" "trip_headsign" "SAN VITO" 364
"trips.txt" "trip_headsign" "SAN VITO" 438
"trips.txt" "trip_headsign" "SAN VITO" 494
"trips.txt" "trip_headsign" "SAN VITO" 552
"trips.txt" "trip_headsign" "SAN VITO" 572
"trips.txt" "trip_headsign" "SAN VITO" 613
"trips.txt" "trip_headsign" "SAN VITO" 615
"trips.txt" "trip_headsign" "SAN VITO" 621
"trips.txt" "trip_headsign" "SAN VITO" 624
"trips.txt" "trip_headsign" "SAN VITO" 687
"trips.txt" "trip_headsign" "SAN VITO" 688
"trips.txt" "trip_headsign" "SAN VITO" 691
"trips.txt" "trip_headsign" "SAN VITO" 700
"trips.txt" "trip_headsign" "SAN VITO" 707
"trips.txt" "trip_headsign" "SAN VITO" 736
"trips.txt" "trip_headsign" "SAN VITO" 773
"trips.txt" "trip_headsign" "SAN VITO" 782
"trips.txt" "trip_headsign" "SAN VITO" 786
"trips.txt" "trip_headsign" "SAN VITO" 805
"trips.txt" "trip_headsign" "SAN VITO" 823
"trips.txt" "trip_headsign" "SAN VITO" 841
"trips.txt" "trip_headsign" "SAN VITO" 844
"trips.txt" "trip_headsign" "SAN VITO" 881
trip_coverage_not_active_for_next7_days WARNING 1

trip_coverage_not_active_for_next7_days

Trips data should be valid for at least the next seven days.

This notice is triggered if the date range where a significant number of trips are running ends in less than 7 days.

You can see more about this notice here.

currentDate (?) Current date (YYYYMMDD format). serviceWindowStartDate (?) The start date of the majority service window. serviceWindowEndDate (?) The end date of the majority service window.
"20251213" "20251001" "20251031"