范围内汇总 (分析)

摘要

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

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

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

插图

范围内汇总

使用情况

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

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

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

参数

标注说明数据类型
输入面

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

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

仅当选定组字段时,才启用此选项。通过该选项,您可以确定各输入面中哪个组字段值为少数(所占比例最小),哪个为众数(所占比例最大)。

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

仅当选定组字段时,才启用此选项。您可以确定各组内各个属性值的百分比。

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

如果指定了组字段,则需要输出分组表。

各个输入面各汇总要素组的汇总字段的输出表。该表将具有以下属性字段:

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

Table

代码示例

SummarizeWithin 示例 1(Python 窗口)

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

import arcpy
arcpy.env.workspace = 'C:/data/city.gdb'
arcpy.SummarizeWithin_analysis('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.SummarizeWithin_analysis(polys, points, outFeatureClass, keepAll, 
                               sumFields, addShapeSum, '', groupField, 
                               addMinMaj, addPercents, outTable)

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题