Network Dataset not honoring Oneway field

795
4
Jump to solution
09-06-2017 04:47 PM
Highlighted
Occasional Contributor

I have built a network dataset with a oneway field to honor one way travel directions step for step from the tutorials:

 - http://support.esri.com/en/technical-article/000008060

Image 01.JPG shows an sample area of my data before any route is performed with the oneway field digitized with directional arrows. Image 02.JPG displays stop 1 on the right side and stop 2 on the left side.  By the arrows, the route should go around the block the long way, however the oneway field is not being honored it is showing the shortest route. This violates the oneway restriction.

Image 03.JPG displays my Network Dataset Properties Attributes tab, then the Evaluators, then the Field Evaluators for the Oneway attribute.

My Field Evaluators are set up as:

Pre-Logic Script Code:
restricted = False
Select Case UCase([Oneway])
Case "N","TF","T":restricted = True
End Select
Value:
restricted

For the other oneway, just switch "TF" to "FT".

Any help would be appreciated.

Reply
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Esri Regular Contributor

To make sure your evaluator is working properly, you can do the following two things:

Add the network dataset to ArcMap, zoom to where you are doing your route and then on the Network Analyst tool bar, click on the network identify icon (second from right). Now click on any edge and it will pop up the network attributes of that edge and what it is connected to. Check to make sure the OneWay is prohibited as you expect it to be.

The other thing you can do after you add the network dataset to map, bring up its properties and then on the symbology tab, turn on Edges and then click on the edges to bring up the symbol to use and click on arrows and turn on draw arrows on edges and check on one way, click ok. Now the network dataset will symbolize with the one way direction highlighted with arrows. Does it match what you expect?

You can also check what values are stored in the OneWay field that the evaluator is using. Are they N, TF or T?

More info on the above things here:

The Network Identify tool—Help | ArcGIS Desktop 

The network dataset layer—Help | ArcGIS Desktop 

Jay Sandhu

View solution in original post

4 Replies
Highlighted
by
Occasional Contributor

If you change the restriction to = False  - What outcome do you get?

restricted = False
Select Case UCase([Oneway])
  Case "N", "FT", "F": restricted = True
End Select

restricted

Also please check to see if your parameter values- Is the "Value" set to "Prohibited" rather than "Avoid: High" or anything else?

Reply
0 Kudos
Highlighted
Occasional Contributor

Confirmed that the Oneway Parameters are set to Prohibited.

I tried changing the Field Evaluators to:

Pre-Logic Script Code:

restricted = False
Select Case UCase([Oneway])
 Case "N","TF","T":restricted = False
End Select

Value =

Restricted

Still the same results of not honoring oneway field.

Reply
0 Kudos
Highlighted
Esri Regular Contributor

To make sure your evaluator is working properly, you can do the following two things:

Add the network dataset to ArcMap, zoom to where you are doing your route and then on the Network Analyst tool bar, click on the network identify icon (second from right). Now click on any edge and it will pop up the network attributes of that edge and what it is connected to. Check to make sure the OneWay is prohibited as you expect it to be.

The other thing you can do after you add the network dataset to map, bring up its properties and then on the symbology tab, turn on Edges and then click on the edges to bring up the symbol to use and click on arrows and turn on draw arrows on edges and check on one way, click ok. Now the network dataset will symbolize with the one way direction highlighted with arrows. Does it match what you expect?

You can also check what values are stored in the OneWay field that the evaluator is using. Are they N, TF or T?

More info on the above things here:

The Network Identify tool—Help | ArcGIS Desktop 

The network dataset layer—Help | ArcGIS Desktop 

Jay Sandhu

View solution in original post

Highlighted
Occasional Contributor

Checking the values of the Oneway field worked. Before, if the street allowed travel in both directions the value was NULL. I updated my data to show that if the street allows travel in both directions, a 'B' value gets populated in the Oneway field. Than you for your help.