Inconsistent behavior in Network Analyst when adding origins

3833
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
SheldonBrown
New Contributor III

OK - I've uploaded a FGDB to Dropbox containing a small network dataset with two origins.

Here are the steps to reproduce the error:

  1. Add network_debug_ND to ArcMap.
  2. Create a new OD Cost Matrix layer.
  3. In 'Network Locations' uncheck "origins" and make sure "roads_small" is set to shape.
  4. Check "Exclude restricted portions of the network."
  5. Set search tolerance to 15 meters.
  6. Add the "origins" feature class to the Origins network layer.

The origin on the right will not locate. Expanding the search tolerance or allowing location on restricted elements will fix the problem.

Thanks for any help.

0 Kudos
MelindaMorang
Esri Regular Contributor

Hi Sheldon.  I see the same behavior as you.  It's rather baffling.  We're going to look into it further on our end.

However, you might be able to work around the problem on your end.  I noticed that you have a junctions source in your network called "origins".  Origins should really be part of your network analysis layer and not built into the network itself.  When I remove the origins junction source, your origin points load correctly into the OD Matrix.

0 Kudos
SheldonBrown
New Contributor III

Thanks for looking.

Ultimately I'm using your Add GTFS to a Network Dataset tool to calculate travel times between transit stops. So, the "origins" in my case are doing double duty - they get created as, and are part of, the network dataset, and I use them again as origins. I have about 7,500 transit stops in my network. Only about 70 - randomly peppered throughout the network - don't locate when I run the OD Cost Matrix. The rest seem fine.

0 Kudos
MelindaMorang
Esri Regular Contributor

Oh, I see.  Is there some reason why you don't want the points to locate directly on the origins?  If you're assessing travel time between stops, then having the stop located on the stop junction features wouldn't be a bad thing.

0 Kudos
SheldonBrown
New Contributor III

No, I suppose there isn't. I'll try that on the next full run. But still, the origins ‌should ‌snap to the street features. I'll be curious to learn if it's a bona fide bug.

0 Kudos
JaySandhu
Esri Regular Contributor

Sheldon,

This does look like an issue that we need to fix. Thanks for reporting it. And just to reiterate, the best way to create/maintain street data is not to include the origins/destination type locations as junctions in the network as they can cause ambiguity with location snapping especially if they are not connected to the street features.

Regards,

Jay Sandhu

0 Kudos
SheldonBrown
New Contributor III

Thanks, Jay.

As I mentioned above, in my actual network dataset I don't include the origins and destinations as junctions per se. It just happened the be the case that in the analysis I was conducting, they were coincident.

0 Kudos