Intersect (Analysis)

License Level:BasicStandardAdvanced

Summary

Computes a geometric intersection of the input features. Features or portions of features which overlap in all layers and/or feature classes will be written to the output feature class.

Learn more about how Intersect works

Illustration

Intersect illustration

Usage

Syntax

Intersect_analysis (in_features, out_feature_class, {join_attributes}, {cluster_tolerance}, {output_type})
ParameterExplanationData Type
in_features
[in_features, {Rank},...]

A list of the input feature classes or layers. When the distance between features is less than the cluster tolerance, the features with the lower rank will snap to the feature with the higher rank. The highest rank is one. For more information, see Priority ranks and Geoprocessing tools.

Value Table
out_feature_class

The output feature class.

Feature Class
join_attributes
(Optional)

Determines which attributes from the Input Features will be transferred to the Output Feature Class.

  • ALLAll the attributes from the Input Features will be transferred to the Output Feature Class. This is the default.
  • NO_FIDAll the attributes except the FID from the Input Features will be transferred to the Output Feature Class.
  • ONLY_FIDOnly the FID field from the Input Features will be transferred to the Output Feature Class.
String
cluster_tolerance
(Optional)

The minimum distance separating all feature coordinates (nodes and vertices) as well as the distance a coordinate can move in X or Y (or both).

Linear unit
output_type
(Optional)

Choose what type of intersection you want to find.

  • INPUTThe intersections returned will be the same geometry type as the Input Features with the lowest dimension geometry. If all inputs are polygons, the output feature class will contain polygons. If one or more of the inputs are lines and none of the inputs are points, the output will be line. If one or more of the inputs are points, the output feature class will contain points. This is the default.
  • LINELine intersections will be returned. This is only valid if none of the inputs are points.
  • POINTPoint intersections will be returned. If the inputs are line or polygon, the output will be a multipoint feature class.
String

Code Sample

Intersect Example (Python Window)

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

import arcpy
from arcpy import env
env.workspace = "C:/data/RedRiver_basin.gdb"
arcpy.Intersect_analysis (["vegetation_stands", "road_buffer200m", "water_buffer100"], "mysites", "ALL", "", "")
arcpy.Intersect_analysis ([["vegetation_stands", 2], ["road_buffer200m", 1], ["water_buffer100", 2]], "mysites_ranked", "ALL", "", "")
Intersect Example 2 (stand-alone script)

The following stand-alone script uses the Intersect function as part of a workflow with other analysis tools to determine the type of vegetation within 100 meters of all stream crossings.

#Name: VegRoadIntersect.py
# Purpose: Determine the type of vegetation within 100 meters of all stream crossings
#Author: ESRI

# Import system modules
import arcpy
from arcpy import env
 
try:
    # Set the workspace (to avoid having to type in the full path to the data every time)
    env.workspace = "c:/data/data.gdb"    
    
    # Process: Find all stream crossings (points)
    inFeatures = ["roads", "streams"]
    intersectOutput = "stream_crossings"
    clusterTolerance = 1.5    
    arcpy.Intersect_analysis(inFeatures, intersectOutput, "", clusterTolerance, "point")
 
    # Process: Buffer all stream crossings by 100 meters
    bufferOutput = "stream_crossings_100m"
    bufferDist = "100 meters"
    arcpy.Buffer_analysis(intersectOutput, bufferOutput, bufferDist)
 
    # Process: Clip the vegetation feature class to stream_crossing_100m
    clipInput = "vegetation"
    clipOutput = "veg_within_100m_of_crossings"
    arcpy.Clip_analysis(clipInput, bufferOutput, clipOutput)
 
    # Process: Summarize how much (area) of each type of vegetation is found
    #within 100 meter of the stream crossings
    statsOutput = "veg_within_100m_of_crossings_stats"
    statsFields = [["shape_area", "sum"]]
    caseField = "veg_type"
    arcpy.Statistics_analysis(clipOutput, statsOutput, statsFields, caseField)
 
except Exception, e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print "Line %i" % tb.tb_lineno
    print e.message

Environments

Related Topics

Licensing Information

ArcGIS for Desktop Basic: Limited
ArcGIS for Desktop Standard: Limited
ArcGIS for Desktop Advanced: Yes
3/3/2014