Unique turn delay values per junction.

05-18-2011 03:26 PM
New Contributor
I have a network dataset of my city, and am doing route finding on it, based on finding the least complicated route. I have global turns working just fine, but what I really want to be able to do, is to assign a unique turn delay to each junction on my dataset.
Currently there is a set delay for every right or left turn (the delay is set high, to minimise the number of turns), but for my analysis to be more accurate, the delay value that I need to assign, needs to be different for each intersection.

Is this possible?
Tags (2)
0 Kudos
1 Reply
Esri Contributor
What you want to do is possible, and as I understand your objective, the way to do it is by adding turn features. A turn feature represents a movement from one edge to another (or back onto the same edge where it started for a U-turn). Like edges and junctions, a turn can also have a unique time penalty. The steps below outline how you can incorporate unique turn penalties into your network.

1. Create a turn feature class, perhaps called "TurnPenalties"
2. Add an field to the feature class; call it something like "Penalty".
3. Digitize turn features and record their unique penalties in the Penalty field. (It may be simplest to use the same units as your network cost attribute.)
4. Once you've saved the turns you've digitized, and you've stopped editing...
...Open the Network Dataset Properties dialog box.
...Open the Evaluators dialog box for the cost attribute you're solving your routes on.
...Make the "TurnPenalties" source use a field evaluator.
...Set the "Value" column to "Penalty" (the name of the field). This causes the network dataset to read the turn penalty values from the Penalty field you created.
...Build the network and perform your analysis.

If you square the number of junctions in your network, you get the number of potential turns. Even for a small network, that's a lot of potential turns. To minimize the number or turns you have to digitize, try to use the global turn delay evaluator where you can. So keep in mind that the penalty of a turn feature OVERRIDEs the penalty of a global turn at an intersection. So if some of your turns can be given generic values, use the global turn delay evaluator for them and then digitize turn features only where their turn penalties need to be unique.

One other point to be aware of is that the Global Turn Delay Evaluator allows you to assign values by turn direction and hierarchy level. If you can base your turn penalties on hierarchy, you might not have to digitize any turns. Also, there are many more turning possibilities than shown by default in the Global Turn Delay Evaluator dialog box. To see more, click "Load From File" and browse to:
C:\Program Files (x86)\ArcGIS\Desktop10.0\NetworkAnalyst\NetworkConfiguration\AllNetworkGlobalTurnDelaySettings.xml

Good luck!