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:
parent
e7159adf59
commit
7641b12b08
@ -225,7 +225,7 @@ function way_function (way, result)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- roundabout handling
|
-- roundabout handling
|
||||||
if junction and "roundabout" == junction then
|
if junction and "roundabout" == junction or "mini_roundabout" == highway then
|
||||||
result.roundabout = true
|
result.roundabout = true
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -285,7 +285,7 @@ function way_function (way, result)
|
|||||||
else
|
else
|
||||||
-- biking not allowed, maybe we can push our bike?
|
-- biking not allowed, maybe we can push our bike?
|
||||||
-- essentially requires pedestrian profiling, for example foot=no mean we can't push a 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
|
if pedestrian_speeds[highway] then
|
||||||
-- pedestrian-only ways and areas
|
-- pedestrian-only ways and areas
|
||||||
result.forward_speed = pedestrian_speeds[highway]
|
result.forward_speed = pedestrian_speeds[highway]
|
||||||
@ -317,7 +317,7 @@ function way_function (way, result)
|
|||||||
|
|
||||||
-- direction
|
-- direction
|
||||||
local impliedOneway = false
|
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
|
impliedOneway = true
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -357,7 +357,7 @@ function way_function (way, result)
|
|||||||
|
|
||||||
-- pushing bikes
|
-- pushing bikes
|
||||||
if bicycle_speeds[highway] or pedestrian_speeds[highway] then
|
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
|
if result.backward_mode == mode.inaccessible then
|
||||||
result.backward_speed = walking_speed
|
result.backward_speed = walking_speed
|
||||||
result.backward_mode = mode.pushing_bike
|
result.backward_mode = mode.pushing_bike
|
||||||
|
@ -368,7 +368,7 @@ function way_function (way, result)
|
|||||||
-- result.name = highway -- if no name exists, use way type
|
-- result.name = highway -- if no name exists, use way type
|
||||||
end
|
end
|
||||||
|
|
||||||
if junction and "roundabout" == junction then
|
if junction and ("roundabout" == junction or "mini_roundabout" == highway) then
|
||||||
result.roundabout = true
|
result.roundabout = true
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -390,6 +390,7 @@ function way_function (way, result)
|
|||||||
oneway == "1" or
|
oneway == "1" or
|
||||||
oneway == "true" or
|
oneway == "true" or
|
||||||
junction == "roundabout" or
|
junction == "roundabout" or
|
||||||
|
highway == "mini_roundabout" or
|
||||||
(highway == "motorway_link" and oneway ~="no") or
|
(highway == "motorway_link" and oneway ~="no") or
|
||||||
(highway == "motorway" and oneway ~= "no") then
|
(highway == "motorway" and oneway ~= "no") then
|
||||||
result.backward_mode = mode.inaccessible
|
result.backward_mode = mode.inaccessible
|
||||||
|
@ -162,7 +162,7 @@ function way_function (way, result)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- roundabouts
|
-- roundabouts
|
||||||
if "roundabout" == junction then
|
if "roundabout" == junction or "mini_roundabout" == highway then
|
||||||
result.roundabout = true
|
result.roundabout = true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -103,11 +103,11 @@ function way_function (way, result)
|
|||||||
-- nothing to do
|
-- nothing to do
|
||||||
elseif oneway == "-1" then
|
elseif oneway == "-1" then
|
||||||
result.forward_mode = mode.inaccessible
|
result.forward_mode = mode.inaccessible
|
||||||
elseif oneway == "yes" or oneway == "1" or oneway == "true" or junction == "roundabout" then
|
elseif oneway == "yes" or oneway == "1" or oneway == "true" or junction == "roundabout" or highway == "mini_roundabout" then
|
||||||
result.backward_mode = mode.inaccessible
|
result.backward_mode = mode.inaccessible
|
||||||
end
|
end
|
||||||
|
|
||||||
if junction == 'roundabout' then
|
if junction == 'roundabout' or highway == 'mini_roundabout' then
|
||||||
result.roundabout = true
|
result.roundabout = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user