You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a followup to #4255, we need to add support for via way turn restrictions that are conditional based on time.
This requires adding support for via-ways to the updator (here). The main here is that we have multiple turns that can be identified here.
A via way (as discussed here) requires the addition of an additional node.
a - b - c - d creates ab, bc, bc_2, and cd, if there is a restriction via bc`. We need to ensure that our mappings for these turns is consistent with the addition of nodes.
The text was updated successfully, but these errors were encountered:
With the newly added support for via-way restrictions, we should add support for conditional via-way restrictions as well. These are necessary to support restrictions like no u-turn during rush-hour.
Such restrictions are currently handled by applying an ultra-high penalty for specific turns. Right now we re-construct which edges to add a penalty to by using the first node along the geometry. This does not work with via-ways introduced into the mix, since multiple OSRM nodes now can have the same geometry.
We have essentially two choices how to handle the conditional via-ways. Either, we generate a via-way restriction that allows all turns at first and penalise the outgoing edge:
Let's say we have a conditional u-turn restriction from a to c. Since the restriction is not always active, we need to apply a penalty when it becomes active. However, based on the in/out geometry alone we cannot distinguish between v_b to c which is allowed and v_a to c which isn't.
The same thing holds true, if we keep the restriction shapes in addition to the original turn and penalise the turn onto the non-duplicated way when the via-way restriction becomes active:
(the second example omits unrelated turns)
In this scenario we cannot determine between the turn from a to v_a or to v_b.
To handle via-way conditionals, we need to provide a direct access to the correct penalty to update when the condition becomes active.
As a followup to #4255, we need to add support for via way turn restrictions that are conditional based on time.
This requires adding support for via-ways to the updator (here). The main here is that we have multiple turns that can be identified here.
A via way (as discussed here) requires the addition of an additional node.
a - b - c - d
createsab
,bc
, bc_2, and
cd, if there is a restriction via
bc`. We need to ensure that our mappings for these turns is consistent with the addition of nodes.The text was updated successfully, but these errors were encountered: