diff --git a/profiles/bicycle.lua b/profiles/bicycle.lua index 075489840d..fd0170754b 100644 --- a/profiles/bicycle.lua +++ b/profiles/bicycle.lua @@ -70,6 +70,12 @@ function setup() restricted_highway_whitelist = Set { }, + construction_whitelist = Set { + 'no', + 'widening', + 'minor', + }, + access_tags_hierarchy = Sequence { 'bicycle', 'vehicle', diff --git a/profiles/car.lua b/profiles/car.lua index 8470bf5350..eabd0a1944 100644 --- a/profiles/car.lua +++ b/profiles/car.lua @@ -155,6 +155,12 @@ function setup() 'living_street', }, + construction_whitelist = Set { + 'no', + 'widening', + 'minor', + }, + route_speeds = { ferry = 5, shuttle_train = 10 diff --git a/profiles/foot.lua b/profiles/foot.lua index 302b4642de..3e1c6fc1c7 100644 --- a/profiles/foot.lua +++ b/profiles/foot.lua @@ -57,6 +57,8 @@ function setup() restricted_highway_whitelist = Set { }, + construction_whitelist = Set {}, + access_tags_hierarchy = Sequence { 'foot', 'access' diff --git a/profiles/lib/way_handlers.lua b/profiles/lib/way_handlers.lua index 4c824800da..e5d0893741 100644 --- a/profiles/lib/way_handlers.lua +++ b/profiles/lib/way_handlers.lua @@ -521,7 +521,7 @@ function WayHandlers.blocked_ways(profile,way,result,data) local construction = way:get_value_by_key('construction') -- Of course there are negative tags to handle, too - if construction and construction ~= 'no' and construction ~= 'widening' and construction ~= 'minor' then + if construction and not profile.construction_whitelist[construction] then return false end end