成对相交 (分析)

描述

计算输入要素的成对交集。输入要素图层或要素类中相叠置的要素或要素的各部分将被写入到输出要素类。成对交集是指从第一个输入中选择一个要素,然后将其与所重叠的第二个输入中的要素相交。

备用工具可用于相交操作。有关详细信息,请参阅相交工具文档。

成对相交工具与相交工具的相似之处在于二者均计算几何交集,但其不同之处在于,“成对相交”工具根据要素对而非所有要素组合来计算交集。

了解有关“成对相交”工作原理的详细信息

插图

“成对相交”图示

使用方法

  • 仅支持两个输入要素类。

  • 输入要素参数值必须为简单要素:点、多点、线或面。输入要素不能是复杂要素,比如注记要素、尺寸要素或网络要素。

  • 相交工具不同,等级不受支持。

  • 默认情况下,来自输入的曲线要素将在输出中进行增密。要支持输出中的曲线,请使用保留曲线段环境。

  • 此工具依赖于具有空间索引的输入要素。使用添加空间索引工具创建索引(专门针对 shapefile)或重新构建现有索引(如果无法确定其是否正确)。

  • 当输入要素具有 m- 值或 z- 值时,则只有第一个要素类的 m- 值和 z- 值将会传递到输出要素。如果第一个要素类不包含 m- 值或 z- 值,则输出将不含 m 值或 z 值。

  • 输出要素类的空间参考将为输入要素参数中第一个要素类的空间参考。有关详细信息,请参阅空间参考和地理处理

  • 此工具支持并行处理因子环境。如果环境未设置(默认情况下)或设置为 100,则将启用完全并行处理,同时该工具尝试将工作分配给计算机上的所有逻辑内核。将环境设置为 0 将禁用并行处理。在 1 到 99 之间指定一个因子时,工具将通过应用公式(并行处理因子 / 100 * 逻辑内核数)确定要使用的逻辑内核的百分比,其结果将向上舍入到最近的整数值。如果此公式的结果是 0 或 1,则将不启用并行处理。

语法

arcpy.analysis.PairwiseIntersect(in_features, out_feature_class, {join_attributes}, {cluster_tolerance}, {output_type})
参数说明数据类型
in_features
[in_features,...]

要相交的输入要素类或图层。仅允许两个输入。

Value Table
out_feature_class

输出要素类。

Feature Class
join_attributes
(可选)

确定将输入要素的哪些属性传递到输出要素类。

  • ALL输入要素的所有属性都将传递到输出要素类。这是默认设置。
  • NO_FID除 FID 外,将输入要素的其余所有属性都传递到输出要素类。
  • ONLY_FID仅输入要素的 FID 字段将传递到输出要素类。
String
cluster_tolerance
(可选)

所有要素坐标(节点和折点)之间的最小距离以及坐标可以沿 x 和/或 y 方向移动的距离。

警告:

更改此参数的值可能会导致出现故障或意外结果。建议不要修改此参数。已将其从工具对话框的视图中移除。默认情况下,将使用输入要素类的空间参考 x,y 容差属性。

Linear Unit
output_type
(可选)

指定要返回的相交类型。

  • INPUT所返回的相交要素的几何类型与具有最低维度几何的输入要素的几何类型相同。如果所有输入都是面,则输出要素类将包含面。如果一个或多个输入是线但不包含点,则输出是线。如果一个或多个输入是点,则输出要素类将包含点。这是默认设置。
  • LINE返回的交集为线。仅当输入中不包含点时,此选项才有效。
  • POINT返回的交集为点。如果输入是线或面,则输出将是多点要素类。
String

代码示例

PairwiseIntersect 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 PairwiseIntersect 函数。

import arcpy
arcpy.env.workspace = "C:/data/RedRiver_basin.gdb"
arcpy.PairwiseIntersect_analysis(["vegetation_stands", "road_buffer200m", "water_buffer100"], 
                                 "mysites", "ALL")
PairwiseIntersect 示例 2(独立脚本)

查找河流正在穿过的植被类型。

# 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)

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题