mtgtfs — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-06-11T08:47:23Z,
for the dataset file:///shared/mtgtfs_714e1888.zip. No country code was provided.

Use this report alongside our documentation.

A new version of the Canonical GTFS Schedule validator is available! Please update to get the latest/best validation results.

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-06-06
Feed End Date:
2026-08-21

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: 7
  • Blocks: 5321
  • Routes: 123
  • Shapes: 1125
  • Stops: 8472
  • Trips: 38853

Specification Compliance report

252 notices reported (0 errors, 119 warnings, 133 infos)

Notice Code Severity Total
equal_shape_distance_same_coordinates WARNING 39

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`.
"740447002" 170737 28184.078 280067 170736 28184.078 280066
"740447001" 169956 28184.078 280067 169955 28184.078 280066
"740046004" 78892 1014.251 20039 78891 1014.251 20038
"740645013" 234125 14709.687 440002 234124 14709.687 430010
"740645012" 232797 14709.687 440002 232796 14709.687 430010
"740645011" 231487 14709.687 440002 231486 14709.687 430010
"740645010" 230155 3652.469 160002 230154 3652.469 150010
"740645009" 229487 3652.469 160002 229486 3652.469 150010
"740645008" 228815 29813.862 670002 228814 29813.862 660010
"740645007" 226834 29813.862 670002 226833 29813.862 660010
"740645006" 224159 7540.484 70020 224158 7540.484 70019
"740645005" 222796 8572.553 90020 222795 8572.553 90019
"740645004" 222121 8572.553 90020 222120 8572.553 90019
"740645003" 221446 8572.553 90020 221445 8572.553 90019
"740645002" 219437 8572.553 90020 219436 8572.553 90019
"740645001" 217428 8572.553 90020 217427 8572.553 90019
"740495002" 197816 58602.835 200068 197815 58602.835 200067
"740495004" 199431 8125.239 20068 199430 8125.239 20067
"770645009" 501616 3652.469 160002 501615 3652.469 150010
"770645007" 498856 29813.862 670002 498855 29813.862 660010
"770645008" 500893 29813.862 670002 500892 29813.862 660010
"770645001" 489276 8572.553 90020 489275 8572.553 90019
"770645002" 491314 8572.553 90020 491313 8572.553 90019
"770645005" 494760 8572.553 90020 494759 8572.553 90019
"770645006" 496152 7540.484 70020 496151 7540.484 70019
"770645003" 493352 8572.553 90020 493351 8572.553 90019
"770645004" 494056 8572.553 90020 494055 8572.553 90019
"740901002" 312239 16661.93 140002 312238 16661.93 130038
"740901006" 313333 19593.928 200002 313332 19593.928 190038
"740901003" 312536 15933.835 130002 312535 15933.835 120038
"770645012" 505089 14709.687 440002 505088 14709.687 430010
"770645013" 506473 14709.687 440002 506472 14709.687 430010
"770645010" 502340 3652.469 160002 502339 3652.469 150010
"770645011" 503723 14709.687 440002 503722 14709.687 430010
"770901006" 591984 19593.928 200002 591983 19593.928 190038
"770901004" 591187 15933.835 130002 591186 15933.835 120038
"770901003" 590890 15933.835 130002 590889 15933.835 120038
"770901002" 590593 16661.93 140002 590592 16661.93 130038
"770046004" 406442 1014.251 20039 406441 1014.251 20038
expired_calendar WARNING 3

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.
3 "2"
4 "3"
10 "9"
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 76

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

shapeId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"740420001" 148870
"740420002" 149346
"740425001" 149774
"740425002" 150442
"740436001" 151033
"740436002" 152035
"740436003" 153218
"740436004" 154394
"740436005" 155500
"740436006" 156619
"740440001" 157504
"740440002" 158080
"740440003" 158561
"740440004" 159440
"740440005" 159967
"740440006" 160494
"740440007" 160926
"740442001" 161771
"740442002" 162088
"740444001" 162324
"740444002" 162934
"740444003" 163623
"740444004" 164260
"740445001" 164895
"740445002" 165120
"740445003" 165480
"740446001" 165842
"740446002" 166538
"740446003" 167107
"740446004" 167627
"740446005" 168216
"740446006" 168721
"740447001" 169176
"740447002" 169957
"740447003" 170738
"740447004" 171595
"740460001" 172452
"740460002" 172957
"740460003" 173472
"740460004" 174134
"740465001" 174759
"740465002" 175462
"740465003" 176172
"740465004" 176799
"740470001" 178488
"740470002" 179285
"740475001" 180058
"740475002" 180911
"740475003" 181631
"740475004" 182446
platform_without_parent_station INFO 124

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 124 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.
1165 "5020" "Maplewood Mall Transit Center & Gate A"
1503 "6767" "Co Rd 73 P&R & A Bay"
1510 "6784" "Wayzata Blvd P&R & Gate A"
1546 "6990" "Wayzata Blvd P&R & Gate B"
1554 "7004" "Co Rd 73 P&R & B Bay"
3470 "13667" "Sun Ray Transit Center & Gate D"
4076 "15795" "Westgate Station - Gate C"
4093 "15881" "Westgate Station - Gate A"
4094 "15882" "Westgate Station - Gate B"
4254 "16494" "Minnesota Veterans Home & Bldg 4"
4567 "17857" "5th St Transit Center Gate A"
4830 "19337" "Leamington Ramp & Lower - Gate #7"
5364 "42319" "Maplewood Mall Transit Center & Gate B"
6524 "49208" "Columbia Heights Transit Center Gate D"
6554 "49303" "Columbia Heights Transit Center Gate B"
6555 "49304" "Columbia Heights Transit Center C"
6560 "49353" "Columbia Heights Transit Center Gate A"
6677 "49671" "Jackson St & #1494 Unit D"
6684 "49679" "Jackson St & #1494 Unit D"
6819 "49979" "Sun Ray Transit Center & Gate E"
6854 "50153" "Robbinsdale Transit Center & Gate A"
6855 "50154" "Robbinsdale Transit Center & Gate B"
6856 "50155" "Robbinsdale Transit Center & Gate C"
6859 "50160" "Uptown Transit Station - Gate C"
6867 "50195" "Uptown Transit Station - Gate B"
6868 "50196" "Uptown Transit Station - Gate A"
6991 "50689" "Maplewood Mall Transit Center & Gate F"
7022 "51114" "Sun Ray Transit Center & Gate A"
7023 "51116" "Sun Ray Transit Center & Gate C"
7048 "51200" "5th St Transit Center Gate B"
7049 "51201" "5th St Transit Center Gate C"
7050 "51202" "5th St Transit Center Gate D"
7132 "51541" "38th St Station & Gate C"
7133 "51542" "38th St Station & Gate A"
7134 "51543" "38th St Station & Gate B"
7135 "51544" "46th St Station Gate A"
7136 "51545" "46th St Station & Gate B"
7137 "51546" "46th St Station & Gate C"
7138 "51549" "46th St Station & Gate F"
7139 "51550" "46th St Station & Gate G"
7140 "51551" "46th St Station & Gate H"
7180 "51821" "I-35W & 98th Street Station Gate A"
7181 "51823" "I-35W & 98th Street Station Gate C"
7182 "51824" "I-35W & 98th Street Station Gate D"
7196 "51845" "Brooklyn Ctr Transit Ctr Gate A"
7197 "51846" "Brooklyn Ctr Transit Ctr Gate C"
7198 "51851" "Brooklyn Ctr Transit Ctr Gate B"
7233 "52015" "Maplewood Mall Transit Center & Gate D/E"
7344 "52530" "Rosedale Transit Center & Gate B"
7345 "52531" "Rosedale Transit Center Gate A"
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"