arcgis中捕捉与整合的区别

    这几天处理数据,经常用到arcgis的捕捉和整合工具,两个工具有些相似之处。比如都可以自动移动节点靠近某些点,将容差范围内的一些东西自动到一个点上。但是有很大的区别。


一 个人认识

1.捕捉功能:

意思是移动一个要素数据,另一个要素数据是不动的。基本就是两个要素层输入,操作一个要素层。不能输入更多的要素层。

软件里面说明:移动点或折点,使其与其他要素的折点、边或端点精确重合。可指定捕捉规则来控制是将输入折点捕捉到指定距离范围内的最近折点、边还是端点。


2.整合功能:

意思是输入的几个要素都可能会动。几个要素的等级可以根据需要设置,优先移动等级低的要素层数据,而且如果各个要素层里面容差范围内的数据也会自动处理。注意这个地方是容差范围内所有要素都会自动处理。

软件里面说明:如果要素位于指定的 x,y 容差范围内,“整合”工具可通过使要素重叠来保持公共要素边界的完整性。位于指定 x,y 容差范围内的要素将视为相同或重叠。

例如,假设 x,y 容差指定为五个单位(如英尺或米),并且数据中某宗地边界应该与相邻宗地边界重合,但彼此却相距四个单位。运行此工具后,由于这两块宗地的边界距离在五个单位的 x,y 容差范围内,因此它们会叠加在一起。

整合可执行以下处理任务:

  • 查找位于指定 x,y 容差范围内的要素。
  • 为位于指定 x,y 容差范围内的要素插入公共坐标折点,并在要素线段相交的地方添加折点。

3.对比说明总结

如果只移动一个层,可以直接采用捕捉方法处理。

如果层较多,需要各种处理层之间的数据,那就需要整合,设置对应的级别和容差。

(整合和捕捉的区别,捕捉0.2那就是距离0.2,整合0.2那就是距离0.4)

二 官方说明如下:

1.捕捉

http://pro.arcgis.com/zh-cn/pro-app/tool-reference/editing/snap.htm

摘要

移动点或折点,使其与其他要素的折点、边或端点精确重合。可指定捕捉规则来控制是将输入折点捕捉到指定距离范围内的最近折点、边还是端点。

插图

Snap IllustrationSnap Cases

用法

警告:

此工具用于修改输入数据。有关详细信息以及避免数据被意外更改的策略,请参阅无输出的工具

捕捉环境参数用于将输入要素的折点捕捉到多个图层或要素类的折点、边和端点。如果给定了多个捕捉规则,它们将按以下方式设置优先级:在工具对话框中,从上到下设置;在脚本中,从左到右设置。

输入要素的折点将捕捉到指定距离范围内最近的折点、边或端点。

捕捉环境参数中,可将同一个图层或要素类与不同的捕捉类型 (END | VERTEX | EDGE) 结合使用来指定多个捕捉规则。

如果将包含选择内容的图层或要素类用作输入,将仅捕捉所选要素的折点。

如果将某要素类中的要素捕捉到同一要素类中的要素,通常情况下,对象 ID 或要素 ID 较低的要素会被捕捉到对象 ID 较高的要素。(shapefiles 的 OBJECTID 字段或 FID 字段)。例如,如果 OBJECTID=1 和 OBJECTID=2 点位于捕捉距离范围内,则将 OBJECTID=1 的点捕捉到 OBJECTID=2 点的位置(反之则不然)。

注:

此工具的一个使用案例是,通过将某个边界上的折点捕捉到另一边界的折点、边或端点来校正两个数据集间共享或公共边界的差异。如果输入要素中没有足够多的折点来匹配另一边界的准确曲率,可使用增密工具向输入要素添加折点,从而提高细节层次。

语法

Snap_edit (in_features, snap_environment)
参数 说明 数据类型
in_features

折点将被捕捉到其他要素的折点、边或端点的输入要素。输入要素可以是点、多点、线或面。

Feature Layer
snap_environment
[[Features, Type, Distance],...]

输入包含您希望捕捉到的要素的要素类或要素图层。

捕捉环境的组成部分:

  • 要素 - 要作为输入要素折点捕捉目标的要素。这些要素可以是点、多点、线或面。
  • 类型 - 可作为输入要素折点捕捉目标的要素部分的类型 (END | VERTEX | EDGE)。
  • 距离 - 输入要素折点被捕捉到此距离范围内的最近折点、边或端点。

捕捉环境的类型选项:

  • END - 将输入要素折点捕捉到要素末端。
  • VERTEX - 将输入要素折点捕捉到要素折点。
  • EDGE - 将输入要素折点捕捉到要素边。
注:

在“捕捉环境”参数中,如果输入“距离”时未带单位(如,输入 10 而不是 10 米),则默认情况下将使用输入要素的坐标系的线性单位或角度单位。如果输入要素使用投影坐标系,则将使用线性单位。

Value Table

代码示例

捕捉示例(Python 窗口)

以下 Python 窗口脚本演示了如何使用“捕捉”工具。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Snap_edit("climate.shp", [["Habitat_Analysis.gdb/vegtype", "VERTEX", "30 Feet"], ["Habitat_Analysis.gdb/vegtype", "EDGE", "20 Feet"]])

捕捉示例(独立脚本)

将气候区域边界捕捉到植被图层边界以确保公共边界重合。

# Name: Snap.py
# Description: Snap climate regions boundary to vegetation layer boundary 
#                    to ensure common boundary is coincident


# import system modules 
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Make backup copy of climate regions feature class, since modification with 
#  the Editing tools below is permanent
climate = "climate.shp"
climateBackup = "C:/output/Output.gdb/climateBackup"
arcpy.CopyFeatures_management(climate, climateBackup)

# Densify climate regions feature class to make sure there are enough vertices 
#  to match detail of vegetation layer when layers are snapped
arcpy.Densify_edit(climate, "DISTANCE", "10 Feet")

# Snap climate regions feature class to  vegetation layer vertices and edge
veg = "Habitat_Analysis.gdb/vegtype"
# first, snap climate region vertices to the nearest vegetation layer vertex within 30 Feet
snapEnv1 = [veg, "VERTEX", "30 Feet"]
# second, snap climate region vertices to the nearest vegetation layer edge within 20 Feet
snapEnv2 = [veg, "EDGE", "20 Feet"]
arcpy.Snap_edit(climate, [snapEnv1, snapEnv2])

2.整合

http://pro.arcgis.com/zh-cn/pro-app/tool-reference/data-management/integrate.htm

摘要

如果要素位于指定的 x,y 容差范围内,整合工具可通过使要素重叠来保持公共要素边界的完整性。位于指定 x,y 容差范围内的要素将视为相同或重叠。

例如,假设 x,y 容差指定为五个单位(如英尺或米),并且数据中某宗地边界应该与相邻宗地边界重合,但彼此却相距四个单位。运行此工具后,由于这两块宗地的边界距离在五个单位的 x,y 容差范围内,因此它们会叠加在一起。

整合可执行以下处理任务:

  • 查找位于指定 x,y 容差范围内的要素。
  • 为位于指定 x,y 容差范围内的要素插入公共坐标折点,并在要素线段相交的地方添加折点。

插图

“整合”图示

用法

警告:

此工具用于修改输入数据。有关详细信息以及避免数据被意外更改的策略,请参阅无输出的工具

如果选中了任何输入要素,则仅会针对那些所选要素执行该工具。

该工具执行的任务与拓扑相同,因为该工具将在 x,y 容差范围内移动要素并在要素相交的位置插入折点。考虑使用拓扑来执行此类操作的原因是:对于拓扑,您可以指定建立要素间关联的规则和条件。

在以下情况中可以选择使用整合而非拓扑:

  • 不需要指定要素的移动规则,只需在指定的容差范围内合并所有要素。
  • 要在各条线的所有相交处都添加折点。
  • 处理的是非地理数据库要素(如 shapefile)或者不同地理数据库中的要素(拓扑中的要素必须全属于同一要素数据集)。

XY 容差的值非常关键:容差过大会导致要素折叠或导致面或线被删除,还可能导致不应该移动的折点被移动。要使误差降至最小,选择的 x,y 容差值应尽量小。

整合仅支持将简单要素类作为输入(点、多点、线或面)。

要撤销对输入要素做出的更改,请在编辑会话中使用整合

处理各要素的折点数较多的数据集时(例如,单个要素中包含成千上万甚至上百万个折点),一些几何处理操作可能会导致内存不足。有关详细信息,请参阅对大型数据集进行地理处理

该工具的输出数据元素属于一种派生的多值输出。要将该工具的输出用于其他工具,请直接使用该工具的输入并将该工具的输出设置为其他工具的前提条件。了解有关设置前提条件的详细信息

语法

Integrate_management (in_features, {cluster_tolerance})
参数 说明 数据类型
in_features
[[Feature Layer, Long],...]

要整合的要素类。如果要素间的距离小于容差,则折点或点将被聚类(移动至重合状态)。等级较低的要素类或图层将捕捉到等级较高的要素类或图层中的要素(其中 1 级高于 2 级)。请注意,如果使用的 x,y 容差较大,则等级为 1 的要素类中的要素甚至也可能发生移动。

Value Table
cluster_tolerance
(可选)

该距离可确定一个范围,要素折点将在此范围内实现重合。要最大限度的减少不必要的折点移动,x,y 容差应该非常小。如果未指定任何值,则将使用输入列表中第一个数据集的 xy 容差。

Linear Unit

代码示例

整合示例 1(Python 窗口)

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CopyFeatures_management("Habitat_Analysis.gdb/vegtype", "C:/output/output.gdb/vegtype")
arcpy.Integrate_management("C:/output/output.gdb/vegtype", 0.01)
整合示例 2(独立脚本)

下面的独立脚本演示了如何在脚本环境中应用 Integrate 函数。

# Description: Run Integrate on a feature class
 
# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data/Habitat_Analysis.gdb"
 
# Set local variables
inFeatures = "vegtype"
integrateFeatures = "C:/output/output.gdb/vegtype"
xyTolerance = "0.1 feet"
 
# Execute CopyFeature (since Integrate modifies the original data
#  this ensures the original is preserved)
arcpy.CopyFeatures_management(inFeatures, integrateFeatures)
 
# Execute Integrate
arcpy.Integrate_management(integrateFeatures, xyTolerance



猜你喜欢

转载自blog.csdn.net/hailiannanhai/article/details/79649401