MSP Region Public Transportation
Current Status
As of 1/1/2025, the state of public transportation in the MSP region does not reflect the current network status. A bulk of the data seemed to be uploaded from a static Metro Council GIS dataset published in 2019. Since that import, the network has changed significantly. Mapped routes and stops have been moved or no longer exist and new routes and stops have been added to the network.
Because of the size of this project, it is important to stay organized. Further, because the network constantly evolves, I will attempt to develop and describe a process in this page that will allow for relatively quick updates of the existing data. This is particularly important because the network is set to change significantly by 2027 under Metro Transit's Network Now plan.
Status Tables
Line | Description | Branches | Status | Notes |
---|---|---|---|---|
901 | Blue Line - Mpls - Airport - MOA | |||
902 | Green Line - Mpls - St Paul | |||
904 | Orange Line-Mpls-Richfield-Bloomington-Burnsville | |||
921 | A Line - Roseville - Snelling Av - 46th St | |||
923 | C Line - Penn Av - Brooklyn Center | |||
924 | D Line - Brooklyn Ctr - Fremont - Chicago - MOA | |||
888 | Northstar - Big Lake - Elk River - Anoka - Mpls | |||
2 | Franklin Av - Riverside Av - U of M - 8th St SE | Stop positions | Updated | Changeset 162368240 |
2.0: Weekdays 5:41am - 1:04am
Saturday 6:48am - 1:14am Sunday 6:48am - 12:45am |
Updated | Changeset 162452071 | ||
2.1: Weekdays 5:17am - 5:41am
Saturday 5:17am - 7:09pm Sunday: 5:17am - 5:07pm |
Updated | Changeset 162475217 | ||
2A | Updated | Changeset 162478774 | ||
2C | Updated | Changeset 162479858 | ||
2E | Updated | Changeset 162480552 | ||
3 | U of M - Como Av - Energy Park Dr - Maryland Av | Stop positions | Updated | Changeset 162577837 |
3 Westbound | Updated | Changeset 162579026 | ||
3A Eastbound | Updated | Changeset 162588468 | ||
3A Westbound | Updated | Changeset 162589176 | ||
3A Westbound (late night service) | Updated | Changeset 162589960 | ||
3B Eastbound | Updated | Changeset 162593204 | ||
3B Westbound | Updated | Changeset 162593510 | ||
3B Westbound (late night service) | Updated | Changeset 162593510 | ||
3E Eastbound | Updated | Changeset 162642434 | ||
3S Eastbound | Updated | Changeset 162594960 | ||
3U Westbound | Updated | Changeset 162684480 | ||
4 | Johnson St - Lyndale Av - Penn Av - Southtown | Stop positions | Updated | Changeset 162369096 |
4 | Updated | Changeset 162514471 | ||
4B (Northbound on Lyndale) | Updated | Changeset 162517416 | ||
4B (Northbound on Penn) | Updated | Changeset 162551653 | ||
4L (From Silver Lake) | Updated | Changeset 162553375 | ||
4L (From 1st Street) | Updated | Changeset 162555821 | ||
4P | Updated | Changeset 162556846 | ||
5 | Brooklyn Ctr - Fremont - Chicago - 56 St Sta | Stop positions | Updated | Changeset 162375331 |
5 | Updated | Changeset 162723947 | ||
5B | Updated | Changeset 162764182 | ||
5B-2 | ||||
5K | Updated | Changeset 162763407 | ||
5M | Updated | Changeset 162762854 | ||
6 | U of M - Hennepin - Xerxes - France - Southdale | Stop Positions | Updated | Changeset 162408463 |
6 via Xerxes | Updated | Changeset 162802878 | ||
6 via Xerxes from Minnesota Dr & Johnson Ave/France Ave | Updated | Changeset 162802878 | ||
6 via Xerxes from 47th | Updated | Changeset 162802878 | ||
6 via France from Southdale | Updated | Changeset 162802794 | ||
6C | Updated | Changeset 162803333 | ||
6D | Updated | Changeset 162828284 | ||
6E | Updated | Changeset 162829317 | ||
6F | Updated | Changeset 162867729 | ||
6K | Updated | Changeset 162869793 | ||
6U | Updated | Changeset 162874883 | ||
7 | Plymouth-27Av-Minnehaha-46St Sta-34Av S-66st/Cedar | Stop positions | Updated | Changeset 162409340 |
7 | Updated | Changeset 162875600 | ||
9 | Glenwood-Wayzata Blvd-Cedar Lk Rd-36Av S-46 St Sta | 9,9A,9C,9N | Stops updated | Changeset 162413797 |
10 | Central Av - University Av - Northtown | 10,10C,10H,10N | Stops updated | Changeset 162446336 |
11 | Columbia Heights - 2nd St NE - 4th Av S | 11A,11B,11C,11D | Stops updated | Changeset 162446808 |
14 | Robbinsdale-West Broadway-Bloomington Av-66St/Ceda | 14,14B,14C,14D,14E,14G,14N,14R | Stops updated | Changeset 162521794 |
17 | Minnetonka Blvd - Uptown - Washington St NE | 17,17D,17F,17W,17X | ||
18 | Nicollet Av - South Bloomington | 18,18A,18C,18D,18E | ||
21 | Uptown - Lake St - Midway - Selby Av | 21,21A,21C,21E | ||
22 | Brooklyn Ctr - Lyndale Av N - Cedar - 28 Av S - VA | 22,22A,22B,22C,22H | ||
23 | Uptown - 38th St - Highland Village | 23,23A,23B,23C,23H | ||
25 | Northtown- Co Rd H P&R- Stinson- Lake of the Isles | 25,25A,25H,25L,25N | ||
32 | Robbinsdale - Lowry Av - Rosedale | 32A,32B,32C,32F | ||
46 | 50St - 46St - 46St Sta | 46A,46B,46C | ||
54 | Ltd Stop - W 7 St - Airport - MOA - Maplewood Mall | 54 | ||
61 | E Hennepin Av - Larpenteur Av - Arcade St | 61,61A,61B,61D | ||
62 | Shoreview - Little Canada - Rice St - Signal Hills | 62,62B62C,62D,62E,62L | ||
63 | Raymond Sta - Grand Av - Sunray | 63,63X | ||
64 | Payne - Maryland - White Bear Av - Maplewood Mall | 64,64D,64H,64N,64P | ||
68 | Jackson St - Robert St - W St Paul - Inver Hills | 68,68C,68D,68E,68F,68G,68J,68M,68R | ||
71 | Little Canada - Westminster- Concord - Inver Hills | 71,71A,71B,71C,71D,71E,71G,71K,71W | ||
74 | 46th St - Randolph - W 7th St - E 7th St - Sunray | 74,74A,74C,74G,74J,74K,74S | ||
94 | Express - Mpls - St Paul | 94,94D | ||
113 | Ltd Stop - Grand Av S - Lyndale Av S - U of M | 113,113B | ||
114 | Ltd Stop - Uptown - U of M | 114,114A | ||
250 | Express - Co Rd H P&R - 95th Av P&R - Mpls | 250,250C,250M,250N | ||
252 | Express - 95Av P&R - U of M | 252 | ||
264 | Express - Roseville - Co Rd C P & R - Mpls | 264,264C | ||
270 | Express - Maplewood - Little Canada - Minneapolis | 270,270B,270M | ||
275 | Express - Co Rd 14 P&R - Co Rd E P&R - St Paul | 275 | ||
294 | Express - Oakdale - Stillwater - St Paul | 294 | ||
351 | Express - Woodbury - St Paul - Mpls | 351 | ||
355 | Express - Woodbury - Mpls | 355 | ||
363 | Express - Cottage Grove - St Paul - Mpls | 363 | ||
501 | MOA - Cargo Rd | 501 | ||
515 | Southdale - 66th St - Bloomington Av - MOA | 515 | ||
578 | Express - Edina - Southdale - Mpls | 578,578B | ||
612 | Uptown - Excelsior Blvd - Hopkins - Opus | 612,612D,612F,612G,612K | ||
645 | Ltd Stop - Mound - Wayzata - Ridgedale - Mpls | 645,645B,645C,645E | ||
667 | Express - Minnetonka - St Louis Park - Mpls | 667,667B667H | ||
673 | Express - Co Rd 73 P&R - Mpls | 673,673A,673B | ||
721 | Brooklyn Center -Bass Lake Rd - Henn Tech | 721 | ||
722 | Brooklyn Ctr-Humboldt-Shingle Creek-Target Campus | 722722A722B | ||
723 | Starlite - N Henn Comm College - Brooklyn Ctr | 723 | ||
724 | Target Campus - Starlite - Brooklyn Ctr | 724724C | ||
755 | Ltd Stop - Hwy 55 - Golden Valley Rd - Winnetka Av | 755755A755B755C | ||
760 | Express - Zane Av - 63rd Av - 65th Av P&R - Mpls | 760 | ||
761 | Express - Brooklyn Park - Xerxes - 49th Av - Mpls | 761 | ||
763 | Express-85th Av-Brookdale Dr-Humboldt-Dupont-Mpls | 763 | ||
764 | Express - Winnetka Av - 42nd Av - Mpls | 764 | ||
766 | Express - Champlin - W River Rd - Mpls | 766,766F,766G | ||
768 | Express - Noble P&R - Mpls | 768 | ||
824 | Ltd Stop - Northtown - Monroe - University - Mpls | 824 | ||
850 | Express - Riverdale P&R - Foley P&R - Mpls | 850,850A,850F,850N |
Line | Description | Branches | Status | Notes |
---|---|---|---|---|
903 | Red Line - Apple Valley - Eagan - Mall of America | |||
30 | Broadway Crosstown - Westgate Sta | 30,AB | ||
33 | Westgate Sta - Elm St - Kasota Av - SE Mpls Indust | |||
65 | Dale St - Co Rd B - Rosedale | |||
67 | W Minnehaha Av - Raymond Sta - Franklin Av | |||
70 | Burns Av - Sunray | |||
75 | Stryker - Robert - Lake Cove Apts | |||
80 | Maplewood - White Bear Av - Sunray | |||
83 | Rosedale - Lexington Av | |||
87 | Rosedale - U of M St Paul - Cleveland - Highland | |||
219 | Maplewood - Century Av - Hadley Av - Sunray | |||
223 | Rosedale-Little Canada-Maplewood | |||
225 | Deluxe - Roseville - Coventry - Rosedale | |||
227 | Target Shoreview - Victoria - Rosedale | |||
323 | Sun Ray - McKnight Rd - Londin Ln - Woodbury | |||
467 | Express - Lakeville - Mpls | |||
534 | Normndale College - Knox - 98th St Sta | |||
537 | Valley West - Normandale Col - France - Southdale | |||
538 | Southdale - York Av - Southtown - 86th St - MOA | |||
539 | Normandale College - 98th St - MOA | |||
540 | Edina - Richfield - 77th St - MOA | |||
542 | Normandale Lake - American Blvd - MOA | |||
546 | Norm Vill - Norm Coll - Valley West - 98th St Sta | |||
615 | Ridgedale - Co Rd 73 - St Louis Park | |||
705 | Starlite - Winnetka Av - Louisiana Av Transit Ctr | |||
716 | Zane Av - 63rd Av - Crystal - Robbinsdale | |||
717 | Brooklyn Center - Robbinsdale - New Hope | |||
801 | Brooklyn Ctr - Columbia Heights - Rosedale | |||
804 | Northtown -Silver Lake - Old Hwy 8 | |||
805 | Anoka - Coon Rapids - Northtown | |||
852 | Express - Anoka - Coon Rapids - Northtown - Mpls |
Line | Description | Branches | Status | Notes |
---|---|---|---|---|
781 | Maple Grove - Express - Maple Grove Station | |||
784 | Maple Grove - Express - Maple Grove Sta - Dtw East | |||
785 | Maple Grove - Express - Parkway Station | |||
789 | Maple Grove - Express - Maple Grove Sta - U of M |
Line | Description | Branches | Status | Notes |
---|---|---|---|---|
747 | Plymouth - Express - Station 73 - Reverse Commute | |||
774 | Plymouth - Express - Station 73 | |||
776 | Plymouth - Express - Southwest Plymouth | |||
777 | Plymouth - Express - NW Plymouth - Station 73 | |||
790 | Plymouth - Express - Cub Foods - Four Seasons | |||
795 | Plymouth - Express - Midday - Northeast Plymouth |
Line | Description | Branches | Status | Notes |
---|---|---|---|---|
600 | SW Transit - Express - SW Sta - Gold Tri - Mpls | |||
695 | SW Transit - Express - Chaska - Chanhassen - Mpls | |||
698 | SW Transit - Express - Chaska - Chanhassen - Mpls |
Line | Description | Branches | Status | Notes |
---|---|---|---|---|
906 | Light Rail Shuttle - Lindbergh - Humphrey |
Line | Description | Branches | Status | Notes |
---|---|---|---|---|
120 | U of M - East Bank Circulator | |||
121 | U of M - Campus Connector | |||
122 | U of M - University Ave Circulator | |||
123 | U of M - 4th Street Circulator | |||
124 | U of M - Saint Paul Circulator | |||
125 | 125 Dinkytown Circulator |
Line | Description | Branches | Status | Notes |
---|---|---|---|---|
Data Source
Metro Transit, the Metropolitan Council, Maple Grove Transit, Plymouth Metrolink, SouthWest Transit, the University of Minnesota, and the Metropolitan Airports Commission (MAC) publish their GTFS data here:
https://svc.metrotransit.org/mtgtfs/gtfs.zip
This zip file contains thirteen text files with relevant information on bus stops, routes and lines.
MVTA publishes their GTFS data separately. If this project is completed successfully, a separate project will be set up to update MVTA data.
Tagging Stops
- Generate a CSV file of the GTFS data for a single route. This file should contain at minimum latitude, longitude, stop name, stop id. (This is not a trivial task - it required me to create a relational database in order to generate a list of stops for a given route.)
- Import the CSV generated into JOSM. This is the "Reference" layer.
- Download OSM bus stops into a new JOSM layer. This is the "Subject" layer.
- Edit Reference nodes
- highway=bus_stop
- public_transport=platform
- set stop_id to ref
- set stop_name to name
- remove any unused tags
- The conflation plug-in is going to do the heavy lifting with this task. Install it if necessary.
- In the conflation plug-in, set the appropriate reference and subject data. Be sure to include many more of the subject data points than necessary, just to make sure all appropriate data is included. Click "Generate Matches"
- Go through the "Reference Only" stops and confirm that there are no Subject stops that the conflation missed. Select those stops and merge them to the Subject layer.
- Re-run conflation.
- Go through the matches, starting with the worst. Those are often stops that don't actually match.
- If there is no true match, add the Reference stop to the Subject layer. Check to see if the Subject stop still exists using the metro transit Stops and Stations page: https://www.metrotransit.org/stops-stations. If it no longer exists, delete from the Subject layer.
- If there is a match, use the conflation plug in to set the name of the stop using the Subject layer name and make sure that the "ref" number is correct.
- After going through all of the stops, select all of the stops in the Subject layer and edit the tags to follow the below convention:
- bus=yes
- highway=bus_stop
- name=XXX
- network=Metro Transit (or other)
- network:wikidata=Q3307442 (or other)
- operator=Metro Transit (or other)
- operator:wikidata=Q3307442 (or other)
- public_transport=platform
- ref=XXX
- source=https://svc.metrotransit.org/
- tactile_paving=XX
Tagging Routes
How to get the correct ways for the up to date routes:
- Get nodes from the shape file in the GTFS data.
- Draw a rough outline of the route way, connecting the nodes from above.
- Hit "J" to move the way to all nodes.
- Select the way nodes from the existing transit route and merge them to the reference layer.
- Select the reference way and all of the merged nodes and hit "J".
- Select the reference way and click "select way nodes"
- Add the reference way and click "P"
- Now this reference way can be used for a conflation with existing route
Stops
- open CSV file of the stops for the route.
- Perform conflation with the csv and all bus stops
- select matched bus stops and include them in the route relationship.
Tagging Lines
Here is a section describing how lines should be tagged
Process
Here is a section describing the process to update things