Take stop signs into account during routing

This commit is contained in:
Siarhei Fedartsou 2022-10-27 21:39:21 +02:00
parent 8a4af59838
commit 7f635f2ed6
2 changed files with 3 additions and 2 deletions

View File

@ -485,6 +485,7 @@ function process_turn(profile, turn)
turn.duration = profile.properties.traffic_light_penalty
end
if turn.number_of_roads > 2 or turn.source_mode ~= turn.target_mode or turn.is_u_turn then
if turn.angle >= 0 then
turn.duration = turn.duration + turn_penalty / (1 + math.exp( -((13 / turn_bias) * turn.angle/180 - 6.5*turn_bias)))

View File

@ -670,8 +670,6 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
}),
"has_traffic_light",
&ExtractionTurn::has_traffic_light,
"has_stop_sign",
&ExtractionTurn::has_stop_sign,
"weight",
&ExtractionTurn::weight,
"duration",
@ -795,6 +793,8 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
&ExtractionTurn::is_u_turn,
"has_traffic_light",
&ExtractionTurn::has_traffic_light,
"has_stop_sign",
&ExtractionTurn::has_stop_sign,
"is_left_hand_driving",
&ExtractionTurn::is_left_hand_driving,
"source_restricted",