Looking from a map analyst’s point of view, turn restrictions are some of the most important features a map can have. Turn restrictions influence a lot the way a route is made. If they are wrongly edited, they can cause bad routing, having big consequences on travel time, travel directions, maneuvers, and so on. That’s why we decided to talk a little bit more about this case: editing turn restrictions.
We worked on this issue for 3 months, starting from November 2017. We succeeded to review a large number of intersections between motorway, trunk, primary, secondary, tertiary, residential, and service ways from the Phoenix area.
During our project we accomplished:
- to add new turn restrictions
- to correct some of the damaged ones
- to remove some of the wrong ones.
The main sources of adding or editing turn restrictions were open-source:
- Satellite imagery: Digital Globe, Bing, Esri World Imagery
- Street-level imagery: Open-Street-Cam (OSC), Mapillary.
The software used in editing OSM was JOSM, an extensible editor for Open-Street-Map for Java 8. Also, for better visualization, we used different Map Paint Styles (MapCSS) and thematic Layers (Open-Street-Cam, Mapillary, Mapillary object layer).
With a self-developed procedure, we identified all that could be a turn restriction sign in all the OSC track photos, overlapping our area. In the first part of our project, we looked over 1723 turn restriction signs identified in Open-Street-Cam, spatially distributed as in the map below. Before adding any turn restriction, every detection or sign found in Open-Street-Cam was first validated based on the open sources first mentioned.
In the second part, we managed to identify turn restriction signs also based on Mapillary Imagery and Mapillary Object Layer.
All the reviewed turn restriction signs summed in the end 3289, from which 350 turned to be missing from Open-Street-Map. During this task, we also reviewed 11932 and added 376 new traffic lights.
The final step for our task was to do some QA testing. Firstly, we used a query-based QA to verify the quality of all turn restrictions from the OSM Phoenix area. For this, we ran some predefined scripts based on OSM datasets, using pgAdmin.
The queries aimed mainly:
- Long relation members
- Turn Restrictions with an unusual number of members
- “Odd” tagging in existing turn restrictions
- Conditional turn restrictions with an old tagging scheme
Example of a query used to identify unusual turn restrictions from OSM:
We wanted to make sure we’re covered all turn restrictions. So, we used the Telenav ImproveOSM plug-in in JOSM. The plug-in highlights the possible turn restrictions locations based on road geometries and other probe data.
This kind of errors identified by us during the query-based QA can also be found on http://osmose.openstreetmap.fr/en/map/ and https://keepright.at/ sites. These two sites contain datasets with all kinds of errors from OSM. The datasets were downloaded, extracted using some Python scripts, clipped after our bounding box, and filtered using some SQL queries in pgAdmin. The results were exported and compared with the initial errors that resulted in the first QA step and where it was necessary, the turn restrictions were modified or corrected.
The heat map below presents all the turn restrictions edited by the Telenav team, from November until now, in Phoenix. Darker colors indicate high density and brighter colors low density.

