In OpenStreetMap, paths for foot traffic such as park trails and sidewalks can be modeled in very similar ways. Any path intended for foot traffic can be tagged as highway=footway. This includes sidewalks, except that sidewalks should also have the footway=sidewalk tag. This allows for easy differentiation between sidewalks and other types of foot paths, which can help in styling a map.

Untagged sidewalks render like trails or other footpaths (left)
Tagged sidewalks flow together (right)

Sometimes sidewalks in OpenStreetMap are not mapped properly, which results in sidewalks that look like regular foot paths. For well designed maps, we want to make sure sidewalks are mapped correctly - globally.

Finding all sidewalks

The good news is that this issue is usually straightforward for anyone to fix, because a sidewalk can often be identified from satellite imagery. The trick is to quickly find which sidewalks are mapped incorrectly. I’m using Turf, Tile Reduce, and OSM QA tiles to analyze the world’s road networks and highlight footways that appear to be sidewalks, but aren’t tagged as such.

Algorithm walkthrough for detecting mistagged sidewalks. Full code available on Github.

Fixing sidewalks

The Tile Reduce code that I wrote to detect mistagged sidewalks is available on Github. You can run sidewalk analysis yourself with Tile Reduce on OSM QA Tiles or join in the sidewalk mapping task and use the analysis we’ve already run.

To fix sidewalks, we created an interactive map to select potential sidewalks quickly for editing. Simply zoom to an area with highlighted sidewalks (green), click on one of them and then select your favorite OpenStreetMap editor.

Map highlighting regular foot paths that are potentially sidewalks in OpenStreetMap. Try the interactive version.

Footways that are missing sidewalk tags near Disneyland in Anaheim.

A large group of missing sidewalks in a residential area in Maryland.

Mistagged sidewalks tend to show up in clusters, especially in neighborhoods and parks. As we continue to refine this analysis, we have started to update tagging in the most prominent clusters - you can follow and join this work over on our mapping repository. Take a look and drop me a line if you have suggestions on how to improve sidewalk mapping.

As an aside: the more common way of mapping sidewalks in OpenStreetMap is to add a sidewalk=* tag to a corresponding road. In which case the problem described here can’t occur.