聚合面 (制图)

许可等级:BasicStandardAdvanced

摘要

将指定距离内的面要素合并成新的面要素。

插图

Aggregate Polygons illustration

用法

语法

AggregatePolygons_cartography (in_features, out_feature_class, aggregation_distance, {minimum_area}, {minimum_hole_size}, {orthogonality_option}, {barrier_features}, {out_table})
参数说明数据类型
in_features

要聚合的面要素。如果这是一个引用某个制图表达的图层,并且在输入要素中存在形状覆盖,则在聚合处理中将采用这些覆盖的形状、而不是要素形状。

Feature Layer
out_feature_class

要创建的输出要素类。

Feature Class
aggregation_distance

聚合时面要素边界间要满足的距离条件。必须指定一个距离,且此距离必须大于零。可以选择首选单位;默认为要素单位。

Linear unit
minimum_area
(可选)

聚合面得以保留的最小面积。默认值为零,即保留所有面。可以指定首选单位;默认为要素单位。

Areal unit
minimum_hole_size
(可选)

面要素中的孔洞得以保留的最小大小。默认值为零,即保留所有面要素中的孔洞。可以指定首选单位;默认为要素单位。

Areal unit
orthogonality_option
(可选)

指定构造聚合边界时输出要素的特征。

  • NON_ORTHOGONAL将创建有机形状的输出要素。这适用于自然要素,例如,植被或土壤多边形。这是默认设置。
  • ORTHOGONAL将创建正交形状的输出要素。此选项适用于保留人为输入要素的几何特性,例如,建筑物轮廓线。
Boolean
barrier_features
(可选)

包含在输入要素中作为聚合障碍的线要素或面要素的图层。要素不会跨障碍要素聚合。与输入要素存在几何冲突的障碍要素将被忽略。

Feature Layer
out_table
(可选)

将聚合的面连接到其源面要素的一对多关系表。该表包含两个字段(OUTPUT_FID 和 INPUT_FID),分别用于存储聚合要素 ID 和其源要素 ID。使用此表根据源要素派生输出要素的必要属性。该表的默认名称为输出要素类名称,加上 _tbl。默认路径与输出要素类相同。当该参数留空时,不创建任何表。

Table

代码实例

AggregatePolygons 工具示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 AggregatePolygons 工具。

import arcpy
arcpy.env.cartographicPartitions = "C:/data/county.gdb/zipcodepoly"
buildings = "C:/data/county.gdb/bldgspoly"
roads = "C:/data/county.gdb/roadnetwork"
output = "C:/data/county.gdb/BldgAggBarrierPartition"
output_table = "C:/data/county.gdb/BldgAggBarrierPartition_Tbl"
arcpy.AggregatePolygons_cartography(buildings, output, "20 Meters", "5 SquareMeters", "0 SquareMeters", "ORTHOGONAL", roads, output_table)
AggregatePolygons 工具示例 2(独立脚本)

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

# Name: AggregatePolygons_Example2.py
# Description: Aggregate grass features and then transfer attributes
# Author: ESRI
 
# Import system modules
import arcpy
from arcpy import env
import arcpy.cartography as CA
import arcpy.management as DM
import arcpy.analysis as AN
  
# Set environment settings
env.workspace = "C:/data/Portland.gdb/Vegetation"
 
# Set local variables
inGrassFeatures = "grass"
aggregatedFeatures = "C:/data/PortlandOutput.gdb/grassland"
aggregatedTable = "C:/data/PortlandOutput.gdb/grassland_Tbl"
frequencyTable = "C:/data/PortlandOutput.gdb/frequency_Tbl"

# Aggregate grass polygons.
CA.AggregatePolygons(inGrassFeatures, aggregatedFeatures, 50, 300, 300, "NON_ORTHOGONAL", "", aggregatedTable)
 
# Join the aggregatedTable with input and
# transfer the COUNT field to aggregatedTable.
DM.JoinField(aggregatedTable, "INPUT_FID", inGrassFeatures, "OBJECTID", "COUNT")
 
# Use Frequency on aggregatedTable and
# obtain sum for COUNT.
AN.Frequency(aggregatedTable, frequencyTable, "OUTPUT_FID", "COUNT")

# Join the aggregatedFeatures with frequencyTable
# and transfer the COUNT field to aggregatedFeatures.
DM.JoinField(aggregatedFeatures, "OBJECTID", frequencyTable, "OUTPUT_FID", "COUNT")

环境

相关主题

许可信息

ArcGIS for Desktop Basic: 否
ArcGIS for Desktop Standard: 否
ArcGIS for Desktop Advanced: 是
5/10/2014