diff --git a/packages/chaire-lib-backend/src/utils/processManagers/osrmProfiles/cycling.lua b/packages/chaire-lib-backend/src/utils/processManagers/osrmProfiles/cycling.lua index 458ae607..2fad4fa2 100755 --- a/packages/chaire-lib-backend/src/utils/processManagers/osrmProfiles/cycling.lua +++ b/packages/chaire-lib-backend/src/utils/processManagers/osrmProfiles/cycling.lua @@ -18,8 +18,9 @@ function setup() properties = { u_turn_penalty = 20, traffic_light_penalty = 15, - --weight_name = 'cyclability', - weight_name = 'routability', + -- Transition: we prefer cyclability as a baseline + weight_name = 'cyclability', + --weight_name = 'routability', process_call_tagless_node = false, max_speed_for_map_matching = 110/3.6, -- kmph -> m/s use_turn_restrictions = false, @@ -600,6 +601,14 @@ function safety_handler(profile,way,result,data) backward_penalty = math.min(backward_penalty, profile.service_penalties[data.service]) end + -- Transition: Add penalty for bicycle=discouraged tag + -- See the link above about the discouraged tag + local bicycle_tag = way:get_value_by_key("bicycle") + if bicycle_tag == "discouraged" then + forward_penalty = forward_penalty * 0.5 + backward_penalty = backward_penalty * 0.5 + end + if result.forward_speed > 0 then -- convert from km/h to m/s result.forward_rate = result.forward_speed / 3.6 * forward_penalty