How Intersect works

The Intersect tool calculates the geometric intersection of any number of feature classes and feature layers. The features, or portion of features, that are common to all inputs (that is, they intersect) will be written to the output feature class.

Intersect does the following:

  • Determines the spatial reference for processing. This will also be the spatial reference of the output feature class. For details on how this is done, see Spatial reference and geoprocesssing. All the input features are projected into this spatial reference for processing.
  • Cracks and clusters the features. Cracking inserts vertices at the intersection of feature edges; clustering snaps together vertices that are within the xy tolerance.
  • Discovers geometric relationships (intersections) between features from all the feature classes or layers.
  • Writes these intersections as features (point, line, or polygon) to the output.

When multiple feature classes or layers are specified in the list of input features, the order of the entries in the list does not affect the output feature type, but the spatial reference of the top entry on the tool dialog box (the first entry in scripting) in the list will be used during processing and set to the output.

To explicitly control the output spatial reference (coordinate system and domains), override the default spatial reference properties using the appropriate geoprocessing environments.

The inputs can be any combination of geometry types (point, multipoint, line, or polygon). The output geometry type can only be of the same geometry or a geometry of lower dimension as the input feature class with the lowest dimension geometry (point = 0 dimension, line = 1 dimension, and poly = 2 dimension). Specifying different output type will produce different types of intersections of the input feature classes. These are not a different representation of the same intersections; they are intersections that can only be represented by that geometry type (point, line, or polygon).

Tip:

Intersect can run with a single input. In this case, instead of discovering intersections between the features from the different feature classes or layers, it will discover the intersections between features within the single input. This can be useful to discover polygon overlap and line intersections (as points or lines).

Examples: Polygon inputs

Polygons can intersect in three ways:

  • Overlap—Area of overlap can be produced by leaving the Output Type to its default value (LOWEST).
  • Common boundary/touch at a line—This type of intersection can be produced by specifying LINE as the Output Type.
  • Touch at a point—This type of intersection can be produced by specifying POINT as the Output Type.

Polygon inputs and polygon output

The graphic below illustrates the result of intersecting two polygon feature classes with the Output Type parameter set to either POLY or the default (LOWEST). The output polygon features are where a polygon from one of the input feature classes or layer intersects a polygon from the other input feature class or layer.

Intersect polygons

Polygon inputs and line output

The graphic below illustrates the result of intersecting two polygon feature classes with the Output Type parameter set to LINE. The output line features are where a polygon from one of the input feature classes share a common boundary (intersect at a line) with a polygon from the other input feature class.

Intersect polygon with line

Polygon inputs and point output

The graphic below illustrates the result of intersecting two polygon feature classes with the Output Type parameter set to POINT. The output point features are where a polygon from one of the input feature classes has a vertex intersecting the boundary (intersect at a point) of a polygon from the other input feature class.

Intersect polygon with point
Intersect polygon with point

Examples: Line inputs

When all the inputs are line feature classes, the intersect tool can be used to determine where the features from the input feature classes overlap and intersect at points and lines.

Line inputs and line output. The graphic below illustrates the result of intersecting two line feature classes with the Output Type parameter set to either LOWEST or LINE. The output line features are where a line from one of the input feature classes overlaps a feature from the other input feature class.

Intersect lines illustration

Line inputs and point output

The graphic below illustrates the result of intersecting two line feature classes with the Output Type parameter set to POINT. The output point features are where a line from one of the input feature classes crosses a feature from the other input feature class.

Intersect line and point

Example: Point inputs

When all the inputs are point feature classes, the Intersect tool can be used to determine which points are common to all input feature classes.

Intersect with point inputs

Examples: Mixed geometry inputs

Intersect can be used with feature classes of different geometries. The default (and highest allowable) Output Type is the same as the feature class with the lowest dimension geometry.

Polygon and line input for line output

The graphic below illustrates the result of intersecting line and polygon feature classes with the Output Type parameter set to LINE. The output line features are where a line from one of the input feature classes overlaps a polygon from the other input feature class.

Intersect poly on lines for line

Polygon and line input for point output

The graphic below illustrates the result of intersecting line and polygon feature classes with the Output Type parameter set to POINT. The output point features are where line endpoints touch at a point on the polygon boundary and where lines cross polygon boundaries. No points are generated in the output where lines lie directly along polygon boundaries.

Intersect poly on lines for point

Polygon, line, and point input for point output

The graphic below illustrates the result of intersecting point, line, and polygon feature classes. The output can only be a point feature class. Each point in the output will intersect at least one feature in each of the input feature classes.

Intersect poly on line for point

Related topics