Identifying and fixing Untagged Footway Crossings in OpenStreetMap Data

Improving the quality of data on a platform that millions of users depend on!

Suresh Devalapalli
Gaussian Solutions
4 min readApr 5, 2024

--

Source: File:OpenStreetMap logo with text.svg — OpenStreetMap Wiki

OpenStreetMap (OSM) is a collaborative project that empowers individuals worldwide to create and freely share geographic data. Unlike traditional proprietary mapping services, OSM is built on the principles of open data and community-driven mapping, allowing anyone to contribute, edit, and access geographic information. Launched in 2004, OSM has evolved into a comprehensive mapping platform used by millions for diverse applications, from navigation and urban planning to humanitarian aid and environmental conservation.

Despite being a commendable alternative to proprietary maps such as Google Maps, OpenStreetMap (OSM) relies on user-generated data, which may lead to inaccuracies, missing information, incorrect tags, and deviations from recommended mapping practices. For example, while working on a project that required us to examine the Los Angeles pedestrian network, we observed quite a few issues. We will go over some of them, and what the recommended practices are in those scenarios.

Example 1: The crossings not tagged as such at an intersection

Source: https://www.openstreetmap.org/edit#map=19/34.05922/-118.25366

From the image, we can clearly see that the highlighted path (white line with pink border) covers the underlying pedestrian crossing. However, the highlighted path is tagged as highway=footwaybut footway=crossingtag is missing.

Example 2: Paths not split according to the recommendations

Going back to the previous image, we also observe that four different crossings in the underlying infrastructure are marked with just one single footway. The recommended practice is to split them into 4 different crossings with each one intersect a road. It should also be noted that the linestring that was drawn and tagged as footwayactually has 6 segments. The recommended way is to create 6 segments, with 4 ways having footway=crossingand the other 2 ways tagged with footway=sidewalk as they are by the side of the roads.

Example 3: The crossing is not separated from the footway

Source: https://www.openstreetmap.org/edit#map=19/34.05079/-118.26316

Here is another example where different underlying infrastructure elements are clubbed into one representation and tagged wrongly. The highlighted path (white line with pink border) is marked just as highway=footway. However, the first and the last segments are sidewalks, which should be tagged additionally with footway=sidewalk, and the second segment is a crossing which should additionally be tagged as footway=crossing. Hence this needs to be split into three segments: one crossing and two sidewalks.

Example 4: The crossing is not separated from the sidewalk

Source: https://www.openstreetmap.org/edit#map=18/34.05346/-118.24820

Here the highlighted path (white line with pink border) is marked as highway=footway, footway=sidewalk. This is wrong. The portion of the element that spans the crosswalk should be tagged as highway=footway, footway=crossingIn addition, it should be split into two segments, one representing the sidewalk, and the other representing the crosswalk as is evident from the image of the underlying infrastructure.

Example 5: One sidewalk spans multiple blocks

Source: https://www.openstreetmap.org/edit?node=10224712629#map=20/34.04088/-118.26055

As we can see the highlighted element (white line with pink border) is tagged as sidewalk and spans multiple blocks. The recommended way to map this element is to:

  • Split the line into multiple segments, where each segment represents no more than one block of length.
  • Whenever the line intersects with a road, tag the intersection point as highway=intersection
  • If the line segment is representing a crossing in the infrastructure, tag it as highway=footway and footway=crossing

How to fix such issues?

  • Learn to map properly by getting yourself familiar with the recommended mapping practices from the OSM community.
  • Inspect the data before using it and fix the tags when you see a mistake.

Identifying issues manually is a laborious process. For an area as big as Los Angeles, it may take weeks to identify all the issues manually.

At Gaussian Solutions, we are all about productivity and the tools that help boost the productivity. So we wrote an algorithm to identify and fix the issues we mentioned above.

Example Results

Source: Author’s own work

The above picture shows the output of our algorithm for the zip code 90012 in the LA region. The yellow line is the boundary of the downtown (source: LA boundary dataset). The blue lines indicate all the footways in the region obtained from the OpenStreetMap data. And the red lines indicate the problematic elements in the data. We found a total of 89 footways with problems in the 90012 area.

What are the issues you faced while working with the OSM data? Leave a comment, and we may have a solution for it, and if we do not, we will come up with one.

Stay tuned while we deploy the algorithm we wrote as a service that anyone can use. Just draw the boundary where you want the issues identified and fixed, and we will give you a dump of OSM data, with its elements fixed.

--

--

Suresh Devalapalli
Gaussian Solutions

Explore, Learn, Share! Owner of https://gaussiansolutions.com/. Your partner in translating ideas into products.