arcgis的整合功能(integrate)

此工具位于TOOLBOX-数据管理工具-要素类工具集。

作用;处理数据中的小缝隙和小重叠,让线跟面边界重合,线和线重合,数据接边等操作非常给力。

官方网址:http://desktop.arcgis.com/zh-cn/arcmap/latest/tools/data-management-toolbox/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)

环境

许可信息

  • ArcGIS Desktop Basic: 是
  • ArcGIS Desktop Standard: 是
  • ArcGIS Desktop Advanced: 是

大型数据集的分块处理


为改善要素叠加工具(如联合相交)的性能和可伸缩性,软件采用了称为自适应细分处理的运算逻辑。当可用的物理内存不足以对数据进行处理时,就会触发系统使用此逻辑。由于保持在物理内存的可用范围内可以极大地提高性能,因此基于对原始范围的细节上,处理可逐步进行。跨越多个子块(也称为分块)边缘的要素会在分块的边缘处被分割开,并会在处理过程的最后阶段重新组合为一个要素。这些分块边缘处所引入的折点仍会保留在输出要素中。如果正在处理的要素过大,以至于细分处理无法使用可用内存将此要素恢复成原始状态,则分块边界也会保留在输出要素类中。

为何要细分数据?

当计算机的可用内存(未被系统或其他应用程序使用的可用内存)够用时,叠加分析工具可以获得最佳性能。但是,当处理包含大量要素、具有复杂要素交互的极复杂要素,或包含数十万或数百万个折点的复杂要素的数据集时,情况就不乐观了。如果不使用分块方法,可用内存将很快被耗尽,然后操作系统将开始分页(使用二级存储,将其视为主内存)。分页导致性能降低,并且在某个时刻,系统容易耗尽资源,操作将会失败。分块有助于尽可能避免这种情况。在极端情况下,处理内存管理将会被移交给系统,该系统尝试通过允许操作系统自行使用所有可用资源来完成处理,进而完成整个过程。

分块是什么样的?

每次处理都是从覆盖整个数据范围的单个分块开始。如果单个分块中的数据过大而无法在物理内存中进行处理,则会将其细分成四个等大的分块。然后,再对子分块进行处理。如果第二级分块中的数据仍然过大,则会再进一步细分。此过程将持续执行,直到可以在物理内存中处理每个分块的数据为止。请参见以下示例:

输入数据集的范围

所有输入要素的轮廓线

1 级 GP 分块

将从覆盖整个数据集范围的分块开始进行处理。为方便叙述,我们将此分块称为 1 级分块。

2 级 GP 分块

如果数据过大而无法在内存中进行处理,则 1 级分块将被细分成四个等大的分块。这四个子分块被称为 2 级分块。

自适应 GP 分块

根据各分块中数据的大小,某些分块会被进一步细分,而另一些则不会。

哪些工具采用细分逻辑

“分析工具”工具箱中的以下工具在处理大型数据时会采用细分逻辑:

  • 缓冲区(在使用融合选项时)
  • 裁剪
  • 擦除
  • 标识
  • 相交
  • 分割
  • 交集取反
  • 联合
  • 更新

“数据管理”工具箱中的以下工具在处理大型数据集时也会采用细分逻辑:

  • 融合
  • 要素转线
  • 要素转面
  • 面转线

处理过程因内存不足而失败

当处理超大型要素(包含数百万个折点的要素)时,细分方法可能也无能为力。沿分块边界多次分割和重新组合超大型要素的内存开销相当巨大。如果要素过大,则会导致出现内存不足的错误。这取决于运行此进程的计算机上的可用内存(未被系统或其他应用程序使用的可用内存)的大小。一些较大的要素在一台计算机配置上会产生内存不足的错误,而在另一台计算机配置上却不会出现错误。在同一台计算机上,内存不足的错误也可能会时而发生时而不发生,这取决于其他应用程序所占用的资源。举例来说,整个城市的道路轮廓或表示复杂河口的多边形,就属于具有大量折点的超大要素。

如果某个工具正在进行处理时又运行了另一个应用程序或地理处理工具,也会出现内存不足的错误。第二个进程会占用一部分细分进程认为应该可以使用的可用内存,从而导致细分进程所需要的内存大于实际可用的内存。因此,建议您在处理大型数据集时不要在计算机上执行其他操作。

建议在处理之前使用切分工具将较大的要素分割成较小的要素。

处理大型数据时建议使用哪种数据格式?

个人地理数据库和 shapefile 的大小被限制在 2 千兆字节 (GB)。如果进程的输出超过 2 GB,就会出现错误。由于企业地理数据库和文件地理数据库没有大小限制,因此在处理超大型数据集时建议使用这两种地理数据库作为输出工作空间。有关企业地理数据库的数据加载策略的详细信息,请联系数据库管理员。请勿执行未经计划/未获批准的大型数据加载操作。


猜你喜欢

转载自blog.csdn.net/hailiannanhai/article/details/79620895
今日推荐