When routing on the same network different results are generated between ArcMap and ArcPro. In the below images, the highlighted segment is closed for routing, however in ArcPro, it jumps to the nearest routable segment and creates a route, which is not the desired result. The same routes in ArcMap produce the following error:
“Warning: Location "Graphic Pick 2" in "Stops" is on a non-traversable network element position.
Warning: Need at least 2 valid stops.
Error: "Stops" does not contain valid input for any route.”
How can we get ArcPro to behave in a similar way to ArcMap? In route properties, the Network Locations tab, the options are not the same between ArcMap and ArcPro so finding out how to get them to behave the same is not straight forward. We can set a search tolerance in Pro, but we don’t have to do this in ArcMap to get the desired result. Any ideas?
Figure 1: Routing jumping to nearest routable segment when attempting to route to a closed segment in ArcPro.
Figure 2: Routing jumping to nearest routable segment when attempting to route from a closed segment in ArcPro.
Figure 3: Routing error as expected when attempting to route to a closed segment in ArcMap.
Figure 4: Routing error as expected when attempting to route from a closed segment in ArcMap.
Hello Melisa. The behavior you're seeing in Pro is as designed. Points will always locate on the closest routable and non-restricted point on the network according to the specified locate settings and travel mode. In your case, the closest edge is restricted, so it locates on the next-best option.
When designing this behavior, our assumption is that there was no benefit to locating on a restricted edge or junction because this would just cause the route to fail or be unable to reach the point. Could you tell me what you're trying to do and why you want to see the solve failure?
A couple of other things that may be useful to you (just a guess, since I don't know what you're really trying to do):
This is an important function to us as we use this to test areas that are not routable to public safety and many other purposes. For example, if a road is closed, we want it to fail - not jump to a near segment that does not actually have any connection or access to the closed segment. We want to know that a specific address is not routable, we do not want it to jump to a near segment and suggest routing to a non routable address via something nearby like the behavior exhibited. We also like to use this to determine sections of communities that may be impacted from proposed construction closures, floods, etc.
Okay, I understand.
I think you may be able to achieve at least part of your goal by simply running the Calculate Locations tool or the Add Locations tool and checking the Status field or the network location fields afterwards. You don't actually need to do a solve operation to determine if the points are not routable.
You can also set the Search Tolerance property to something fairly small to reduce the likelihood of the point getting snapped to another street that's far away.
Does this help at all?
Is this behavior in Pro, version specific or is this how routing was designed in all of Pro?
This is how Pro was designed right from the start.
Hi @MelindaMorang, we are coming back to this and finding a lot of issues with changing the settings like the search tolerances etc. There does not seem to be a lot of consistency in results. We previously were able to get desired results with very little to no manipulation in ArcMap, but in Pro we have to change a lot of settings to attempt to get similar results. We really would like to be able to easily identify segments that are not routable/causing unexpected routing errors in the network, but with how Pro was designed it is extremely challenging to do so. Do you know if there are any planned enhancements or changes coming that may assist with our issues?
I'm sorry you're having trouble migrating this workflow from ArcMap. I'm happy to help you find a way to do this in Pro, which may be different from the way you did it in ArcMap. However, I still don't have a very clear picture of exactly what you're trying to do. What data are you starting with, and what information do you want to get from it?
"finding a lot of issues with changing the settings like the search tolerances etc. There does not seem to be a lot of consistency in results."
Can you describe these problems in more detail? What is your overall workflow? Maybe we just need to find the right set of steps for you, and we can resolve these issues.
Another idea for you: Have you tried symbolizing the network dataset in the map by restriction status? You can adjust the network dataset symbology to symbolize a particular travel mode, and it will visually show you which streets are restricted, etc. Some documentation on how to set this up: https://pro.arcgis.com/en/pro-app/latest/help/analysis/networks/network-dataset-layer-symbology.htm
Basically, we like to check our network for errors using a closest facility analysis. We do this to ensure our 911 network is routable to all addresses in our jurisdiction. We use this method to make sure every fire station etc, can get to every address without issue. In ArcMap, this process was easy and all addresses that are on restricted segments are caught as errors (we know we can just verify what segments we have restricted), but this method also allows us to find things that should not come in as errors. This allows us to then put notes in the 911 system so that dispatchers know of any current issues that might occur when they are trying to route emergencies.
When trying to duplicate this in Pro we are seeing snapping to the nearest routable segments, as there is not a search tolerance to account for all distance possibilities, so if there is indeed a routing issue, Pro is not catching them, meaning we are unable to alert Public Safety of these for them to put notes into the 911 system.
We have tried reconfiguring the settings and tolerances in every possible combination we can think of for loading facility/incident locations and for running the analysis. We assumed that snapping the locations to the network lines during loading and dropping the search tolerance for running would result in solutions more similar to what we were seeing in arcmap (not failing to locate points or jump to the nearest routable segments), but it doesnt seem as straightforward as expected
I recommend approaching this using two major steps:
Here is a more detailed breakdown of how you would do this:
I'm still not sure what problems you're having with Search Tolerance, but if you continue to have them, feel free to add screenshots or specific steps, and maybe I can see where the problem is.