Summary
Computes a pairwise intersection of the input features. Features or portions of features that overlap between the input feature layers or feature classes are written to the output feature class. Pairwise intersection refers to selecting one feature from the first input and intersecting it with all those features in the second input that it overlaps.
The Pairwise Intersect tool is similar to the Intersect tool in that geometric intersections are computed, but it is significantly different in that intersections are computed on pairs of features rather than all combinations of features. You may find this tool useful in situations in which the Intersect tool results in an output with many more features than were input (for example, the inputs contained tens of thousands of features and the result is tens or hundreds of million features).
Illustration
Usage
Only two input feature classes are supported.
Input Features must be simple features: point, multipoint, line, or polygon. They cannot be complex features such as annotation features, dimension features, or network features.
Unlike the Intersect tool, ranks are not supported.
By default, curve features from the input will be densified in the output. To support curves in the output, use the Maintain Curve Segments environment.
This tool relies on the input features having a spatial index. Use the Add Spatial Index tool to create an index (particularly for shapefiles) or rebuild an existing index if there is any doubt about it being correct.
When your input features have m- or z-values, only the m- and z-values of the first feature class will be transferred to the output features. If the first feature class does not contain m- or z-values, the output will not have m- or z-values.
The Output Type can be that of the Input Features with the lowest dimension geometry or lower. For example, if all the inputs are polygons, the output could be polygon, line, or point. If one of the inputs is of type line and none are points, the output can be line or point. If any of the inputs are point, the Output Type can only be point.
The spatial reference of the output feature class will still be that of the first feature class in the Input Features parameter. See Spatial reference and geoprocessing for more information.
This tool honors the Parallel Processing Factor environment. If the environment is not set (the default) or is set to 100, full parallel processing will be enabled and the tool will attempt to distribute the work to all the logical cores on the machine. Setting the environment to 0 will disable parallel processing. Specifying a factor between 1 and 99 will cause the tool to determine the percentage of logical cores to use by applying the formula ( Parallel Processing Factor / 100 * Logical Cores) rounded up to the nearest integer. If the result of this formula is 0 or 1, parallel processing will not be enabled.
Syntax
PairwiseIntersect(in_features, out_feature_class, {join_attributes}, {cluster_tolerance}, {output_type})
Parameter | Explanation | Data Type |
in_features [in_feature,...] | The input feature classes or layers to intersect. Only two inputs are allowed. | 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.
| 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). Caution:Changing this parameter's value may cause failure or unexpected results. It is recommended that this parameter not be modified. It has been removed from view in the tool dialog. By default, the input feature class's spatial reference x,y tolerance property is used. | Linear Unit |
output_type (Optional) | Specifies the type of intersection.
| String |
Code sample
The following Python window script demonstrates how to use the PairwiseIntersect function in immediate mode:
import arcpy
arcpy.env.workspace = "C:/data/RedRiver_basin.gdb"
arcpy.PairwiseIntersect_analysis(["vegetation_stands", "road_buffer200m", "water_buffer100"], "mysites", "ALL")
Find the vegetation type that the streams are traveling through.
# Name: StreamsInVegetationIntersect.py
# Purpose: Determine the vegetation type streams are traveling through.
# Import system modules
import arcpy
# Set the workspace (to avoid having to type in the full path to the data every time)
arcpy.env.workspace = "c:/data/data.gdb"
# Process: Find all streams in each vegetation type
inFeatures = ["vegetation", "streams"]
intersectOutput = "streams_in_vegtype"
arcpy.PairwiseIntersect_analysis(inFeatures, intersectOutput)
Environments
Licensing information
- Basic: Limited
- Standard: Limited
- Advanced: Yes