Handle small roundabouts, fixes #516.

This gives us ~51k additional roundabout instructions.
Guidance handes sizes internally.

Note: it is highway=mini_roundabout but junction=roundabout

References:
- http://wiki.openstreetmap.org/wiki/Tag:highway%3Dmini_roundabout
- http://wiki.openstreetmap.org/wiki/Tag:junction=roundabout
- http://taginfo.openstreetmap.org/tags/highway=mini_roundabout
This commit is contained in:
Daniel J. Hofmann
2016-05-30 16:27:06 +02:00
parent e7159adf59
commit 7641b12b08
4 changed files with 9 additions and 8 deletions
+4 -4
View File
@@ -225,7 +225,7 @@ function way_function (way, result)
end
-- roundabout handling
if junction and "roundabout" == junction then
if junction and "roundabout" == junction or "mini_roundabout" == highway then
result.roundabout = true
end
@@ -285,7 +285,7 @@ function way_function (way, result)
else
-- biking not allowed, maybe we can push our bike?
-- essentially requires pedestrian profiling, for example foot=no mean we can't push a bike
if foot ~= 'no' and junction ~= "roundabout" then
if foot ~= 'no' and junction ~= "roundabout" and highway ~= "mini_roundabout" then
if pedestrian_speeds[highway] then
-- pedestrian-only ways and areas
result.forward_speed = pedestrian_speeds[highway]
@@ -317,7 +317,7 @@ function way_function (way, result)
-- direction
local impliedOneway = false
if junction == "roundabout" or highway == "motorway_link" or highway == "motorway" then
if junction == "roundabout" or highway == "mini_roundabout" or highway == "motorway_link" or highway == "motorway" then
impliedOneway = true
end
@@ -357,7 +357,7 @@ function way_function (way, result)
-- pushing bikes
if bicycle_speeds[highway] or pedestrian_speeds[highway] then
if foot ~= "no" and junction ~= "roundabout" then
if foot ~= "no" and junction ~= "roundabout" and highway ~= "mini_roundabout" then
if result.backward_mode == mode.inaccessible then
result.backward_speed = walking_speed
result.backward_mode = mode.pushing_bike