OD Cost matrix:  Not all lines solved

4513
5
11-16-2011 07:25 AM
CognoscoOxymoron
New Contributor
Dear all,

I am an ArcGIS newbie so please forgive me for this basic question.

I am trying to measure the shortest distances between a set of 15 origins and a set of 148 destinations along a road network.

When I load the locations for the origins and destinations and select solve, it only return 65 lines.  I want to know the shortest distance between each origin and each destination i.e. 15 x 148 observations. 

The analysis setting specified is 'cost' which I set as the field that measures the length of each road in the network when I created and built the road network dataset in ArcCatalogue.  What am I missing? 

Any insight appreciated.

Thank you.

Omar
Tags (2)
0 Kudos
5 Replies
JaySandhu
Esri Regular Contributor
If all paths are not found then that means some destinations are not reachable or unlocated on the network. This can either be due to connectivity issues where some edges are not connected to other or it could be due to restrictions and one way streets. If you have restrictions, try turning them off and re-solve to see if you get more or all the paths.

Jay Sandhu
CognoscoOxymoron
New Contributor
Dear Jay

Thank you for your rapid response.  I redefined the connectivity as you suggested, changing it from 'endpoint' to 'any vertex' and happily it did return 855 paths this time.  Problem partly solved!

However, I should have 15 x 148 paths i.e.2220, so I am still missing some.  I did not specify any restrictions (where would I turn them off?).  There are only a few unlocated destinations (how would I locate these?) - not enough to explain the missing paths. 

Can there be any other explanation?  Thank you again.

Omar
0 Kudos
JaySandhu
Esri Regular Contributor
If some destinations are unlocated, zoom in to them to see why? Most likely they are further away from any road. The default maximum search tolerance is 5000 meters. You can change this on the layer properties under the locations tab. Increase it to say 20000 meters and re-locate them again (you can in the NA Window, right-click on the Destinations and choose Recalculate Location Fields and then select Unlocated)

If you can't find some paths, isolate two points (an origin and destination pair) and ran a route/path through them. It will most likely not find a path. It may be disconnected parts of the network. You can then do a service area  from one of these locations and see how far you can go to try to identify the problem area.

Jay Sandhu
CognoscoOxymoron
New Contributor
Dear Jay,

You are right.  When I select two points at random on the network and try to solve the route between them, more often than not, ArcGIS cannot calculate a route. 

The map incidentally is of the country Rwanda and I have a very detailed road network (26000+ edges) that I created and built from the road shape file.  I do recall when I built it that some build errors were reported - maybe 100 or so - which related to lengths that were 'zero'.  However, I thought these were too few to cause major difficulties.

Is this the problem then with the network dataset?  What can I do to ensure it is built correctly?

Thank you.

Omar
0 Kudos
JaySandhu
Esri Regular Contributor
Omar,

If you cannot find paths then most likely you have connectivity problems in your data. Zero length edges will not be an issue though you may want to look at a couple of them to see why you are getting that error. After you have done a build network, the log files are in your %TEMP% folder. There will be a build.txt and builderrors.txt. However connectivity issues will not show up here as that cannot be detected.

I suggest you do a service area with the lines (not polygon option) from one location with a big break value and see if you can reach your entire network. If you cannot then look at the places where the service area lines stopped and zoom in to find your data problems and fix and rebuild and re-run the service area.

Another quick way to find errors would be to copy the street data to a new file geodatabase/feature dataset and then build a "geometric network" and then use the Utility Network Analysis toolbar to place an edge flag somewhere and choose the Find Disconnected option and solve.

Jay Sandhu
0 Kudos