范围内汇总 (分析)

摘要

将一个面图层与另一个图层叠加,以便汇总各面内点的数量、线的长度或面的面积,并计算面内要素的属性字段统计数据。

以下是使用范围内汇总的示例情景:

  • 基于土地使用类型给定集水区边界图层和土地使用边界图层,计算每个集水区的土地使用类型的总面积。
  • 基于县内宗地的图层和城市边界图层,汇总各城市边界内闲置宗地的平均值。
  • 基于县图层和道路图层,汇总各县内各种道路类型的道路总里程。

插图

范围内汇总工具图示

使用情况

  • 范围内汇总视为使用两个图层,输入面和输入汇总要素,并将其堆叠在彼此上方。 堆叠这些图层后,可以由上至下对齐堆栈并计算落在输入面内的输入汇总要素的数量。 您也可以计算关于输入汇总要素(和、平均值、最小值、最大值等)属性的简单统计数据。

  • 范围内汇总邻近汇总在概念上是相似的。 使用范围内汇总工具,可以在现有面内汇总要素。 使用邻近汇总工具,可以在点、线或面周围生成区域并在那些派生的区域内汇总要素。

  • 面汇总要素使用输入要素的面积比例进行汇总。 假设输入面与汇总面的叠加面积为 1 平方千米。 如果汇总面为 100 平方千米,则工具将汇总 1/100 的汇总面数值。 要确保比例计算有效,使用包含计数和数量的字段,而不是比率或比例。

  • 您可以通过从输入点中指定分组字段来创建组。 例如,如果要将犯罪事件汇总在邻近地区边界内,可能会有一个含有五种犯罪类型的 Crime_type 属性。 各种唯一的犯罪类型构成一组,并将针对每个唯一 Crime_type 值计算您选择的统计数据。

  • 空值将被排除在所有统计计算之外。 例如,6、4 和空值的平均值为 5 ((6+4)/2)。

参数

标注说明数据类型
输入面

要用于汇总输入要素图层内要素或要素部分的面。

Feature Layer
输入汇总要素

将为输入面中的各面汇总点、线或面要素。

Feature Layer
输出要素类

包含与输入面相同的几何和属性的输出面要素类。 要素列将包含每个输入面内与点数、线长度和面面积对应的其他属性以及有关这些要素的统计数据。

Feature Class
保留所有输入面
(可选)

指定是所有输入面还是仅那些相交或包括至少一个输入汇总要素的面将会复制到输出要素类。

  • 选中 - 所有输入面都将复制到输出要素类。 这是默认设置。
  • 未选中 - 只有相交或包括至少一个输入汇总要素的输入面将会复制到输出要素类。
Boolean
汇总字段
(可选)

输入汇总要素中的属性字段名称及将为各面内全部点计算属性字段的统计汇总类型的列表。

汇总字段必须为数值型。 不支持文本和其他属性字段类型。

统计类型如下:

  • Sum - 将计算每个面内所有点的总值。
  • Mean - 将计算每个面内所有点的平均值。
  • Min - 将识别每个面内所有点的最小值。
  • Max - 将识别每个面内所有点的最大值。
  • Stddev - 将计算每个面内所有点的标准差。

Value Table
添加形状汇总属性
(可选)

指定是否向输出要素类添加各输入面中汇总得出的点数量、线长度及面要素面积等属性。

  • 选中 - 形状汇总属性将添加到输出要素类中。 这是默认设置。
  • 未选中 - 形状汇总属性不会添加到输出要素类中。
Boolean
形状单位
(可选)

指定在计算形状汇总属性时将使用的单位。 如果输入汇总要素为点,则不需要使用形状单位,因为仅添加各输入面内点的计数。

如果输入汇总要素为线,则指定一个线性单位。 如果输入汇总要素为面,则指定一个面积单位。

  • 单位将为米。
  • 千米单位将为千米。
  • 英尺单位将为英尺。
  • 单位将为码。
  • 英里单位将为英里。
  • 英亩单位将为英亩。
  • 公顷单位将为公顷。
  • 平方米单位将为平方米。
  • 平方千米单位将为平方千米。
  • 平方英尺单位将为平方英尺。
  • 平方码单位将为平方码。
  • 平方英里单位将为平方英里。
String
组字段
(可选)

输入汇总要素中用于分组的属性字段。 具有相同组字段值的要素将合并与具有相同组字段值的其他要素汇总。

指定组字段时,需要输出分组表参数值。

Field
添加少数和众数属性
(可选)

指定是否向输出添加少数和众数字段。 使用此参数,您可以确定各输入面中哪个组字段值为少数(所占比例最小),哪个为众数(所占比例最大)。

如果提供了组字段参数值,则此参数将处于活动状态。

  • 未选中 - 不会向输出添加少数和众数字段。 这是默认设置。
  • 选中 - 将向输出添加少数和众数字段。
Boolean
添加组百分比
(可选)

指定是否向输出添加百分比属性字段。 使用此参数,您可以确定各组内各个属性值的百分比。

如果提供了组字段参数值,则此参数将处于活动状态。

  • 未选中 - 不会向输出添加百分比属性字段。 这是默认设置。
  • 选中 - 将向输出添加百分比属性字段。
Boolean
输出分组表
(可选)

各个输入面各汇总要素组的汇总字段的输出表。

该表将具有以下属性字段:

  • Join_ID - 与添加到输出要素类的 ID 字段对应的 ID。
  • 组字段
  • 形状汇总字段
  • 每个汇总字段对应一个字段
  • 百分比字段

如果提供了组字段参数值,则此参数为必需项。

Table

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
(可选)

指定是所有输入面还是仅那些相交或包括至少一个输入汇总要素的面将会复制到输出要素类。

  • KEEP_ALL所有输入面都将复制到输出要素类。 这是默认设置。
  • ONLY_INTERSECTING只有相交或包括至少一个输入汇总要素的输入面将会复制到输出要素类。
Boolean
sum_fields
[[summary_field, statistic_type],...]
(可选)

输入汇总要素中的属性字段名称及将为各面内全部点计算属性字段的统计汇总类型的列表。

汇总字段必须为数值型。 不支持文本和其他属性字段类型。

统计类型如下:

  • Sum - 将计算每个面内所有点的总值。
  • Mean - 将计算每个面内所有点的平均值。
  • Min - 将识别每个面内所有点的最小值。
  • Max - 将识别每个面内所有点的最大值。
  • Stddev - 将计算每个面内所有点的标准差。

Value Table
sum_shape
(可选)

指定是否向输出要素类添加各输入面中汇总得出的点数量、线长度及面要素面积等属性。

  • ADD_SHAPE_SUM形状汇总属性将添加到输出要素类中。 这是默认设置。
  • NO_SHAPE_SUM形状汇总属性不会添加到输出要素类中。
Boolean
shape_unit
(可选)

指定在计算形状汇总属性时将使用的单位。 如果输入汇总要素为点,则不需要使用形状单位,因为仅添加各输入面内点的计数。

如果输入汇总要素为线,则指定一个线性单位。 如果输入汇总要素为面,则指定一个面积单位。

  • METERS单位将为米。
  • KILOMETERS单位将为千米。
  • FEET单位将为英尺。
  • YARDS单位将为码。
  • MILES单位将为英里。
  • ACRES单位将为英亩。
  • HECTARES单位将为公顷。
  • SQUAREMETERS单位将为平方米。
  • SQUAREKILOMETERS单位将为平方千米。
  • SQUAREFEET单位将为平方英尺。
  • SQUAREYARDS单位将为平方码。
  • SQUAREMILES单位将为平方英里。
String
group_field
(可选)

输入汇总要素中用于分组的属性字段。 具有相同组字段值的要素将合并与具有相同组字段值的其他要素汇总。

提供组字段时,需要 out_grouped_table 参数值。

Field
add_min_maj
(可选)

指定是否向输出添加少数和众数字段。 使用此参数,您可以确定各输入面中哪个组字段值为少数(所占比例最小),哪个为众数(所占比例最大)。

如果提供了 group_field 参数值,则将启用此参数。

  • NO_MIN_MAJ不会向输出添加少数和众数字段。 这是默认设置。
  • ADD_MIN_MAJ将向输出添加少数和众数字段。
Boolean
add_group_percent
(可选)

指定是否向输出添加百分比属性字段。 使用此参数,您可以确定各组内各个属性值的百分比。

如果提供了 group_field 参数值,则将启用此参数。

  • NO_PERCENT不会向输出添加百分比属性字段。 这是默认设置。
  • ADD_PERCENT将向输出添加百分比属性字段。
Boolean
out_group_table
(可选)

各个输入面各汇总要素组的汇总字段的输出表。

该表将具有以下属性字段:

  • Join_ID - 与添加到输出要素类的 ID 字段对应的 ID。
  • 组字段
  • 形状汇总字段
  • 每个汇总字段对应一个字段
  • 百分比字段

如果提供了 group_field 参数值,则此参数为必需项。

Table

代码示例

SummarizeWithin 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用 SummarizeWithin 函数。

import arcpy
arcpy.env.workspace = 'C:/data/city.gdb'
arcpy.analysis.SummarizeWithin('neighborhoods', 'crimes', 'neighborhood_crimes')
SummarizeWithin 示例 2(独立脚本)

下面的独立脚本演示了如何在脚本环境中使用 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: 是

相关主题