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:
After adding the origins to the network with a search tolerance of 15 meters, I get this:
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:
- Increase the search tolerance arbitrarily. At a tolerance of 500 meters, the origin will locate in the correct spot.
- 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.