# Difference between revisions of "Routing penalties/Controlling U-turn penalties"

(→{{@|Preventing median U-turns}}: simplification. set instead of assess or apply (consistently). Use of segments "A" "B" and "C" instead of "incoming" "median" and "outgoing") |
(→{{@|Allowing median U-turns}}: consistent use of "conditions" instead of switching to "criteria", segments A,B,C, Use simpler words.) |
||

Line 18: | Line 18: | ||

==== {{@|Allowing median U-turns}} ==== | ==== {{@|Allowing median U-turns}} ==== | ||

− | To allow a double-left or double-right turn through a median segment, break any one of the [[#Preventing median U-turns|above | + | To allow a double-left or double-right turn through a median segment, break any one of the [[#Preventing median U-turns|above conditions]]. For example: |

− | * To allow median U-turns in both directions, break condition #2 by making the median segment longer than 15 m (49.21 ft) | + | * To allow median U-turns in both directions, break condition #2 by making the the median segment B longer than 15 m (49.21 ft) |

− | * To | + | * To allow a U-turn from only one direction, first set up U-turn prevention for both directions. Then, to allow U-turns on one side, change the angles for segment A and segment B so they are [[#Checking for parallel segments|not parallel]]. A [[Glossary#mDL|micro-dogleg]] can be used to change the angle without changing the appearance of segment. |

<br> | <br> | ||

## Revision as of 11:59, 9 September 2015

## Contents

### Median U-turn penalty

For the latest discussion on this section please visit the wiki forum thread. |

The Waze routing algorithm sets a penalty for some double-left or double-right turns. This can prevent U-turns at H-style intersections on divided and parallel roads.

#### Preventing median U-turns

A large U-turn penalty is set for a double-left or double-right turn when * all three* of the conditions below are met:

- The U-turn involves a reversal of driving direction through 3 segments:

A) an incoming segment, B) a single median segment, and C) an outgoing segment - Segment B is shorter than 15 m (49.21 feet)
- Segment A and segment B 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 reroute. If you observe this method to fail 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 a 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 the median segment B longer than 15 m (49.21 ft)
- To allow a U-turn from only one direction, first set up U-turn prevention for both directions. Then, to allow U-turns on one side, change the angles for segment A and segment B so they are not parallel. A micro-dogleg can be used to change the angle without changing the appearance of segment.

#### Checking for parallel incoming and outgoing segments

Condition #3 for U-turn prevention requires the incoming and outgoing segments to be within ±5º of parallel to each other. These two segments are considered parallel if their angles with respect to a *straight* median segment sum to 180±5º (i.e, between 175º and 185º).

Angles can be easily checked with the Junction Angle Info script add-on, which can be set to report absolute angles or turn angles ("departure"). For the purpose of determining parallelism, summing either measurements will work.

However, if the median segment has geometry nodes and is not straight, it cannot be used as a reference. In this case, temporarily add a straight segment to the same junctions as the existing curved median. Check the angles using this straight median and delete when done.