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
|
||||
|
||||
-- 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
|
||||
|
@ -368,7 +368,7 @@ function way_function (way, result)
|
||||
-- result.name = highway -- if no name exists, use way type
|
||||
end
|
||||
|
||||
if junction and "roundabout" == junction then
|
||||
if junction and ("roundabout" == junction or "mini_roundabout" == highway) then
|
||||
result.roundabout = true
|
||||
end
|
||||
|
||||
@ -390,6 +390,7 @@ function way_function (way, result)
|
||||
oneway == "1" or
|
||||
oneway == "true" or
|
||||
junction == "roundabout" or
|
||||
highway == "mini_roundabout" or
|
||||
(highway == "motorway_link" and oneway ~="no") or
|
||||
(highway == "motorway" and oneway ~= "no") then
|
||||
result.backward_mode = mode.inaccessible
|
||||
|
@ -162,7 +162,7 @@ function way_function (way, result)
|
||||
end
|
||||
|
||||
-- roundabouts
|
||||
if "roundabout" == junction then
|
||||
if "roundabout" == junction or "mini_roundabout" == highway then
|
||||
result.roundabout = true
|
||||
end
|
||||
|
||||
|
@ -103,11 +103,11 @@ function way_function (way, result)
|
||||
-- nothing to do
|
||||
elseif oneway == "-1" then
|
||||
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
|
||||
end
|
||||
|
||||
if junction == 'roundabout' then
|
||||
if junction == 'roundabout' or highway == 'mini_roundabout' then
|
||||
result.roundabout = true
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user