I am trying to iterate through rows of a table, amass a list of distance values and then use those values as the Distance parameter in the Multiple Ring Buffer tool.

All of this works great, except 1 important detail: IT WON'T STOP LOOPING.

It goes through the tools fine. Generates the buffer output. Then starts looping again. I did each step by manually and it doesn't cause a problem. It is just that Iterate Row Selection will start the model over.

I looked into the properties of Iterate Feature Selection and model itself. The only thing I could find about controlling the interations was the tab below, but it is all grayed out.

Edited: I got the model to a point where it doesn't return errors. However, it iterates collecting the distance values. On the first iteration, it creates the buffer for -0.5. Then it starts the iteration over and overwrites the buffer feature class with a buffer for -0.5 and -0.65. Then it starts over and collects the values for -0.5, -0.65 and -0.84. Then overwrites the buffer feature class with this new buffer feature class. And so on and so forth. Each time the CollectValues parameter increases by one. I want it to collect all of the values then put them into the Multiple Buffer tool. I am not sure why it starts the iteration over. My model follows the examples ESRI gives for the tool.


enter image description here 10

  • Feel free to edit your question to include additional information such as screenprints of the model. Possible useful video tutorial for this iterator in model builder: youtube.com/watch?v=SDlfwZVNz_g – smiller Jun 20 '19 at 16:26
  • Do you have anything in the group by fields? Are you wanting to loop through each individual feature (one at a time) or a set of features? – smiller Jun 20 '19 at 16:30
  • Are you using iterate feature selection (feature classes) or iterate row selection (tables)? – smiller Jun 20 '19 at 16:32
  • It sounds like something like using Lists in model builder would work with the multiple ring buffer - have you looked at desktop.arcgis.com/en/arcmap/10.3/analyze/modelbuilder/…? – smiller Jun 20 '19 at 16:41
  • 1
    Put the iterator and collects tool in it's own model, this becomes a sub model. So then you have a main model with your excel to table tool connecting to a sub-model which feeds out a LIST of values that go into the buffer tool. Your current configuration is highly inefficient. – Hornbydd Jun 25 '19 at 20:40

As @Hornbydd mentioned in the a comment to my original post, submodels are the way to go. Once I understood exactly how to nest submodel, it worked like a charm. I am not sure how I didn't learn this before...

Anyway, a step by step workaround on how to fix this with submodels can be found here: https://www.youtube.com/watch?v=gpKXve4NxqU

This is not my video, but was very informative on how to nest submodels.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.