Enable turn penalties on car profile, using values tuned by comparing real-world sample routes with map-matched routes.
This commit is contained in:
parent
980e4ee89a
commit
b3822d5802
@ -131,6 +131,11 @@ maxspeed_table = {
|
||||
traffic_signal_penalty = 2
|
||||
use_turn_restrictions = true
|
||||
|
||||
local turn_penalty = 10
|
||||
-- Note: this biases right-side driving. Should be
|
||||
-- inverted for left-driving countries.
|
||||
local turn_bias = 1.2
|
||||
|
||||
local obey_oneway = true
|
||||
local ignore_areas = true
|
||||
local u_turn_penalty = 20
|
||||
@ -431,3 +436,12 @@ function way_function (way, result)
|
||||
end
|
||||
end
|
||||
|
||||
function turn_function (angle)
|
||||
---- compute turn penalty as angle^2, with a left/right bias
|
||||
k = turn_penalty/(90.0*90.0)
|
||||
if angle>=0 then
|
||||
return angle*angle*k/turn_bias
|
||||
else
|
||||
return angle*angle*k*turn_bias
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user