描述
可使用并行处理方法基于指定的属性聚合要素。
插图
使用方法
可使用各种统计对已通过融合而聚合的要素的属性进行汇总或描述。以“统计类型 + 下划线 + 输入字段名”为命名标准,将用来汇总属性的统计以单个字段的形式添加到输出要素类中。例如,如果对名为 POP 的字段使用 SUM 统计,则输出中将存在名为 SUM_POP 的字段。
可以在输出要素类中创建超大型要素。当融合字段中存在少量唯一值时或将所有要素融合为单个要素时尤其适用。超大型要素可能会引起处理或显示故障或降低在地图上进行绘制或编辑时的性能。如果融合输出在一台计算机上以最大尺寸创建要素,然后将此输出移动到一个可用内存较少的计算机上,也会出现问题。要避免这些潜在问题,请取消选中创建多部分要素(Python 中的 multi_part="SINGLE_PART"),将可能较大的多部分要素分割为多个较小要素。对于超大型要素,可以使用切分工具来切割较大的要素,以解决处理、显示或性能上的问题。
空值将被排除在所有统计计算之外。例如,10、5 和 NULL 的 AVERAGE 为 7.5 ((10+5)/2)。COUNT 统计可返回统计计算中所包括值的数目,如本例中为 2。
融合字段参数的添加字段按钮仅可以在“模型构建器”中使用。在模型构建器中,如果先前的工具尚未运行或其派生数据不存在,则可能不会使用字段名称来填充融合字段参数。添加字段按钮可用于添加所需字段,以完成该工具的对话框并继续构建模型。
如果输入要素几何类型为点或多点,且创建多部分要素处于选中状态(Python 中的 multi_part="MULTI_PART"),则输出将为多点要素类。否则,如果未选中创建多部分要素(Python 中的 multi_part="SINGLE_PART"),则输出将为点要素类。
成对融合工具支持并行处理因子环境。如果环境未设置(默认情况下)或已设置为 100,则将启用完全并行处理,同时该工具尝试将工作分配给计算机上的所有逻辑内核。将环境设置为 0 将禁用并行处理。在 1 到 99 之间指定一个因子时,工具将通过应用公式(并行处理因子 / 100 * 逻辑内核数)确定要使用的逻辑内核的百分比,其结果将向上舍入到最近的整数值。如果此公式的结果是 0 或 1,则将不启用并行处理。
语法
PairwiseDissolve(in_features, out_feature_class, {dissolve_field}, {statistics_fields}, {multi_part})
参数 | 说明 | 数据类型 |
in_features | 要聚合的要素。 | Feature Layer |
out_feature_class | 要创建的将包含聚合要素的要素类。 | Feature Class |
dissolve_field [dissolve_field,...] (可选) | 要聚合要素的一个或多个字段。 添加字段按钮(只能在 ModelBuilder 中使用)可用于添加所需字段,以完成对话框并继续构建模型。 | Field |
statistics_fields [[field, {statistic_type}],...] (可选) | 指定包含用于计算指定统计数据的属性值的数值字段。可以指定多项统计数据和字段组合。空值将被排除在所有统计计算之外。 可使用第一种和最后一种统计来对文本属性字段进行汇总。可使用任何一种统计来对数值属性字段进行汇总。 可用统计类型如下:
| Value Table |
multi_part (可选) | 指定在输出要素类中是否允许多部分要素。
| Boolean |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 PairwiseDissolve 工具。
import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
arcpy.PairwiseDissolve_analysis("taxlots", "C:/output/output.gdb/taxlots_dissolved",
["LANDUSE", "TAXCODE"], "", "SINGLE_PART")
以下独立脚本演示了如何使用 PairwiseDissolve 工具。
# Name: PairwiseDissolve_Example2.py
# Description: Dissolve features based on common attributes
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
# Set local variables
inFeatures = "taxlots"
tempLayer = "taxlotsLyr"
expression = arcpy.AddFieldDelimiters(inFeatures, "LANDUSE") + " <> ''"
outFeatureClass = "C:/output/output.gdb/taxlots_dissolved"
dissolveFields = ["LANDUSE", "TAXCODE"]
# Execute MakeFeatureLayer and SelectLayerByAttribute. This is only to exclude
# features that are not desired in the output.
arcpy.MakeFeatureLayer_management(inFeatures, tempLayer)
arcpy.SelectLayerByAttribute_management(tempLayer, "NEW_SELECTION", expression)
# Execute Dissolve using LANDUSE and TAXCODE as Dissolve Fields
arcpy.PairwiseDissolve_analysis(tempLayer, outFeatureClass, dissolveFields, "",
"SINGLE_PART")
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是