Select to view content in your preferred language

Efficiency of network analysis workflow?

804
2
Jump to solution
02-21-2019 11:34 AM
MichaelHodnett1
Occasional Contributor

I'm just getting to know ArcGIS and trying to set up a network analysis workflow using Pro 2.2.4 and Network Analyst with StreetMap Premium.  We review the health care provider networks of insurance plans for adequate geographic coverage over the plan's service area. I can complete each required function, but it seems like I'm asking ArcGIS to run similar calculations a number of times. I'm hoping community members with more experience in ArcGIS can suggest some ways to make the process more efficient.

The primary steps of the process are:

1. Create a points layer from an Excel file with the lat/long for representative population points across the state of California.  These are the Origin points for an Origin-Destination calculation.

2. Create a geocoded points layer from an Excel file with the addresses of health care providers in the network.  These are the Destination points for an Origin-Destination calculation.

3. Create a polygon layer from an Excel file including counties and ZIP Codes representing the area served by the network.

4. Create a Service Area layer (actually two layers, one on driving time and one on driving distance, as required by state law) to show the area within x miles and y minutes of each network provider, and, consequently, the areas where the network does not have a provider within x miles or y minutes, and the insurance plan needs to add additional providers or explain why they can't be added to the network.

5. Run OD Cost Matrix (actually two again) to measure driving time and distance from each of the Origin points within the area covered by the network to the nearest Destination point to that Origin point. The matrix results are further processed to identify the actual times and distances that residents with the poorest access face in reaching a network provider.

For each of the two service areas and each of the two OD cost matrices, I import the list of network providers and ArcGIS spends several or many minutes on the import.  It seems like, practically, it's running the same import four times. For each of the two OD cost matrices I also import the representative population points as destinations and ArcGIS spends several or many minutes on that import.  It seems like it's running that same import twice. This can add up to hours of importing.

Is there a more efficient workflow?  What I've cobbled together above gets us to the result, but seems to be begging for improvement. I won't be offended if the answer is that I've done it the most idiotic way imaginable. I'm looking for improvement, not ego strokes. 

--Michael

0 Kudos
1 Solution

Accepted Solutions
MelindaMorang
Esri Regular Contributor

Hello Michael.

For any set of points that will be loaded more than once into a network analysis layer, you can increase efficiency by first running the Calculate Locations tool: Calculate Locations—ArcGIS Pro | ArcGIS Desktop .

This tool pre-calculates the network locations of each point.  Then, when you run Add Locations, you can choose to use the existing network locations rather than the Add Locations tool re-calculating them from their geometry.  So, you calculate the locations once instead of four times.

I imagine you have a large number of inputs points and that's why it takes several minutes to run Add Locations.  But, just to be sure, does your network dataset have a spatial index?  Check your network and its source feature classes to be sure.  If it doesn't have a spatial index, everything will go MUCH slower.

View solution in original post

2 Replies
MelindaMorang
Esri Regular Contributor

Hello Michael.

For any set of points that will be loaded more than once into a network analysis layer, you can increase efficiency by first running the Calculate Locations tool: Calculate Locations—ArcGIS Pro | ArcGIS Desktop .

This tool pre-calculates the network locations of each point.  Then, when you run Add Locations, you can choose to use the existing network locations rather than the Add Locations tool re-calculating them from their geometry.  So, you calculate the locations once instead of four times.

I imagine you have a large number of inputs points and that's why it takes several minutes to run Add Locations.  But, just to be sure, does your network dataset have a spatial index?  Check your network and its source feature classes to be sure.  If it doesn't have a spatial index, everything will go MUCH slower.

MichaelHodnett1
Occasional Contributor

An update to my question of four months ago.  Add Locations does make each subsequent run of input points a lot faster, but I've seen an even greater improvement in a newer version of Pro.  We've updated ArcGIS Pro from 2.2.4 to 2.3.3, and the Import Origins and Import Destinations operations now run in 3-4 minutes instead of 47-65 minutes.  I don't know what changed, but the same operations with the same data now runs in less than a tenth of the time it took.  I've run them side by side through the exactly equivalent process and 2.3.3 vastly outperforms 2.2.4 every time.  There is a detectable, albeit much less significant, improvement in the time it takes to actually solve for service areas and run the OD Cost Matrix as well.

Kudos to whatever devs at Esri made the change that saves me hours in each project.  Anyone seeing a similar issue might consider updating Pro to see if you get similar performance improvement.

--Michael

0 Kudos