Iterating through Incidents and Facilities in Model Builder

194
1
Jump to solution
07-10-2018 09:40 AM
Highlighted
by
New Contributor

I am trying to use model builder to iterate through incidents and facilities in ArcGIS Pro. 

My incidents are a point feature class and each incident has a jurisdiction attribute. My facilities are set up the same way. A point's jurisdiction determines which facilities are available to it. I am looking to find the closest facility to each point within its jurisdiction.

In other words, each of my incidents has its own set of possible facilities.

I am looking for any advice as to how to best approach this problem.

Reply
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Esri Regular Contributor

Hello Eden.  You can probably solve this problem using an Iterator in ModelBuilder.  Maybe use Iterate Row Selection to iterate over the possible values of jurisdiction in your Incidents table, and then use Select Layer By Attribute to select based on that value for your Facilities table.  Or something like that...

You only need to create the Closest Facility layer once, but each iteration of the model will add the relevant locations to the Closest Facility layer (using Add Locations, making sure to turn off the Append option so it overwrites the previous inputs) and then solve the layer and do stuff with the output.

View solution in original post

1 Reply
Highlighted
Esri Regular Contributor

Hello Eden.  You can probably solve this problem using an Iterator in ModelBuilder.  Maybe use Iterate Row Selection to iterate over the possible values of jurisdiction in your Incidents table, and then use Select Layer By Attribute to select based on that value for your Facilities table.  Or something like that...

You only need to create the Closest Facility layer once, but each iteration of the model will add the relevant locations to the Closest Facility layer (using Add Locations, making sure to turn off the Append option so it overwrites the previous inputs) and then solve the layer and do stuff with the output.

View solution in original post