# Turns in the vector network analysis

## Headline text

The turntable module (**v.net.turntable**) is one of vector network analysis modules.
It creates a turntable with the costs for every possible turn on every possible node (intersection, crossroad) in given layer. U-turns are taken in account too.

For better handling, a linegraph is created. In this linegraph, every line is represented by two nodes. These nodes have positive and negative values respectively, with their absolute values identical. Every node corresponds to opposite line direction. The positive node matches the direction of line. The negative node matches the opposite direction. For better understanding, let's have a travelling subject standing on a line (road) before an intersection wanting to cross it. This line's direction is TOWARDS the intersection. Travelling from this line through the intersection means that the subject is currently standing on the POSITIVE node representation of the line. After crossing to this line from any permitted direction, the subject gets to the NEGATIVE point representation of the line.

These two nodes (corresponding to the same line) are connected with two U-turns (for both directions). Every U-turn direction belongs to another intersection. U-turn from the POSITIVE node to the NEGATIVE one belongs to the intersection we are going to cross. The other U-turn belongs to the intersection at the opposite end of this line.

### Turntable description (the table itself)

Every record in the turntable represents one turn.

Columns description:

cat – category in tlayer (layer with turntable), which corresponds to both lines in turn

ln_from – unique category in tucats layer assigned to the line

ln_to – unique category in tucats layer assigned to the line

cost – cost for turn in forward direction from ln_from to ln_to (integer or double)

isec – point category in tucats layer, which represents the intersection, where the turn belongs

angle – angle between the lines before and after the intersection (radians)