融合边界 (GeoAnalytics Desktop)

摘要

查找相交或具有相同字段值的面,并将其合并为一个面。

可以通过指定一个或多个字段来控制合并哪些边界。例如,如果有一个县图层,并且每个县都具有 State_Name 字段,则可以使用 State_Name 字段来融合边界。如果相邻的县具有相同的 State_Name 值,则将其合并。结果是一个州边界图层。

插图

融合边界工具图示

使用情况

  • 输入层要素必须具有面几何。融合的输出特征将始终为面。

  • 有两种类型的面可以融合边界:相交的面和具有相同字段值的面。

    默认情况下,具有相交边界的面要素将被融合。您也可以使用融合字段参数来融合具有一个或多个相同字段值的交叉面。

    例如,如果您的研究区域图层具有 Soil_Type 字段,则可以基于Soil_Type 字段属性来融合边界。如果研究区域具有相同的 Soil_Type 值,则将它们合并到一起。结果是基于土壤类型的研究区域图层。如果指定了两个或多个字段,则输入要素必须具有相同的值才能融合边界。

  • 可使用各种统计数据通过汇总字段参数对已通过融合而聚合的要素的属性进行汇总或描述。以“统计类型 + 下划线 + 输入字段名”为命名标准,将用来汇总属性的统计以单个字段的形式添加到输出要素类中。例如,如果对名为 POP 的字段使用总和统计,则输出中将存在名为 SUM_POP 的字段。

  • 融合边界工具的输出可以包含多部分或单部分要素。将多部分要素定义为被拆分为非连续部分的要素。例如,可将夏威夷州看作是一个多部分要素,因为其单独的几何部分均划分为单个州。创建多部分要素参数提供了两个选项,用于创建多部分或单部分输出:

    • True(选中)- 将在输出中创建多部分要素(如果适用)。
    • False(未选中)- 输出中仅会创建单部分要素。这是默认设置。

  • 下表概述了如何创建多部分要素参数如何与融合选项配合操作:

    融合方法多部分为 false(默认)多部分为 true

    融合字段将不会指定(默认)。

    多部分为 false 时融合的所有要素

    在融合了所有值且多部分为 false 时,系统将创建三个要素。系统仅会融合重叠要素。

    多部分为 true 时融合的所有要素

    在融合了所有值且多部分为 true 时,系统将创建一个要素。如果选中了此选项,则结果将始终为一个要素。

    系统将指定融合字段

    多部分为 false 时融合的具有类值的要素

    当根据字段应用融合时,系统将创建四个要素(此处字段为输入点的颜色)。系统仅会融合指定字段值相同的重叠要素。

    多部分为 true 时融合的具有类值的要素

    当根据字段应用融合且允许多部分时,系统将创建两个要素(此处字段为输入点的颜色)。字段值相同的值将始终为单个要素。

  • 此地理处理工具由 Spark 作为支持。 可在台式计算机上并行使用多个核来完成分析。 要了解有关运行分析的详细信息,请参阅 GeoAnalytics Desktop 工具的注意事项

  • 运行 GeoAnalytics Desktop 工具时,将在台式计算机上完成分析。 为获得最佳性能,应在桌面上提供数据。 如果使用的是托管要素图层,则建议您使用 ArcGIS GeoAnalytics Server。 如果您的数据不是本地数据,则运行工具需要更长时间。 要使用 ArcGIS GeoAnalytics Server 执行分析,请参阅 GeoAnalytics Tools

参数

标注说明数据类型
输入要素

将要融合的包含面要素的图层。

Feature Layer
输出要素类

包含融合边界的新要素类。

Feature Class
创建多部分要素
(可选)

指定在输出要素类中是否将创建多部分要素。

  • 选中 - 将创建多部分要素。
  • 未选中 - 将不会创建多部分要素。相反,系统将为各部分创建单独的要素。这是默认设置。
Boolean
按字段值融合
(可选)

指定是否融合具有相同字段值的要素。

  • 未选中 - 共用公共边界的面(即相邻的面)或重叠的面将会被融合为一个面。这是默认设置。
  • 选中 - 具有相同字段值的面将被融合。

Boolean
融合字段

将用于融合类要素的一个或多个字段。各字段都具有相同值的要素将被融合。

Field
汇总字段

将根据指定字段进行计算的统计数据。

  • 计数 - 非空值的数目。 可用于数值字段或字符串。 [null, 0, 2] 的计数为 2
  • 总和 - 字段内数值的总和。 [null, null, 3] 的总和为 3
  • 平均值 - 数值的平均值。 [0, 2, null] 的平均值为 1
  • 最小值 - 数值字段的最小值。 [0, 2, null] 的最小值为 0
  • 最大值 - 数值字段的最大值。 [0, 2, null] 的最大值为 2
  • 标准差 - 数值字段的标准差。 [1] 的标准差为 null[null, 1,1,1] 的标准差为 null
  • 方差 - 轨迹中数值字段内数值的方差。 [1] 的方差为 null[null, 1, 1, 1] 的方差为 null
  • 范围 - 数值字段的范围。 其计算方法为最大值减去最小值。 [0, null, 1] 的范围为 1[null, 4] 的范围为 0
  • 任何 - 字符串型字段中的示例字符串。

Value Table

arcpy.geoanalytics.DissolveBoundaries(input_layer, out_feature_class, {multipart}, {dissolve_fields}, fields, summary_fields)
名称说明数据类型
input_layer

将要融合的包含面要素的图层。

Feature Layer
out_feature_class

包含融合边界的新要素类。

Feature Class
multipart
(可选)

指定在输出要素类中是否将创建多部分要素。

  • MULTI_PART将创建多部分要素。
  • SINGLE_PART将不会创建多部分要素。相反,系统将为各部分创建单独的要素。这是默认设置。
Boolean
dissolve_fields
(可选)

指定是否融合具有相同字段值的要素。

  • NO_DISSOLVE_FIELDS共用公共边界的面(即相邻的面)或重叠的面将会被融合为一个面。 这是默认设置。
  • DISSOLVE_FIELDS具有相同字段值的面将被融合。
Boolean
fields
[fields,...]

将用于融合类要素的一个或多个字段。各字段都具有相同值的要素将被融合。

Field
summary_fields
[summary_fields,...]

将根据指定字段进行计算的统计数据。

  • 计数 - 非空值的数目。 可用于数值字段或字符串。 [null, 0, 2] 的计数为 2
  • 总和 - 字段内数值的总和。 [null, null, 3] 的总和为 3
  • 平均值 - 数值的平均值。 [0, 2, null] 的平均值为 1
  • 最小值 - 数值字段的最小值。 [0, 2, null] 的最小值为 0
  • 最大值 - 数值字段的最大值。 [0, 2, null] 的最大值为 2
  • 标准差 - 数值字段的标准差。 [1] 的标准差为 null[null, 1,1,1] 的标准差为 null
  • 方差 - 轨迹中数值字段内数值的方差。 [1] 的方差为 null[null, 1, 1, 1] 的方差为 null
  • 范围 - 数值字段的范围。 其计算方法为最大值减去最小值。 [0, null, 1] 的范围为 1[null, 4] 的范围为 0
  • 任何 - 字符串型字段中的示例字符串。

将根据指定字段进行计算的统计数据。

  • COUNT - 非空值的数目。 可用于数值字段或字符串。 [null, 0, 2] 的计数为 2
  • SUM - 字段内数值的总和。 [null, null, 3] 的总和为 3
  • MEAN - 数值的平均值。 [0,2, null] 的平均值为 1
  • MIN - 数值字段的最小值。 [0, 2, null] 的最小值为 0
  • MAX - 数值字段的最大值。 [0, 2, null] 的最大值为 2
  • STDDEV - 数值字段的标准差。 [1] 的标准差为 null[null, 1,1,1] 的标准差为 null
  • VAR - 轨迹中数值字段内数值的方差。 [1] 的方差为 null[null, 1,1,1] 的方差为 null
  • RANGE - 数值字段的范围。 其计算方法为最大值减去最小值。 [0, null, 1] 的范围为 1[null, 4] 的范围为 0
  • ANY - 字符串型字段中的示例字符串。

Value Table

代码示例

DissolveBoundaries 示例(独立脚本)

以下独立脚本演示了如何使用 DissolveBoundaries 函数。

# Name: Dissolve_County_Boundaries.py
# Description: Dissolve county features based on common state name attributes
 
# Import system modules
import arcpy

arcpy.env.workspace = "C:/data/Boundaries.gdb"

# Set local variables
inputLayer = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/USA_counties/FeatureServer/0"
outputName = "USA_State_Boundaries"
statistics = [["population", "SUM"]]
  
# Run DissolveBoundaries using "STATE" as the Dissolve Field
arcpy.gapro.DissolveBoundaries(inputLayer, outputName, "SINGLE_PART",
                               "DISSOLVE_FIELDS", "STATE", statistics)