From 068e2407397a2ddb3f807b4cda0c9f239d25c498 Mon Sep 17 00:00:00 2001 From: MichalPP Date: Sat, 19 May 2018 10:50:05 +0200 Subject: [PATCH] prefer ways on route=bicycle --- profiles/bicycle.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/profiles/bicycle.lua b/profiles/bicycle.lua index 0cd3a62c9..6b083e580 100644 --- a/profiles/bicycle.lua +++ b/profiles/bicycle.lua @@ -32,6 +32,7 @@ function setup() turn_penalty = 6, turn_bias = 1.4, use_public_transport = true, + route_preference = 1.1, allowed_start_modes = Set { mode.cycling, @@ -314,6 +315,7 @@ function handle_bicycle_tags(profile,way,result,data) end safety_handler(profile,way,result,data) + bicycle_relation_handler(profile,way,result,data,relations) end @@ -454,6 +456,16 @@ function cycleway_handler(profile,way,result,data) end end +function bicycle_relation_handler(profile,way,result,data,relations) + -- prefer ways on route=bicycle by factor of profile.route_preference + if result.forward_rate and Relations.filter_relations(relations, way, "route", "bicycle", "route", "forward") == "bicycle" then + result.forward_rate = result.forward_rate * profile.route_preference + end + if result.backward_rate and Relations.filter_relations(relations, way, "route", "bicycle", "route", "backward") == "bicycle" then + result.backward_rate = result.backward_rate * profile.route_preference + end +end + function bike_push_handler(profile,way,result,data) -- pushing bikes - if no other mode found if result.forward_mode == mode.inaccessible or result.backward_mode == mode.inaccessible or