Iterate Feature Selection (ModelBuilder)

Summary

Iterates over features in a feature class.

Learn how Iterate Feature Selection works in ModelBuilder

Usage

  • This tool is intended for use in ModelBuilder, not in Python scripting.

  • Complex feature classes, such as annotation and dimensions, are not supported by this tool.

  • More than one group by field can be used for the selection. If one or more group by fields are selected, the number of iterations is determined by the number of unique combinations of the group by fields. For each iteration, the selection of the output feature layer is determined by the number of records that match the given combination of the group by fields. If more than one group by field are chosen, the values are concatenated <field value1>_<field value2> in the output inline variable name. See an example below where two group fields: Name of the hurricane (NAME) and the category of the hurricane (Category) are used. The output Value is Katrina_H5 and so on for the other values.

    Iterate Feature Selection
  • If a group by field is not chosen, the output value will be grouped by the Object ID field, and the selection is one record per selection. If the table does not have an Object ID field, such as an Excel table, the value is blank.

  • The tool has two outputs: Selected Features and group Value of the field for selected features, which could be used as an inline variable in other tools.

  • The temporary feature layer can be saved as a layer file using the Save To Layer File tool or saved as a new feature class using the Copy Features tool.

  • If an iterator is added to a model, all tools in the model iterate for each value in the iterator. If you do not want to run each tool in the model for each iterated value, create a submodel, model within a model, or nested model that contains only the iterator and add it as a model tool to the main model.

Syntax

arcpy.mb.IterateFeatureSelection(in_features, {fields}, {skip_nulls})
ParameterExplanationData Type
in_features

The input feature class or layer containing features to iterate.

Feature Layer
fields
[fields,...]
(Optional)

The input field or fields used to group the features for selection. Any number of input fields can be defined, resulting in a selection based on a unique combination of the fields. If a field is not specified, the Object ID is used to iterate over features.

Value Table
skip_nulls
(Optional)

Specifies whether null values in the grouping field or fields are skipped during selection.

  • Checked—Skip through all the null values in the grouping fields during selection.
  • Unchecked—Set as default. Include all the null values in the grouping fields during selection. This is the default.
Boolean

Derived Output

NameExplanationData Type
selection

A feature layer that can be used in other geoprocessing tools that accept a feature layer in ModelBuilder.

Feature Layer
value

The field values returned by each iteration. If more than one group by field is chosen, the values are concatenated <field value1>_<field value2>.

Variant

Environments

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes