Exclude specific lines does not work

210
4
Jump to solution
05-18-2020 11:12 AM
Christian_MartinMützel1
New Contributor III

Hi,

I'm investigating travel patterns for two different years, in between those time points a new MRT line opened. Therefore, I need to run my analysis two times: once for before the new MRT line opened, and once for after the new MRT line opened. My network dataset includes the new MRT line and the analysis including the new MRT line works just fine. However, I do not succeed in excluding the new MRT line to run the analysis for the time before it opened.

Below, you can find a screenshot of my settings. In the Network Dataset Properties I excluded the new MRT Lines 25/26 (red squares). Then I rebuilt the network. For testing whether the exclusion was successful before continuing my analysis, I made a route analysis for the two points in the red circle. The output of the route analysis, however, shows that the exclusion was not successful and the route instead still follows the new MRT Lines 25/26. But what I want is the route to follow the purple arrows.

Anyone knows what has gone wrong or what I have to adjust?

0 Kudos
1 Solution

Accepted Solutions
MelindaMorang
Esri Regular Contributor

Oops, sorry, I misinterpreted your first screenshot.  I understand now, and it seems like you have the right idea.

In your original post, you mentioned that you updated the network dataset properties and rebuilt the network dataset. If I understand correctly, you did this:

- Opened the network dataset properties

- When to the Travel Attributes -> Costs tab

- Selected your PublicTransitTime cost attribute

- Opened up the Parameters section

- Updated the default value of the Exclude Lines parameter to be "25 26"

- Rebuilt the network dataset

Did I get that right?

What you did here is to update the default value of the parameter.  The parameter belongs to the cost attribute, which in turn is used by a travel mode.  However, the travel mode need not use the default value of the parameter.  It can be configured to use a different value.  For example, this is often used with, say, height restrictions.  The restriction attribute can have a parameter associated with vehicle height with is set to some default, but if you make a travel mode for modeling tall trucks, you would set the parameter value to something bigger just for that travel mode.

To further complicate matters, a network analysis layer can have its own custom travel mode that is different from any of the travel modes saved on the network.  So, you could use the default travel mode on the network but then modify it in the layer properties to change the parameter values.

I suggest you open the travel mode properties of the Route layer you're currently solving and make sure the updates to the parameter values are actually being used by the layer itself.  My guess is that the changes you made to the default values are not being used because you created the Route layer before updating the defaults, so it's using the values present in the travel mode before the changes.  I could be wrong, but this is what I would check next.

All about parameters: Use parameters with network attributes—ArcGIS Pro | Documentation 

All about travel modes, including how to update parameters: Travel modes—ArcGIS Pro | Documentation 

View solution in original post

4 Replies
MelindaMorang
Esri Regular Contributor

The 25 and 26 in your screenshot are LineVariantElements, not Lines.  The Exclude Lines parameter is for entire Lines, which represent an entire transit route or line (like "the Blue Line" or "Bus Route 26").  A LineVariantElement is an individual segment between two stops along a route.

Lines: Network Analyst public transit data model—ArcGIS Pro | Documentation 

LineVariantElements: Network Analyst public transit data model—ArcGIS Pro | Documentation 

You cannot exclude individual LineVariantElements using a parameter.  However, for an individual analysis, you can use Barriers to prevent travel along them.

Barriers—ArcGIS Pro | Documentation 

0 Kudos
Christian_MartinMützel1
New Contributor III

I'm not sure whether I'm getting you correct or maybe my screenshot is a bit misleading:

(Screenshot 1) The yellow lines in the map represent the Lines 25 26 in the Lines table (two directions, therefore two Lines). I want to exclude the whole Lines 25 26, and not just part of the Line (some LineVariantElements) like in (Screenshot 2).

So what I did was set the Exclude Lines Parameter to 25 26, and then in order to test whether the Exclusion was successful, I tried a routing analysis (Screenshot in the first post, result = green route overlaying the yellow Line) and found that the Lines have not been excluded. Instead of following the purple arrows, the route still follows the Lines 25 26 which should be excluded.

0 Kudos
MelindaMorang
Esri Regular Contributor

Oops, sorry, I misinterpreted your first screenshot.  I understand now, and it seems like you have the right idea.

In your original post, you mentioned that you updated the network dataset properties and rebuilt the network dataset. If I understand correctly, you did this:

- Opened the network dataset properties

- When to the Travel Attributes -> Costs tab

- Selected your PublicTransitTime cost attribute

- Opened up the Parameters section

- Updated the default value of the Exclude Lines parameter to be "25 26"

- Rebuilt the network dataset

Did I get that right?

What you did here is to update the default value of the parameter.  The parameter belongs to the cost attribute, which in turn is used by a travel mode.  However, the travel mode need not use the default value of the parameter.  It can be configured to use a different value.  For example, this is often used with, say, height restrictions.  The restriction attribute can have a parameter associated with vehicle height with is set to some default, but if you make a travel mode for modeling tall trucks, you would set the parameter value to something bigger just for that travel mode.

To further complicate matters, a network analysis layer can have its own custom travel mode that is different from any of the travel modes saved on the network.  So, you could use the default travel mode on the network but then modify it in the layer properties to change the parameter values.

I suggest you open the travel mode properties of the Route layer you're currently solving and make sure the updates to the parameter values are actually being used by the layer itself.  My guess is that the changes you made to the default values are not being used because you created the Route layer before updating the defaults, so it's using the values present in the travel mode before the changes.  I could be wrong, but this is what I would check next.

All about parameters: Use parameters with network attributes—ArcGIS Pro | Documentation 

All about travel modes, including how to update parameters: Travel modes—ArcGIS Pro | Documentation 

View solution in original post

Christian_MartinMützel1
New Contributor III

Yes you're right, the steps you mentioned in the beginning of your post are exactly what I did.

When I update the parameters in the travel mode properties of the Route layer itself, the Lines are succesfully excluded. Thanks for your help!

0 Kudos