Improving Routing Information Using Mapillary Imagery
Posted by jinalfoflia on 30 November 2015 in English. Last updated on 1 December 2015.Mapillary images are a good source to verify and add information like turn restrictions and speed limits. This is not possible with satellite images. We realised that we need to have a thorough knowledge about the traffic signs used in the region we are mapping, as they are region specific.
Initially we started exploring the traffic data in USA. With help of the traffic data wiki for USA, we came up with a list of road signs which can be mapped using the Mapillary imagery. This list was created after pruning a list containing 467 traffic signs used in USA, after comparing them to the signs detected by Mapillary. We have also listed the OSM tags associated with each traffic sign.
Refer to the table given below to match the traffic sign in the Mapillary image against the list of traffic signs and it also consists of the OSM tags:
Here is the traffic signal guide.
This is the workflow we used to map the turn restrictions:
STEP 1: Setting up JOSM for mapping traffic data
In order to be able to map traffic data easily, there are some plugins that JOSM needs to be configured with:
- Layers to be added:
- Mapillary layer:
tms:http://d2cd86j8eqns9s.cloudfront.net/tiles/{zoom}/{x}/{y}.png
- Bing imagery:
bing[22]:http://www.bing.com/maps/
- Mapillary layer:
- Plugins to be downloaded:
- Mapillary plugin for JOSM: This plugin allows the user to view mapillary images in JOSM.
- Turn restrictions plugin for JOSM: This plugin allows to add turn restrictions to the selected roads with ease.
- RoadSigns plugin for JOSM: This plugin offers a dialog for selection of traffic signs from a list of presets. With simple clicks you can create combinations of signs and generate tagging suggestions.
- Map-paint styles to be added:
- traffic_signs: It displays all the existing traffic signs that have been already mapped on OSM.
- Maxspeed: It displays the already existing speed restrictions on OSM.
STEP 2: How to use the mapillary and turn restriction plugins
Using the Mapillary plugin
- The Mapillary imagery can be added by clicking on
imagery -> Mapillary
in JOSM. This will add the mapillary layer over the dataset layer. -
The explanation for how the plugin works can be found here.
Note: - If one is using
tasking manager
, first download the task from the tasking manager and then add theMapillary
layer. - Every time a new task is downloaded from the tasking manager, a new
Mapillary
layer must be added after deleting the old one.
Using the turn restriction plugin - The explanation for how the turn restriction plugin works can be found here.
STEP 3: How to add the traffic data using mapillary
- Probe the different Mapillary images present in that area to find useful traffic data that can be added to the Open Street Map.
- The Mapillary point on the GPX trail that has a
red triangle
along with it containTraffic-signs
. -
Probe the images to get a good idea of the surroundings and then compare them with the existing imagery to find the exact location of the
traffic-sign
.To add a turn restriction using the turn-restriction plugin
- We need to cautious while adding a
U-turn/No U-turn
in OSM, here is how we can add it:
Note
- To get a better idea about the area/road, always inspect multiple images.
- With the help of the plugins, look for one-ways, speed-limits and traffic restrictions which are already present on the road/area.
- Unless you are sure about the start and end point of a road, it is advisable to avoid adding
oneway=yes
tag to it. -
We should avoid adding
turn restriction
to roads that are leading to oneways going in the opposite direction, like the example below. It will only result in redundant data:
Here we should avoid adding turn-restriction
as it will result in redundant data
Issues
While mapping, we came across the following issues:
While mapping turn restrictions
- They are easily visible in the imagery and map but are leading to
splitting
of major roads and also leading to addition of multiplerelations
- Is this something we need to follow while adding the turn restrictions or there is a better-way?
While mapping speed-limits
- It is difficult to identify the start and end point of the road to which the speed-limit should be applied.
- Is there a better way to add speed limits or any convention that is followed while adding them?
For further details about how we created the workflow please refer to this repository.
Discussion
Comment from Peter Neubauer on 1 December 2015 at 12:00
Wow, that is a great intro! Impressive write-up.
/peter
Comment from jinalfoflia on 1 December 2015 at 17:10
Thank you so much @Peter!
Comment from baditaflorin on 8 December 2015 at 12:51
to addition of multiple relations
In JOSM , try to download the connecting way that is connected to the way that you are splitting. \
More simple, download a bigger area then the one where you are editing and you should be fine
Comment from Zian Choy on 30 December 2015 at 07:57
For speed limits, I treat them as if I was driving the road. If I drove past a 45 MPH sign, then I keep myself below 45 MPH until I saw a different sign or changed roads. Therefore, when I add a sign in OpenStreetMap, I extend the speed limit until I run into another speed limit sign on the road. Often, this means that the speed limit gets applied to a large chunk of the road.
Although the resulting speed limit may be a bit inaccurate as you get further from the original sign, it is still better than nothing.