mtgtfs — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-08-01T11:32:33Z,
for the dataset file:///shared/mtgtfs_efec2238.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Metro Transit / Metropolitan Council
Feed Email:
art.brakob@metc.state.mn.us
Feed Language:
English
Feed Start Date:
2026-07-25
Feed End Date:
2026-12-04

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_dates.txt
  4. feed_info.txt
  5. levels.txt
  6. linked_datasets.txt
  7. pathways.txt
  8. routes.txt
  9. shapes.txt
  10. stop_times.txt
  11. stops.txt
  12. trips.txt
  13. vehicles.txt

Counts


  • Agencies: 8
  • Blocks: 4689
  • Routes: 128
  • Shapes: 1168
  • Stops: 8450
  • Trips: 35601

Specification Compliance report

673 notices reported (0 errors, 211 warnings, 462 infos)

Notice Code Severity Total
equal_shape_distance_same_coordinates WARNING 41

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.

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`.
"650645013" 235788 15000.072 430002 235787 15000.072 420010
"650645010" 231770 3652.469 160002 231769 3652.469 150010
"650645011" 233118 15000.072 430002 233117 15000.072 420010
"650645012" 234444 15000.072 430002 234443 15000.072 420010
"650645006" 225710 7540.484 70020 225709 7540.484 70019
"650645007" 228427 30104.247 660002 228426 30104.247 650010
"650645008" 230424 30104.247 660002 230423 30104.247 650010
"650645009" 231099 3652.469 160002 231098 3652.469 150010
"650645002" 220872 8572.553 90020 220871 8572.553 90019
"650645003" 222910 8572.553 90020 222909 8572.553 90019
"650645004" 223614 8572.553 90020 223613 8572.553 90019
"650645005" 224318 8572.553 90020 224317 8572.553 90019
"650645001" 218834 8572.553 90020 218833 8572.553 90019
"740447002" 470588 28184.078 280067 470587 28184.078 280066
"740447001" 469807 28184.078 280067 469806 28184.078 280066
"650495001" 194756 57996.25 190268 194755 57996.25 190267
"650495004" 198677 57996.25 190268 198676 57996.25 190267
"650495008" 202963 8125.239 20068 202962 8125.239 20067
"740645013" 536074 15000.072 430002 536073 15000.072 420010
"740645012" 534667 15000.072 430002 534666 15000.072 420010
"740645011" 533278 15000.072 430002 533277 15000.072 420010
"740645010" 531868 3652.469 160002 531867 3652.469 150010
"740645009" 531134 3652.469 160002 531133 3652.469 150010
"740645008" 530397 30104.247 660002 530396 30104.247 650010
"740645007" 528337 30104.247 660002 528336 30104.247 650010
"740645006" 525620 7540.484 70020 525619 7540.484 70019
"740645005" 524228 8572.553 90020 524227 8572.553 90019
"740645004" 523524 8572.553 90020 523523 8572.553 90019
"740645003" 522820 8572.553 90020 522819 8572.553 90019
"740645002" 520782 8572.553 90020 520781 8572.553 90019
"740645001" 518744 8572.553 90020 518743 8572.553 90019
"740495002" 497455 58602.835 200068 497454 58602.835 200067
"740495004" 499070 8125.239 20068 499069 8125.239 20067
"650901002" 290423 16661.93 140002 290422 16661.93 130038
"650901003" 290720 15933.835 130002 290719 15933.835 120038
"650901004" 291017 15933.835 130002 291016 15933.835 120038
"650901006" 291814 19593.928 200002 291813 19593.928 190038
"740901006" 614760 19593.928 200002 614759 19593.928 190038
"740901003" 613963 15933.835 130002 613962 15933.835 120038
"650447001" 167191 28184.078 280067 167190 28184.078 280066
"650447002" 167972 28184.078 280067 167971 28184.078 280066
expired_calendar WARNING 2

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.
42 "63"
43 "64"
route_color_contrast WARNING 1

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.
"827" 125 "#771473" "#000000"
same_name_and_description_for_route WARNING 1

same_name_and_description_for_route

Same name and description for route.

The GTFS spec defines routes.txt route_desc as:

Description of a route that provides useful, quality information. Do not simply duplicate the name of the route.

See the GTFS and GTFS Best Practices links below for more examples of how to populate the route_short_name, route_long_name, and route_desc fields.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. routeId (?) The id of the faulty record. routeDesc (?) The `routes.routes_desc` of the faulty record. specifiedField (?) Either `route_short_name` or `route_long_name`.
3 "991" "Blue Line Bus" "route_long_name"
unused_shape WARNING 166

unused_shape

Shape is not used in GTFS file trips.txt.

All records defined by GTFS shapes.txt should be used in trips.txt.

You can see more about this notice here.

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

shapeId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"650420001" 140418
"650420002" 140894
"650425001" 141322
"650425002" 142005
"650436001" 142614
"650436002" 143616
"650436003" 144799
"650436004" 145975
"650436005" 147081
"650436006" 148200
"650440001" 149085
"650440002" 149661
"650440003" 150142
"650440004" 150718
"650440005" 151199
"650440006" 152078
"650440007" 152605
"650440008" 153132
"650440009" 153564
"650440010" 154091
"650440011" 154523
"650442001" 155368
"650442002" 155685
"650444001" 155921
"650444002" 156531
"650444003" 157141
"650444004" 157830
"650444005" 158519
"650444006" 159156
"650444007" 159793
"650444008" 160428
"650445001" 161063
"650445002" 161288
"650445003" 161860
"650445004" 162220
"650445005" 162749
"650446001" 163077
"650446002" 163773
"650446003" 164342
"650446004" 164862
"650446005" 165451
"650446006" 165956
"650447001" 166411
"650447002" 167192
"650447003" 167973
"650447004" 168830
"650460001" 169687
"650460002" 170192
"650460003" 170707
"650460004" 171369
big_gap_in_service INFO 2

big_gap_in_service

A service has a gap of more than 13 days between active service dates.

You can see more about this notice here.

serviceId (?) The service_id that has the gap. gapStartDate (?) The first day of the gap. gapEndDate (?) The last day of the gap. gapDurationDays (?) The number of days in the gap.
"49" "2026-07-26" "2026-08-16" 20
"50" "2026-07-26" "2026-08-16" 20
feed_valid_beyond_total_service_window INFO 1

feed_valid_beyond_total_service_window

The feed is valid 14 days beyond its total service window.

You can see more about this notice here.

feedStartDate (?) The feed start date from feed_info.txt. feedEndDate (?) The feed end date from feed_info.txt. serviceWindowStartDate (?) The earliest active service date across all services. serviceWindowEndDate (?) The latest active service date across all services.
"2026-07-25" "2026-12-04" "2026-07-25" "2026-09-11"
platform_without_parent_station INFO 127

platform_without_parent_station

A platform has no parent_station field set.

This is different from location_without_parent_station since it is less severe.

You can see more about this notice here.

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

csvRowNumber (?) Row number of the faulty record. stopId (?) The id of the faulty record. stopName (?) The stop name of the faulty record.
1169 "5020" "Maplewood Mall Transit Center & Gate A"
1492 "6767" "Co Rd 73 P&R & A Bay"
1499 "6784" "Wayzata Blvd P&R & Gate A"
1535 "6990" "Wayzata Blvd P&R & Gate B"
1543 "7004" "Co Rd 73 P&R & B Bay"
3426 "13667" "Sun Ray Transit Center & Gate D"
4026 "15795" "Westgate Station - Gate C"
4043 "15881" "Westgate Station - Gate A"
4044 "15882" "Westgate Station - Gate B"
4194 "16494" "Minnesota Veterans Home & Bldg 4"
4508 "17857" "5th St Transit Center Gate A"
4768 "19337" "Leamington Ramp & Lower - Gate #7"
5292 "42319" "Maplewood Mall Transit Center & Gate B"
6421 "49208" "Columbia Heights Transit Center Gate D"
6451 "49303" "Columbia Heights Transit Center Gate B"
6452 "49304" "Columbia Heights Transit Center C"
6457 "49353" "Columbia Heights Transit Center Gate A"
6574 "49671" "Jackson St & #1494 Unit D"
6581 "49679" "Jackson St & #1494 Unit D"
6710 "49979" "Sun Ray Transit Center & Gate E"
6745 "50152" "Robbinsdale Transit Center & Gate D"
6746 "50153" "Robbinsdale Transit Center & Gate A"
6747 "50154" "Robbinsdale Transit Center & Gate B"
6748 "50155" "Robbinsdale Transit Center & Gate C"
6751 "50160" "Uptown Transit Station - Gate C"
6759 "50195" "Uptown Transit Station - Gate B"
6760 "50196" "Uptown Transit Station - Gate A"
6882 "50689" "Maplewood Mall Transit Center & Gate F"
6912 "51114" "Sun Ray Transit Center & Gate A"
6913 "51116" "Sun Ray Transit Center & Gate C"
6938 "51200" "5th St Transit Center Gate B"
6939 "51201" "5th St Transit Center Gate C"
6940 "51202" "5th St Transit Center Gate D"
7022 "51541" "38th St Station & Gate C"
7023 "51542" "38th St Station & Gate A"
7024 "51543" "38th St Station & Gate B"
7025 "51544" "46th St Station Gate A"
7026 "51545" "46th St Station & Gate B"
7027 "51546" "46th St Station & Gate C"
7028 "51549" "46th St Station & Gate F"
7029 "51550" "46th St Station & Gate G"
7030 "51551" "46th St Station & Gate H"
7070 "51821" "I-35W & 98th Street Station Gate A"
7071 "51823" "I-35W & 98th Street Station Gate C"
7072 "51824" "I-35W & 98th Street Station Gate D"
7086 "51845" "Brooklyn Ctr Transit Ctr Gate A"
7087 "51846" "Brooklyn Ctr Transit Ctr Gate C"
7088 "51851" "Brooklyn Ctr Transit Ctr Gate B"
7123 "52015" "Maplewood Mall Transit Center & Gate D/E"
7229 "52530" "Rosedale Transit Center & Gate E"
unknown_column INFO 7

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.
"pathways.txt" "cover_type" 6
"pathways.txt" "max_stair_flight" 9
"pathways.txt" "mechanical_stair_count" 10
"pathways.txt" "pathway_code" 11
"trips.txt" "direction" 6
"trips.txt" "branch_letter" 10
"trips.txt" "boarding_type" 11
unknown_file INFO 2

unknown_file

A file is unknown.

You can see more about this notice here.

filename (?) The name of the unknown file.
"linked_datasets.txt"
"vehicles.txt"
unsorted_stop_times INFO 323

unsorted_stop_times

Stop times are not sorted by trip_id and stop_sequence.

'stop_times.txt' entries for a given trip are not sorted by stop_sequence, or are not contiguous in the file.

You can see more about this notice here.

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

tripId (?) The faulty record's trip_id. startCsvRowNumber (?) CSV row number of the first stop_times entry for this trip. endCsvRowNumber (?) CSV row number of the last stop_times entry for this trip.
"1280904" 1590408 1590488
"897222" 957380 957469
"897234" 956344 956433
"899893" 1022403 1022496
"897214" 1271902 1271995
"1302905" 1603136 1603295
"1170386" 992040 992196
"1265470" 1565064 1565139
"1243770" 1603206 1605399
"1267714" 952941 953069
"1267715" 953070 953199
"1267796" 952813 952940
"885484" 1022837 1022996
"1302664" 1602664 1602815
"897432" 953603 953692
"1267874" 549616 549775
"885604" 1271693 1271770
"1133539" 291120 291212
"885556" 955920 956009
"1133577" 997636 997747
"885734" 953457 953550
"905000" 1272660 1272823
"897662" 955982 956092
"895005" 956476 956635
"895066" 1271547 1271625
"1243654" 1590456 1590549
"885867" 953317 953410
"1243690" 1565607 1565770
"1241002" 1598595 1598682
"1302537" 1602381 1602599
"1289093" 1268043 1268128
"1245915" 1563871 1563964
"1243324" 1599923 1600150
"897976" 957246 957335
"885973" 956617 956719
"885996" 956720 956988
"1267379" 953948 954338
"1267345" 953817 953947
"1267344" 953682 953816
"1304857" 549060 549170
"1267398" 953339 953487
"1243411" 1602994 1603157
"1280409" 1590534 1590622
"1304969" 996498 996610
"1304554" 1619942 1620199
"1304642" 287568 287714
"1304624" 287457 287567
"1135162" 957879 958033
"1243240" 287973 288089
"1304690" 287715 287861