I am trying to make a model using ArcGIS Model Builder which would iterate the select (analysis) tool.

Basically, I have a feature class with more than 10,000 points. These point have different Z values (height), with the field name is "POINT_Z".
So, I want to export these points into different feature class by dividing them based on the Z values.

Without using model builder, I will need to manually select these points using the select(analysis) tool.
This is the SQL script to select the features that have height between 32 and 33

(POINT_Z >=32) AND (POINT_Z <33)  

This process of using select(analysis) tool is repeated with different height range, but I was wondering whether there is a way to iterate this process.
The lowest and highest values of the POINT_Z is 32.355 and 69.804 respectively.

Thus, the intended output is 38 different feature classes altogether (FC with Z value between 32-33, FC with Z value between 33-34, so on and so forth)
Can anybody help me on this problem?

  • 1
    Welcome! Please take the tour gis.stackexchange.com/tour and edit your question to include what you have tried (code snippets and error messages help)
    – MaryBeth
    Mar 31, 2017 at 14:50

1 Answer 1


As your range is constant this can be done fairly easily with model builder using a For Iterator. See the model below, in my example I step from 32 to 35 with a step of 1. The expression in the select tool adds a 1 to the value. Note it is using inline substitution to pass in the output of the iterator (called value) into the expression. This is used to construct the query and make the output file name unique.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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