[GIS] Improving performance on OD Cost Matrix in ArcGIS Network Analyst

arcgis-desktopnetwork-analystperformance

I have no programmer's background therefore, I try to avoid use python scripting, however If I there is no other choice I am willing to improve my skills.

My question is how to improve performance on OD Cost Matrix for 200,000 origins and 1,000 destinations i.e. finding a way to improve the performance on OD cost matrix analysis on ArcGIS 10.0?

I use ArcSDE with postgresql and keep my origins and destinations on the database. I have uploaded 200.000 origins in about 75 minutes and it took minutes to load the destinations.

Currently I have waited around half an hour and my work seems to progress around 0%. However It is not crashed yet and according to the status bar it jumps to another location every 5-10 seconds.

It seems to be I am doing something very wrong. Do you have any advises to improve performance or at least make sure that my calculations will not crash?

I can only divide origins to smaller parts, I will have to keep my destinations all together.

Best Answer

Normally route calculations are done as 1-to-many, which means it is faster to calculate from one destination to your 200,000 origins, because that only have to be done 1000 times as opposed to 200,000 times. If it is important to you that the routes are calculated from origin to destination, you will have to swap all oneway restrictions temporarily (because a route from A to B isn't always the same as B to A).

Size of the street network also matters a lot. How many records does your underlying street network have?

Right now you are looking at 7.5sec x 200,000 = 25,000 min = 416 hours = 17 days.

Related Question