Routing penalties/Controlling U-turn penalties
Sjabloon:Hatnote Sjabloon:ForumLink
The Waze routing algorithm has a method of penalizing some double-left and double-right turns. This can prevent U-turns at H or # style intersections on divided and parallel roads.
It is useful for preventing the sequence of two turns that would make up the U-turn, while still allowing the individual turns. However, if either of the two turns making up the U-turn is illegal or impossible, disallow that turn instead. The U-turn will then not be routed, and the following penalty does not matter.
Preventing median U-turns
An extremely large U-turn penalty is set for a double-left or double-right turn when all three of the conditions below are met:
- Three segments: The U-turn is a reversal of driving direction through three segments:
an incoming segment (A), a single median segment (B) and an outgoing segment (C). - Short median: The median segment (B) is shorter than Routing penalties/U-turn minimum.
As a safety margin, leave a 1 m buffer zone by using Routing penalties/U-turn minimum or less. - In/out parallelism: The in and out segments (A and C) are within ±5° of parallel to each other.
It is possible for this method to fail to prevent a U-turn when it is the first segment of a route, or it immediately follows a reroute. If you observe this method to fail in other situations when it is implemented properly, please report it in this forum thread |
Allowing median U-turns
To allow a double-left or double-right turn through the median segment, break any one of the above conditions. For example:
- To allow median U-turns in both directions, break condition #2 by making the median segment (B) Routing penalties/U-turn minimum or longer
- To allow a U-turn from only one direction, first set up U-turn prevention for both directions. Break condition #3 on the side where U-turns are allowed. Increase or decrease the angles so that the in and out segments (A and C) are not parallel. A micro-dogleg can be used to change the angle without changing the appearance of the segment.
Checking for parallel incoming and outgoing segments
Condition #3 for U-turn prevention requires that the in and out segments (A and C) are within ±5º of parallel to each other. This is checked by using a straight median segment as the reference and the Junction Angle Info (JAI) browser extension to measure angles. JAI may be set for absolute or turn angles; using either is OK.
Straight median segments
If the median segment is straight, sum the two angles making up the U-turn:
- The angle between the incoming and median segments (between A and B)
- The angle between the median and outgoing segments (between B and C)
The in and out segments (A and C) are considered parallel if the sum is Sjabloon:Font color.
The short 14m median segment in the above examples satisfies condition #2 for U-turn prevention. |
Curved median segments
If the median segment (B) has been shaped with geometry nodes, it is not straight and cannot be used for determining parallelism. Instead, draw a straight segment connected at the same in and out junctions (where in-segment (A) junctions with the median segment (B) and where the median segment (B) junctions with the out-segment (C)). Check the angles using this new straight segment, and delete the new segment afterwards.
Be sure the junctions are not locked above your rank. Otherwise, drawing a new temporary segment connected to locked junctions may produce a save error even if it is deleted prior to saving. |
Additional examples
Example | Tip | Details |
---|---|---|
Cutting a median segment into two may have unintended consequences | U-turns are legal at this intersection. Even though U-turn prevention will not be triggered here, Waze will rarely route a U-turn at this intersection. When the railroad was junctioned with the median segment, it cut a single median into two. The two-segment discontinuity between divided roads of Major Blvd can trigger a lower penalty mechanism designed to discourage detours off the main road (see Big Detour Prevention, BDP). | |
Cutting a median segment into two may have unintended consequences | U-turns are not legal at this intersection, but Waze may route a U-turn here anyway. Cutting the median breaks condition #1, so U-turn prevention will not trigger. Furthermore, BDP might not trigger here if all of its criteria are not met. | |
A median segment Routing penalties/U-turn minimum or longer will always allow a U-turn | While condition #3 requires a straight segment for determining parallel in and out segments, condition #2 is the measure of the length of the median segment itself. Be careful when the space between the divided road is small. Ensure the U-turn segment is Routing penalties/U-turn minimum or longer by adjusting geometry. A median segment of any shape can trigger a U-turn penalty between parallel roads if it is not long enough. | |
To ensure proper routing between two closely spaced parallel roads, connect the two with a segment Routing penalties/U-turn minimum or longer | U-turn prevention triggers for both double-left and double-right turns over any road type. If the three conditions for median U-turn prevention are met, a large penalty will be applied, irrespective of whether the turn is onto the same road in the opposite direction or onto a completely different road. Both double-left and double-right turns can be penalized, regardless of country, and can occur for one way or two way segments. |