In downtown Minneapolis, MN, USA, there are 80 linked blocks of connected buildings, making up the largest distance of indoor navigation in the world[1]. The “Skyways” are a mix of interior hallways, unmarked tunnels, stairs, pedway bridges, and occasionally outdoor 2nd Floor paths which connect hundreds of local businesses. Each building sets its own hours and holiday schedules for it’s portion of the skyway.
There have been a few PDF maps and maybe a defunct app here and there. Sometimes the city publishes a list of businesses as PDF. But to truly improve the skyway, data needs to be accurate, editable, and updated for ever-changing city.
Skyway.run
I created Skyway.run (a web app) to make the skyway easy and fun to use. And an app that is easy to improve.
The app includes walking navigation filtered only to the skyway system, and highlights the changing hours and holiday/event schedule of each building. You can click a building and see the businesses inside, and easily jump to OSM to update the data.
Now I need help mapping the skyways.
Improving Skyway Data
OpenStreetMap is the data source for Skyway.run, and anyone can enroll as an editor to OSM. Once you create an account, there are a few ways you can help improve the data of the skyway:
- Delete businesses that are no longer operational and add new businesses moving in.
- Change the
opening_hoursfor buildings and businesses as you walk past their signage. - Update the walking footpaths and building shapes of the skyway system itself.
Starting with small changes like updating a business node is the best way to learn OSM editing. There are several editors for making changes, and each one has its own strengths. Try them out based on how you plan to map:
- Go Map!! (iOS)—as a mobile app, it’s great for smaller updates like changing the hours or adding/deleting a business that recently changed.
- Vespucci (Android)—probably similar to the iOS app above. I don’t have an Android phone but the screenshots look pretty comparable.
- iD Editor (Web)—This is the web-based editor on the OpenStreetMap homepage, and has a lot of guides and checks to help you learn OSM editing. Especially great if you’re at your work desk, and just got back from lunch.
- JOSM (Desktop)—this is my preferred tool for big edits, especially when redrawing
buildingandbuilding:partdata, or joining/splitting Ways to mark stairs, escalators and elevators in the skyway. It needs to be installed to your computer, and doesn’t work well with a trackpad (but very comfortable for mouse users). I like it because I can easily see all the edits I’ve done, and save my session mid-way through editing.
What are the OSM Elements
Editing seems scary at first, but the elements of OSM are less scary once you play with them:
| Thing: | What it is: |
|---|---|
| Node | a point or pin on the map. It’s just the lat/lon of a spot. Usually this is what you’re dealing with when you add businesses, edit restaurant tags, or mark a place as disused:*. |
| Way | a bunch of Nodes, making up a square, rectangle, or other multi-polygon. Often used for the outline of buildings. |
| Relation | a bunch of Ways. For buildings that have an outline and a courtyard, or other complex shapes that pro mappers want to be hyper-accurate about. Can also be used as “folders” for related concepts, like a biking network or the skyway walking network.</small> |
| (Tags) | each of the above elements have tags.** A tag is a key and a value, and there are lots of standardized keys for documenting aspects of a place. |
First Edit: Fixing Business Data
Below is a cheat-sheat on Tags used in Skyway.run. Editing Tags in OSM is the main way to improve the map. When you open a Node or Way to edit its Tags, don’t worry too much about preserving what’s there. Focus on setting the value to be accurate based on your own observations.
| Key | Example Values | Notes |
|---|---|---|
amenity |
fast_food, restaurant, music_venue, bar |
For places that offer you a service. |
shop |
convenience, alcohol, mobile_phone |
Businesses that sell imported goods. |
office |
it, consulting, newspaper, coworking |
Places where people work. |
leisure |
sports_centre, stadium |
Gyms, public parks, and other public places. |
craft |
electronics_repair, brewery |
Services or items usually handmade-to-order. |
tourism |
hotel |
Places that offer visitors something interesting. |
disused:amenity, disused:shop, etc. |
(same as above) | Location that is still setup as it’s former business, but no longer operational |
name |
Naf Naf Grill |
What you see on signage. |
brand |
Naf Naf Grill |
The organization owning this business. |
branch |
US Bank Plaza |
The name for this specific instance of brand. |
website |
https://skyway.run |
Link to this location’s online presence. |
opening_hours |
Mo-Fr 11:00-14:00 |
Very specifically-formatted hours for the business. |
If you’re curious about a tag, or looking for the name of a concept you want to document, search the Wiki! There is so much content there to help you learn how to document your observations.
Closed Businesses
When a business closes, there are a few ways to reflect this in OSM.
- If you’re lucky, change the
nametag to the new business that is taking over the space, and update the other tags with the new business data or delete them if you’re not sure. - Change
amenity/etc tag todisused:amenity– this would usually be done when the signage or equipment is still in place, and a new owner could take over quickly. - Delete most tags and set
https://wiki.openstreetmap.org/wiki/Tag:shop=vacant– this can help show the available space in a commercial building, and prepare the Node for future use. However, if you’ve walked the skyways, you would see hundreds (even thousands) of vacant shops. Adding every one of these to the map is probably not worth your time, so the more simple option is: - Delete the Node. Some day, a future mapper can come and make a new Node when a business moves in.
Keep in mind: a Node refers to the space where the business resides, not the business itself. If the shop is moving to a new location, this is a closure. Their new spot is a new Node with the tags of their old location.
New Businesses
For spots that don’t have a Node yet, you can add a new Node with the tags of the business. Typically, a new Node would get tags kinda like this:
| Tag | Notes |
|---|---|
https://wiki.openstreetmap.org/wiki/Tag:amenity=fast_food |
Heads up: if you don’t sit down and have a server, it’s not restaurant. It’s fast_food. |
https://wiki.openstreetmap.org/wiki/Tag:name=Naf Naf Grill |
What you see on signage. |
https://wiki.openstreetmap.org/wiki/Tag:brand=Naf Naf Grill |
The organization that operates the spot. |
https://wiki.openstreetmap.org/wiki/Tag:branch=US Bank Plaza |
The name this brand uses for this location. |
https://wiki.openstreetmap.org/wiki/Tag:website=https://nafnafgrill.com |
Ideally, the web address for this specific branch. |
https://wiki.openstreetmap.org/wiki/Tag:opening_hours=M-F 11:00-14:00 |
The hours of operation, in very particular formatting. |
Harder: Changing the Paths
Buildings are added to Skyway.run based on their connections to the skyway system. So an accurate
footpath is important. Adding data like https://wiki.openstreetmap.org/wiki/Tag:highway=steps or https://wiki.openstreetmap.org/wiki/Tag:ramp=yes helps users understand what routes are
wheelchair-accessible.
Some useful tags for the footpath Ways are:
| Tag | Notes |
|---|---|
https://wiki.openstreetmap.org/wiki/Tag:highway=footway |
A walking path. |
https://wiki.openstreetmap.org/wiki/Tag:highway=steps |
This portion of the network is stairs. |
https://wiki.openstreetmap.org/wiki/Tag:platform_list=vertical |
An elevator-like system for wheel users. |
https://wiki.openstreetmap.org/wiki/Tag:ramp=yes |
The stairs also have a ramp nearby. |
https://wiki.openstreetmap.org/wiki/Tag:door=sliding |
Doors that align with a wall or window when opened. |
https://wiki.openstreetmap.org/wiki/Tag:automatic_door=motion |
Doors that open as you approach. |
https://wiki.openstreetmap.org/wiki/Tag:barrier=entrance |
A non-door cut into a building (common in the skyways). |
Harder: Changing a Building
When a building perimeter connects to a skyway path, it’s added to Skyway.run and the building hours are associated with its nearby footpaths. The useful tags for a building are:
| Tag | Notes |
|---|---|
https://wiki.openstreetmap.org/wiki/Tag:opening_hours=Mo-Fr 06:00-18:00; PH off |
The outdoor entrance hours, or all entrance hours (see below). |
https://wiki.openstreetmap.org/wiki/Tag:opening_hours:skyway=... |
When the 2nd floor entrance hours differ (i.e. building operates 24/7 but skyway is closed), this tag is useful. |
https://wiki.openstreetmap.org/wiki/Key:building:part |
Currently in Minneapolis, a lot of building parts are tagged as separate buildings. Towers built at the same time should be considered one building, so if you find these, replace towers as building:part and then tag an outer shell as building. |
Next Steps
Growing the mapping community in Minneapolis is a challenge, but something greatly exciting and rewarding.
At my own workplace, I showed our executive assistant (front desk) about the iD editor and she was so excited to help. Desk staff, assistants, and so many in the community hold the power to improve Skyway.run, and many other apps. I’m hoping to find these folks, and teach OSM editing at Mappy Hours and sessions.
If you’re interested, please reach out – [email protected]
Further Reading
Happy mapping!
Discussion
Comment from catgirlseraid on 2 October 2025 at 20:44
looks like an awesome project!
Comment from Glassman on 3 October 2025 at 00:26
I love this project. Years ago, in the middle of winter, I moved to Eden Prairie and worked downtown. Every day I walk the skyways for lunch and shopping. Then, one nice spring day, I decided to walk back outside after having lunch. Got LOST! Had to go back into the skyway system to find my way back to work!
Good luck with your project and building a community. Check to see if there are OSGeo group or people interested. I’m not sure if OSM US funds Meetup, but if so, that is a great way to get people interested.