标注 | 说明 | 数据类型 |
输入面 | 用于汇总输入要素图层内要素或要素部分的面。 | Feature Layer |
输入汇总要素 | 将为输入面中的各面汇总点、线或面要素。 | Feature Layer |
输出要素类 | 输出面要素类,包括与输入面相同的几何和属性,还有一些新属性(各输入面内点的数量、线的长度和面的面积以及这些要素的统计数据)。 | Feature Class |
保留所有输入面 (可选) | 指定是所有输入面还是仅那些相交或包括至少一个输入汇总要素的面将会复制到输出要素类。
| Boolean |
汇总字段 (可选) | 输入汇总要素中的属性字段名称及将为各面内全部点计算属性字段的统计汇总类型的列表。 汇总字段必须为数值型。 不支持文本和其他属性字段类型。 统计类型如下:
| Value Table |
添加形状汇总属性 (可选) | 指定是否向输出要素类添加各输入面中汇总得出的点数量、线长度及面要素面积等属性。
| Boolean |
形状单位 (可选) | 指定在计算形状汇总属性时将使用的单位。 如果输入汇总要素为点,则不需要使用形状单位,因为仅添加各输入面内点的计数。 如果输入汇总要素为线,则指定一个线性单位。 如果输入汇总要素为面,则指定一个面积单位。
| String |
组字段 (可选) | 用于分组的输入汇总要素中的属性字段。 具有相同组字段值的要素将合并与具有相同组字段值的其他要素汇总。 指定组字段时,需要输出分组表参数。 | Field |
添加少数和众数属性 (可选) | 指定是否向输出添加少数和众数字段。 使用此参数,您可以确定各输入面中哪个组字段值为少数(所占比例最小),哪个为众数(所占比例最大)。 如果指定了组字段参数值,则此参数将处于活动状态。
| Boolean |
添加组百分比 (可选) | 指定是否向输出添加百分比属性字段。 使用此参数,您可以确定各组内各个属性值的百分比。 如果指定了组字段参数值,则此参数将处于活动状态。
| Boolean |
输出分组表 (可选) | 各个输入面各汇总要素组的汇总字段的输出表。 该表将具有以下属性字段:
如果指定了组字段参数值,则此参数为必需项。 | Table |
摘要
将一个面图层与另一个图层叠加,以便汇总各面内点的数量、线的长度或面的面积,并计算面内要素的属性字段统计数据。
以下是使用范围内汇总的示例情景:
- 如果按土地利用类型给定集水区边界图层和土地利用边界图层,则可以计算每个集水区的土地利用类型的总面积。
- 如果给定一个县内宗地的图层和城市边界图层,则可以汇总各城市边界内闲置宗地的平均值。
- 如果给定各县的图层和道路图层,则可以汇总各县内各种道路类型的道路总里程。
插图
使用情况
将范围内汇总视为使用两个图层,输入面和输入汇总要素,并将其堆叠在彼此上方。 堆叠这些图层后,可以由上至下对齐堆栈并计算落在输入面内的输入汇总要素的数量。 您也可以计算关于输入汇总要素(和、平均值、最小值、最大值等)属性的简单统计数据。
范围内汇总和邻近汇总在概念上是相似的。 使用范围内汇总工具,可以在现有面内汇总要素。 使用邻近汇总工具,可以在点、线或面周围生成区域并在那些派生的区域内汇总要素。
您可以通过从输入点中指定分组字段来创建组。 例如,如果要将犯罪事件汇总在邻近地区边界内,可能会有一个含有五种犯罪类型的 Crime_type 属性。 各种唯一的犯罪类型构成一组,并将针对每个唯一 Crime_type 值计算您选择的统计数据。
空值将被排除在所有统计计算之外。 例如,10、5 和空值的平均值为 7.5 ((10+5)/2)。
参数
arcpy.analysis.SummarizeWithin(in_polygons, in_sum_features, out_feature_class, {keep_all_polygons}, {sum_fields}, {sum_shape}, {shape_unit}, {group_field}, {add_min_maj}, {add_group_percent}, {out_group_table})
名称 | 说明 | 数据类型 |
in_polygons | 用于汇总输入要素图层内要素或要素部分的面。 | Feature Layer |
in_sum_features | 将为输入面中的各面汇总点、线或面要素。 | Feature Layer |
out_feature_class | 输出面要素类,包括与输入面相同的几何和属性,还有一些新属性(各输入面内点的数量、线的长度和面的面积以及这些要素的统计数据)。 | Feature Class |
keep_all_polygons (可选) | 指定是将所有输入面,还是仅将包含至少一个输入汇总要素的输入面复制到输出要素类。
| Boolean |
sum_fields [[summary_field, statistic_type],...] (可选) | 输入汇总要素中的属性字段名称及将为各面内全部点计算属性字段的统计汇总类型的列表。 汇总字段必须为数值型。 不支持文本和其他属性字段类型。 统计类型如下:
| Value Table |
sum_shape (可选) | 指定是否向输出要素类添加各输入面中汇总得出的点数量、线长度及面要素面积等属性。
| Boolean |
shape_unit (可选) | 指定在计算形状汇总属性时将使用的单位。 如果输入汇总要素为点,则不需要使用形状单位,因为仅添加各输入面内点的计数。 如果输入汇总要素为线,则指定一个线性单位。 如果输入汇总要素为面,则指定一个面积单位。
| String |
group_field (可选) | 用于分组的输入汇总要素中的属性字段。 具有相同组字段值的要素将合并与具有相同组字段值的其他要素汇总。 指定组字段时,需要 out_grouped_table 参数。 | Field |
add_min_maj (可选) | 指定是否向输出添加少数和众数字段。 使用此参数,您可以确定各输入面中哪个组字段值为少数(所占比例最小),哪个为众数(所占比例最大)。 如果指定了 group_field 参数值,则将启用此参数。
| Boolean |
add_group_percent (可选) | 指定是否向输出添加百分比属性字段。 使用此参数,您可以确定各组内各个属性值的百分比。 如果指定了 group_field 参数值,则将启用此参数。
| Boolean |
out_group_table (可选) | 各个输入面各汇总要素组的汇总字段的输出表。 该表将具有以下属性字段:
如果指定了 group_field 参数值,则此参数为必需项。 | Table |
代码示例
以下 Python 窗口脚本演示了如何使用 SummarizeWithin 函数。
import arcpy
arcpy.env.workspace = 'C:/data/city.gdb'
arcpy.analysis.SummarizeWithin('neighborhoods', 'crimes', 'neighborhood_crimes')
下面的独立脚本演示了如何在脚本环境中使用 SummarizeWithin 函数。
# Description: Use SummarizeWithin to summarize the crimes in each city neighborhood
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = 'C:/data/city.gdb'
# Set local variables
polys = 'neighborhoods'
points = 'crimes'
outFeatureClass = 'crimes_aggregated'
keepAll = 'KEEP_ALL'
sumFields = [['Damages', 'SUM'], ['VICTIM_AGE', 'MEAN']]
addShapeSum = 'ADD_SHAPE_SUM'
groupField = 'Crime_type'
addMinMaj = 'ADD_MIN_MAJ'
addPercents = 'ADD_PERCENT'
outTable = 'crimes_aggregated_groups'
arcpy.analysis.SummarizeWithin(polys, points, outFeatureClass, keepAll,
sumFields, addShapeSum, '', groupField,
addMinMaj, addPercents, outTable)
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是