Select to view content in your preferred language

Difference between feature iteration and Row iteration

03-11-2023 01:30 AM
Labels (2)
New Contributor II

I recently started learning the Modelbuilder in ArcGIS Pro, but I got stuck on the iteration tools, Actually I can't differentiate between Iterate Feature Selection and Iterate Row Selection.

0 Kudos
3 Replies
MVP Esteemed Contributor

For reference

Iterate Feature Selection (ModelBuilder)—ArcGIS Pro | Documentation

Iterate Row Selection (ModelBuilder)—ArcGIS Pro | Documentation

Examples of using iterators in ModelBuilder—ArcGIS Pro | Documentation

A "selection" may be the results of some process like a query.

If you want to process the selection and not all the records (aka, rows) then use it.  If you want all the records to be used then don't use the selection.

The 3rd link has other information


... sort of retired...
0 Kudos
MVP Frequent Contributor

The simplest way to looks at it is that row selection treats the feature class as a table with no geometry and can't be used as an input for a geoprocessing tool which requires a geometry operation (e.g. buffer, select by location).


Feature selection includes the geometry, and can be used in subsequent geoprocessing tools in the same way as the original feature class.

row selection - outputs the row of the attribute table

feature selection - outputs as if a selection from the feature class, including the geometry/shape.

0 Kudos
Regular Contributor II

ModelBuilder is straining to support iterators. Much better to start using Python for iterations. You are still using the same functions but the iteration is much easier to understand and you can have much better control of missing data, errors and the process is much more understandable. You can use Cursors that are much faster.

Start your upgrade by taking each function and right-click to create a python snippet. Then put them all in a script. You can also encapsulate the iterator into a single script and publish it as a custom tool and leave the rest of the process in ModelBuilder.

0 Kudos