相交 (Analysis)

许可等级:BasicStandardAdvanced

摘要

计算输入要素的几何交集。所有图层和/或要素类中相叠置的要素或要素的各部分将被写入到输出要素类。

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

插图

Intersect illustration

用法

语法

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

输入要素类或图层列表。要素间距小于拓扑容差时,等级较低的要素将捕捉到等级较高的要素。最高等级为一。有关详细信息,请参阅优先级等级和地理处理工具

Value Table
out_feature_class

输出要素类。

Feature Class
join_attributes
(可选)

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

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

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

Linear unit
output_type
(可选)

选择要查找的相交类型。

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

代码实例

Intersect 示例(Python 窗口)

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

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 示例 2(独立脚本)

以下独立脚本将 Intersect 函数用作工作流的一部分,此工作流中,Intersect 函数与其他分析工具一起使用来确定所有跨河桥 100 米范围内的植被类型。

#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

环境

相关主题

许可信息

ArcGIS for Desktop Basic: 受限制
ArcGIS for Desktop Standard: 受限制
ArcGIS for Desktop Advanced: 是
5/10/2014