Skip To Content



Analyzes the coordinate locations of feature vertices among features in one or more feature classes. Those that fall within a specified distance of one another are assumed to represent the same location and are assigned a common coordinate value (in other words, they are colocated). The tool also adds vertices where feature vertices are within the x,y tolerance of an edge and where line segments intersect.

Integrate performs the following processing tasks:

  • Vertices within the x,y tolerance of one another will be assigned the same coordinate location.
  • When a vertex of one feature is within the x,y tolerance of an edge of any other feature, a new vertex will be inserted on the edge.
  • When line segments intersect, a vertex will be inserted at the point of intersection for each feature involved in the intersection.


Integrate illustration



    This tool modifies the input data. See Tools that do not create output datasets for more information and strategies to avoid undesired data changes.

  • If there are any input features selected, this tool will execute only on those selected features.

  • This tool performs the same kind of work as a topology in that it moves features within an x,y tolerance and inserts vertices where features intersect. Consider using a topology to perform this type of operation because a topology allows you to specify rules and conditions about how features relate to each other.

    Use Integrate rather than a topology for the following:

    • You do not need to specify any rules about how features are moved; you want all features to coalesce within a specified tolerance.
    • You want lines to have vertices wherever they intersect.
    • You are working with nongeodatabase features, such as shapefiles, or with features from different geodatabases (features in a topology must all come from the same feature dataset).

  • Many potential problems present in the data may be resolved during integration. Handling of extremely small overshoots or undershoots, automatic sliver removal of duplicate segments, and coordinate thinning along boundary lines may be resolved.

  • It is recommended that you not use the XY Tolerance tool parameter. When not specified, the tool will look to the input feature classes spatial reference to determine the x,y tolerance to use during integration. The input data spatial reference should be set to its default x,y resolution and x,y tolerance. For more information on spatial references, see The properties of a spatial reference.

    The XY Tolerance parameter is not intended to be used to generalize geometry shapes; it is intended to integrate line work and boundaries. Running the Integrate tool can minimize the amount of movement in the data during subsequent topological operations (such as overlay and dissolve).

    The value for XY Tolerance is critical. For more information on cluster processing, see Cluster processing .

  • Integrate accepts only simple feature classes as input (point, multipoint, line, or polygon).

  • To undo changes to the input features, use Integrate in an edit session.

  • When processing datasets that contain individual features with a very large number of vertices (for example, hundreds of thousands to millions of vertices in a single feature), some geometric processing operations may run out of memory. For details, see Geoprocessing with large datasets.

  • The output data element of this tool is a derived multivalue output. To use this tool's output with another tool, use its input directly and set its output as a precondition of the other tool. Learn more about setting a precondition.


Integrate(in_features, {cluster_tolerance})
ParameterExplanationData Type
[[Feature Layer, Long],...]

The feature classes to be integrated. When the distance between features is small in comparison to the tolerance, the vertices or points will be clustered (moved to be coincident). The feature class or layer with the lower rank will snap to the feature from the feature class or layer with the higher rank (with 1 being a higher rank than 2). Features in the feature class with a rank of 1 may move when a large x,y tolerance is used. For more information, see Priority ranks and geoprocessing tools.

Value Table

The distance that determines the range in which feature vertices are made coincident. To minimize undesired movement of vertices, the x,y tolerance should be fairly small. If no value is specified, the xy tolerance from the first dataset in the list of inputs will be used. It is recommended that you leave this parameter unset and allow the x,y tolerance to default to the data's spatial reference x,y tolerance.

Linear Unit

Derived Output

NameExplanationData Type

The updated input features.

Feature Layer

Code sample

Integrate example 1 (Python window)

The following Python window script demonstrates how to use the Integrate function in immediate mode.

import arcpy

arcpy.env.workspace = "C:/data"
arcpy.CopyFeatures_management("Habitat_Analysis.gdb/vegtype", "C:/output/output.gdb/vegtype")
arcpy.Integrate_management("C:/output/output.gdb/vegtype", 0.01)
Integrate example 2 (stand-alone script)

The following stand-alone script is an example of how to apply the Integrate function in a scripting environment.

# Description: Run Integrate on a feature class
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/Habitat_Analysis.gdb"
# Set local variables
inFeatures = "vegtype"
integrateFeatures = "C:/output/output.gdb/vegtype"
xyTolerance = "0.1 feet"
# Execute CopyFeature (since Integrate modifies the original data
#  this ensures the original is preserved)
arcpy.CopyFeatures_management(inFeatures, integrateFeatures)
# Execute Integrate
arcpy.Integrate_management(integrateFeatures, xyTolerance)

Licensing information

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

Related topics