Inconsistent behavior in Network Analyst when adding origins

3755
16
07-25-2014 01:21 PM
SheldonBrown
New Contributor III

Hi all,

I noticed some strange behavior when solving a series of OD cost matrices in Network Analyst. The crux of the problem is that some origins and destinations are not being included in the solve. The strange part is that they are already set to be coincident with the network features I'm snapping to, so the search tolerance parameter shouldn't be an issue (I've verified this by running the Near tool, and confirming that NEAR_DISTANCE equals zero). Here's an image of a simplified example with two origin points:

Untitled.png

After adding the origins to the network with a search tolerance of 15 meters, I get this:

Untitled_1.png

The origin on the right is unlocated, despite being (seemingly) identically positioned relative to the relevant network features as the origin on the left.

The two ways I've found that I can get the origin on the right to locate are to:

  1. Increase the search tolerance arbitrarily. At a tolerance of 500 meters, the origin will locate in the correct spot.
  2. Maintain the shorter search tolerance but uncheck "Exclude restriction portions of the network" from the Network Locations tab in the OD Cost Matrix Properties window. (To be clear, the origin will always locate at a search tolerance of 500 meters with our without excluding restricted portions of the network.)

Neither of these two things should have any effect. As I've already mentioned, the origin is located on the feature. Additionally, there are no relevant network restrictions (that I'm aware of ... and I built the network). Besides, when it does locate, the origin gets placed in the correct spot, so that particular link can't be restricted.

Any ideas for getting to the bottom of this? I'd rather not just take one of the "solutions" above without fully understanding what's going on.

Thanks for any help.

0 Kudos
16 Replies
DanPatterson_Retired
MVP Emeritus

If you go the other way...same result?  Have you ruled out breaks in the network?

0 Kudos
SheldonBrown
New Contributor III

I'm not sure what you mean by "go the other way." At this point I'm not actually solving the analysis layer, just trying to add origins and destinations.

For the same reason, breaks in the network shouldn't be an issue here - I can see that both origins are directly on top of the features I want them to snap to, yet one does and the other doesn't.

0 Kudos
DanPatterson_Retired
MVP Emeritus

It is like it isn't part of the network, ie, a line segment sticking out in space, which may be why when you increase the tolerance, the point is found.  Otherwise I have never seen problems that weren't associated with network connectivity (excluding solve bugs of course)

Sheldon, you might also want to move this to the Network Analyst are in Places even though you have tags

0 Kudos
SheldonBrown
New Contributor III

Thanks, I've moved it.

I'm pretty sure this isn't a connectivity problem. If I use the same pair of origins with the same parameters on a route layer, network analyst successfully locates the stops and finds a route between them.

0 Kudos
DanPatterson_Retired
MVP Emeritus

Sheldon
I can find nothing in the help files other than the search tolerance examples that you gave (ie the ? in unlocated locations).  Is there any chance that you performed some modifications after initial setup since this link allows for updating locations after changes have been made.  I am out of ideas, unless it is a bug...maybe someone else can weigh in...good luck

0 Kudos
MelindaMorang
Esri Regular Contributor

Hi Sheldon.  From your descriptions, it really sounds like the network edge is restricted.

- When you use a small search tolerance, the point can't find a non-restricted network element to locate on, so it shows up as unlocated.

- When you increase the search tolerance a lot, it finds another network edge that isn't restricted and locates on that network edge as well.  Note that the point always shows up in the location of the original input no matter which network edge it's getting located on.  The point doesn't move to show you that it located on a different edge.

- When you uncheck Exclude restricted portions of the network, it is now able to locate on the restricted edge that it's right next to, so it still works with the small search tolerance.

Try using the Network Identify tool (on the Network Analyst toolbar).  Click on that network edge that's causing problems.  You should be able to see the restriction values for it for any restrictions in your network.  There must be something happening that you didn't expect.

0 Kudos
SheldonBrown
New Contributor III

Thanks, Melinda.

Using the Network Identify tool, there's nothing obvious that pops up that would indicate a restriction on the two network elements that are close by. I see their length, travel time, source feature, and their connectivity to other elements. Everything seems normal. The properties are similar for the links proximate to the unlocated origin and the located origin. I didn't define any restriction attributes for this network dataset.

The output of a Route analysis shows that the origin is snapping to junction immediately to the right along the network. The properties of those links are also similar.

0 Kudos
MelindaMorang
Esri Regular Contributor

Hmm...then I'm not sure what's going on.  Are you able to share your data?  If so, I could take a look.

0 Kudos
SheldonBrown
New Contributor III

Sure. Let me try to put together something small and reproducible.

0 Kudos