范围内汇总 (GeoAnalytics Desktop)

摘要

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

以下为使用范围内汇总的示例场景:

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

插图

“范围内汇总”工具图示
将显示有关汇总面内的点(第一行)、面内的线(第二行)和面内的面(第三行)的示例。

使用情况

  • 基本上,范围内汇总工具将使用两个图层:输入面和输入汇总要素,并将其堆叠在彼此上方。 可以向下查看堆栈,并计算落在输入面范围内的输入汇总要素的数量。 您还可以计算关于输入汇总要素(总和、平均值、最小值、最大值等)属性的简单统计数据。

  • 使用范围内汇总计算标准统计数据以及地理加权统计数据。 标准统计数据用于汇总统计值,而无需加权。 加权统计使用面内线的地理加权属性或面内面的属性来计算值。 加权统计数据不适用于面内的点。

  • 可以为表示计数或比率的属性计算标准统计数据和地理加权统计数据。 它们定义如下:

    • 计数 - 表示点位置、沿线或面内实体的总和或数量的属性。 计数类型属性的示例包括一个国家的人口、人口普查区块中出租车搭乘地点的数量以及河流沿岸的大坝数量。 对于线和面要素,在计算标准或加权统计数据之前,计数按比例划分。
    • 比率 - 表示点位置、沿线或面内的比例或指数的属性。 比率类型属性的示例包括一个国家的人口密度、道路的速度限制或社区的步行方便性得分。 比率不会按照比例划分。

    对于计数类型的属性,在计算统计数据之前,值会根据面内的线数量或另一个面内的面数量按比例划分。 当汇总要素是点时,计数类型和比率类型属性的统计数据计算方式相同。

  • 您可以使用下表中的选项来计算每个面内汇总图层的长度和面积。 可以根据汇总图层的几何进行选择。

    输入要素描述选项

    每个面内的汇总点计数

    线

    每个面内的汇总线长度

    • 法定英里
    • 国际码
    • 国际英尺
    • 美国测量英里
    • 美国测量码
    • 美国测量英尺
    • 千米

    面积

    每个面内的汇总面面积

    • 法定平方英里
    • 国际平方码
    • 国际平方英尺
    • 平方千米
    • 平方米
    • 公顷
    • 国际英亩
    • 美国测量平方英里
    • 美国测量平方码
    • 美国测量平方英尺
    • 美国测量英亩
  • 对于线和面,要计算所有的加权统计数据。 将标准汇总字段统计数据和加权汇总字段统计数据同时应用到汇总图层参数值与汇总面图层相交的要素数据中。 加权汇总字段统计数据将乘以基于汇总面参数值中与汇总图层参数值中的每个要素相交的要素比例的权重。

  • 对于标准统计数据,有八个选项:计数、总和、平均值、最小值、最大值、范围、标准差和方差。 字符串统计数据有两个选项:计数和任意。 将在要汇总的图层中的数值字段上计算三个加权统计数据:平均值、标准差和方差。

  • 加权统计数据不用于字符串数据的计算。 每次指定字段统计数据值时,工具窗格都将添加一行以便可以计算多个统计数据。 您可以在结果图层的表或弹出窗口中查看汇总结果。 默认情况下,始终计算与汇总面值相交的要素计数。

  • 使用条柱的分析要求您的输入已投影或输出坐标系设置为投影坐标系。 如果您的数据不在投影坐标系中,并且未设置投影坐标系,则将根据您分析的数据范围使用投影。

  • 您可以提供按字段分组值,以便分别为每个唯一属性值计算统计数据。 提供按字段分组值时,系统将创建一个汇总表,该表将根据按字段分组值列出每个要素和统计数据。

  • 提供按字段分组值时,添加少数和众数属性以及添加组百分比参数可用。 少数和众数分别是按字段分组参数中所占比例最小和最大的值,其中所占比例将通过每个值的点数、总长度或总面积来确定。

  • 选中添加少数和众数属性参数时,将有两个字段添加到结果图层。 这些字段将列出按字段分组参数中各结果要素的少数值和多数值。

  • 添加组百分比参数仅在选中添加少数和众数属性时可用。 当选中添加组百分比参数时,结果图层中将添加两个字段,列出属于各要素少数值和多数值的点数、总长度或总面积的百分比。 百分比字段也将添加到结果表中,列出点数、总长度或总面积(属于按字段分组参数中各要素的所有值)的百分比。

  • 输出要素图层始终是面图层。 将仅返回与汇总图层相交的面。 其他面将从结果图层中完全移除。

    包含点要素的所返回面
    显示输入点和面要素(第一个图像)以及生成的面要素(第二个图像)。

  • 以下是输出面要素中的字段:

    字段名描述
    count

    与每个面图层相交的汇总要素的计数。

    sum_length_<linearunit>或者 sum_area_<areaunit>

    面内线的总长度或每个面内汇总面的总面积。 选中添加形状汇总属性时将以指定单位返回这些值。

    statistic_<fieldname>

    指定的统计信息将各自创建一个属性字段,并按照以下格式命名:<statistic>_<fieldname>。 例如,id 字段的最大偏差和标准偏差为 MAX_idSD_id

    pstatistic_<fieldname>

    指定的加权统计信息将各自创建一个属性字段,并按照以下格式命名:p<statistic>_<fieldname>。 例如,字段 id 的加权最大值为 pMAX_id

    minority_<fieldname>

    当您创建分组依据表并选中添加少数和众数属性时,将返回此值。 此值表示每个面中作为少数的指定字段值。 例如,一个面中有五个具有名为 color 字段的点,值分别为 red、blue、blue、green、green。 如果您按照 color 字段来创建组,则 minority_color 字段的值为 red。

    majority_<fieldname>

    当您创建分组依据表并选中添加少数和众数属性时,将返回此值。 此值表示每个面中作为众数的指定字段值。 例如,一个面中有五个具有名为 color 字段的点,值分别为 red、blue、blue、green、green。 如果您按照 color 字段来创建组,则 majority_color 字段的值为 blue;green。

    minority_<fieldname>_percent

    当您创建分组依据表并选中添加组百分比时,将返回此值。 此值表示每个面中作为少数的指定字段的计数百分比。 例如,一个面中有五个具有名为 color 字段的点,值分别为 red、blue、blue、green、green。 如果您按照 color 字段来创建组,则 minority_color_percent 字段的值为 20 (计算为 1/5)。

    majority_<fieldname>_percent

    当您创建分组依据表并选中添加组百分比时,将返回此值。 此值表示每个面中作为众数的指定字段的计数百分比。 例如,一个面中有五个具有名为 color 字段的点,值分别为 red、blue、blue、green、green。 如果您按照 color 字段来创建组,则 majority_color_percent 字段的值为 40 (计算为 2/5)。

    join_id

    创建分组依据表时,将返回此值。 这是将要素链接到分组依据表中的 ID。 每个 join_id 字段对应分组依据表中的一行或多行。

    输出分组依据表中包括以下字段:

    字段名描述

    join_id

    这是将要素链接到面图层的 ID。 每个面将有一个或多个具有相同 ID 的要素,表示所有分组依据值。 例如,一个面中有五个具有名为 color 字段的点,值分别为 red、blue、blue、green、green。 分组依据表将有三行表示面(连接 ID 相同),每行分别表示红色、蓝色和绿色其中一种颜色。

    count

    已连接面内指定组的计数。 例如,对于选定面,红色为 1。

    <statistic>_<fieldname>

    为每个组计算的任何指定统计数据。

    p<statistic>_<fieldname>

    为每个组计算的任何指定加权统计数据。

    percentcount

    每组占面中总计数的百分比。 按上例所述,红色占 1/5 = 20,蓝色占 2/5 = 40,绿色占 2/5 = 20。

  • 您可以执行以下一个或多个操作来提升范围内汇总工具的性能:

    • 设置范围环境,以便仅分析感兴趣的数据。
    • 较大的立方图格比较小的立方图格性能更佳。 如果您要使用立方图格或不确定使用哪种大小,可从较大的立方图格开始原型化。
    • 本地数据用于分析运行的位置。

  • 此地理处理工具由 Spark 作为支持。 可在台式计算机上并行使用多个核来完成分析。 要了解有关运行分析的详细信息,请参阅 GeoAnalytics Desktop 工具的注意事项

  • 运行 GeoAnalytics Desktop 工具时,将在台式计算机上完成分析。 为获得最佳性能,应在桌面上提供数据。 如果使用的是托管要素图层,则建议您使用 ArcGIS GeoAnalytics Server。 如果您的数据不是本地数据,则运行工具需要更长时间。 要使用 ArcGIS GeoAnalytics Server 执行分析,请参阅 GeoAnalytics Tools

  • 类似的分析也可使用 ArcGIS AllSource 的“标准要素分析”工具箱中的范围内汇总工具来完成。

参数

标注说明数据类型
汇总图层

将按面或图格进行汇总的点、线或面要素。

Feature Layer
输出要素类

将包含相交几何和属性的输出要素类的名称。

Feature Class
面或立方图格

用于指定是否按面或图格对汇总图层值进行汇总。

  • 汇总图层将聚合到面数据集。
  • 图格汇总图层将聚合到运行此工具时生成的方形或六角图格。
String
立方图格类型

指定将生成以汇总要素的图格形状。

  • 正方形图格大小值表示方形的高度。 这是默认设置。
  • 六边形图格大小值表示两条平行边之间的高度。
String
立方图格大小
(可选)

表示图格大小和汇总输入要素时所采用单位的距离间隔。

Linear Unit
汇总面
(可选)

将用于汇总输入汇总图层内要素的面。

Feature Layer
添加形状汇总属性

指定是要计算汇总图层(面或图格)内线的长度还是面的面积。 将始终包括与汇总形状相交的点、线和面的计数。

  • 选中 - 将计算汇总形状值。 这是默认设置。
  • 未选中 - 不计算汇总形状值。

Boolean
形状单位
(可选)

指定将用于计算形状汇总属性的测量值单位。 如果输入汇总要素为点,则不需要使用形状单位,因为仅添加各输入面内点的计数。 如果输入汇总要素为线,则指定一个线性单位。 如果输入汇总要素为面,则指定一个面积单位。

  • 形状单位将为美国测量米。
  • 千米形状单位将为美国测量千米。
  • 美国测量英尺形状单位将为美国测量英尺。
  • 美国测量码形状单位将为美国测量码。
  • 美国测量英里形状单位将为美国测量英里。
  • 美国测量海里形状单位将为美国测量海里。
  • 国际英尺形状单位将为国际英尺。
  • 国际码形状单位将为国际码。
  • 法定英里形状单位将为法定英里。
  • 国际海里形状单位将为国际海里。
  • 国际英亩形状单位将为国际英亩。
  • 公顷形状单位将为公顷。
  • 平方米形状单位将为平方米。
  • 平方千米形状单位将为平方公里。
  • 国际平方英尺形状单位将为国际平方英尺。
  • 国际平方码形状单位将为国际平方码。
  • 法定平方英里形状单位将为平方法定英里。
  • 美国测量平方英尺形状单位将为美国测量平方英尺。
  • 美国测量平方码形状单位将为美国测量平方码。
  • 美国测量平方英里形状单位将为美国测量平方英里。
  • 美国测量英亩形状单位将为美国测量英亩。
String
标准汇总字段
(可选)

将根据指定字段进行计算的统计数据。

指定字段是表示计数还是比率。

  • 计数对于线和面图层,在计算统计数据之前,汇总字段值将根据与汇总面相交的汇总要素的百分比按比例划分。 对于点图层,不会将值按比例划分。
  • 比率不会将汇总字段值按比例划分。 原始字段值将用于计算统计数据。
Value Table
加权汇总字段
(可选)

指定将根据指定字段进行计算的加权统计数据。

指定字段是表示计数还是比率。

  • 平均值将计算每个字段的加权平均值,其中应用的权重是面内汇总图层的比例。
  • 标准差将计算每个字段的加权标准差,其中应用的权重是面内汇总图层的比例。
  • 方差将计算每个字段的加权方差,其中应用的权重是面内汇总图层的比例。
  • 计数在计算统计数据之前,汇总字段值将根据与汇总面相交的汇总要素的百分比按比例划分。
  • 比率不会将汇总字段值按比例划分。 原始字段值将用于计算统计数据。
Value Table
分组条件字段
(可选)

输入汇总要素中的字段,将用于计算每个唯一属性值的统计数据。 例如,输入汇总要素包含存储危险材料的企业的点位置,且其中一个字段为 HazardClass,其中含有用于描述所存储危险材料类型的代码。 要根据每个 HazardClass 唯一值计算汇总,请将其用作分组条件字段。

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

用于指定是否添加各个边界内每个组字段的少数(所占比例最小)或众数(所占比例最大)属性值。 如果选中此参数,则将向输出图层添加两个前缀为 Minority_ 和 Majority_ 的新字段。 仅当为按字段分组参数提供值时,此参数才适用。

  • 未选中 - 将不添加少数和众数字段。 这是默认设置。
  • 选中 - 将添加少数和众数字段。

Boolean
添加组百分比
(可选)

用于指定是否将添加百分比字段。 如果选中此参数,则系统将针对每个输入面计算每个唯一组百分比值。 仅当为按字段分组参数提供值并且为添加少数和众数属性参数指定值时,此参数才适用。

  • 未选中 - 将不添加百分比字段。 这是默认设置。
  • 选中 - 将添加百分比字段。

Boolean
按汇总分组表
(可选)

将包含按汇总分组的输出表。

Table

arcpy.geoanalytics.SummarizeWithin(summarized_layer, out_feature_class, polygon_or_bin, bin_type, {bin_size}, {summary_polygons}, sum_shape, {shape_units}, {standard_summary_fields}, {weighted_summary_fields}, {group_by_field}, {add_minority_majority}, {add_percentages}, {group_by_summary})
名称说明数据类型
summarized_layer

将按面或图格进行汇总的点、线或面要素。

Feature Layer
out_feature_class

将包含相交几何和属性的输出要素类的名称。

Feature Class
polygon_or_bin

用于指定是否按面或图格对 summarized_layer 值进行汇总。

  • POLYGON汇总图层将聚合到面数据集。
  • BIN汇总图层将聚合到方形或六角图格。
String
bin_type

指定将生成以汇总要素的图格形状。

  • SQUAREbin_size 值表示方形的高度。 这是默认设置。
  • HEXAGONbin_size 值表示两条平行边之间的高度。
String
bin_size
(可选)

表示图格大小和汇总输入要素时所采用单位的距离间隔。

Linear Unit
summary_polygons
(可选)

将用于汇总输入汇总图层内要素的面。

Feature Layer
sum_shape

指定是要计算汇总图层(面或图格)内线的长度还是面的面积。 将始终包括与汇总形状相交的点、线和面的计数。

  • ADD_SUMMARY将计算汇总形状值。 这是默认设置。
  • NO_SUMMARY不计算汇总形状值。
Boolean
shape_units
(可选)

指定将用于计算形状汇总属性的测量值单位。 如果输入 summarized_layer 值为点,则不需要使用形状单位,因为仅添加各输入面内点的计数。 如果输入汇总要素为线,则指定一个线性单位。 如果输入汇总要素为面,则指定一个面积单位。

  • METERS形状单位将为米。
  • KILOMETERS形状单位将为公里。
  • FEET形状单位将为美国测量英尺。
  • YARDS形状单位将为美国测量码。
  • MILES形状单位将为美国测量英里。
  • NAUTICAL_MILES形状单位将为美国测量海里。
  • FEET_INT形状单位将为国际英尺。
  • YARDS_INT形状单位将为国际码。
  • MILES_INT形状单位将为法定英里。
  • NAUTICAL_MILES_INT形状单位将为国际海里。
  • ACRES形状单位将为国际英亩。
  • HECTARES形状单位将为公顷。
  • SQUARE_METERS形状单位将为平方米。
  • SQUARE_KILOMETERS形状单位将为平方公里。
  • SQUARE_FEET形状单位将为国际平方英尺。
  • SQUARE_YARDS形状单位将为国际平方码。
  • SQUARE_MILES形状单位将为平方法定英里。
  • SQUARE_FEET_US形状单位将为美国测量平方英尺。
  • SQUARE_YARDS_US形状单位将为美国测量平方码。
  • SQUARE_MILES_US形状单位将为美国测量平方英里。
  • ACRES_US形状单位将为美国测量英亩。
String
standard_summary_fields
[standard_summary_fields,...]
(可选)

将根据指定字段进行计算的统计数据。

  • COUNT - 非空值的数目。 可用于数值字段或字符串。 [null, 0, 2] 的计数为 2
  • SUM - 字段内数值的总和。 [null, null, 3] 的总和为 3
  • MEAN - 数值的平均值。 [0,2, null] 的平均值为 1
  • MIN - 数值字段的最小值。 [0, 2, null] 的最小值为 0
  • MAX - 数值字段的最大值。 [0, 2, null] 的最大值为 2
  • STDDEV - 数值字段的标准差。 [1] 的标准差为 null[null, 1,1,1] 的标准差为 null
  • VAR - 轨迹中数值字段内数值的方差。 [1] 的方差为 null[null, 1,1,1] 的方差为 null
  • RANGE - 数值字段的范围。 其计算方法为最大值减去最小值。 [0, null, 1] 的范围为 1[null, 4] 的范围为 0
  • ANY - 字符串型字段中的示例字符串。

指定字段是表示计数还是比率。

  • COUNT对于线和面图层,在计算统计数据之前,汇总字段值将根据与汇总面相交的汇总要素的百分比按比例划分。 对于点图层,不会将值按比例划分。
  • RATE不会将汇总字段值按比例划分。 原始字段值将用于计算统计数据。
Value Table
weighted_summary_fields
[weighted_summary_fields,...]
(可选)

指定将根据指定字段进行计算的加权统计数据。

  • MEAN将计算每个字段的加权平均值,其中应用的权重是面内汇总图层的比例。
  • STDDEV将计算每个字段的加权标准差,其中应用的权重是面内汇总图层的比例。
  • VAR将计算每个字段的加权方差,其中应用的权重是面内汇总图层的比例。

指定字段是表示计数还是比率。

  • Count在计算统计数据之前,汇总字段值将根据与汇总面相交的汇总要素的百分比按比例划分。
  • Rate不会将汇总字段值按比例划分。 原始字段值将用于计算统计数据。
Value Table
group_by_field
(可选)

输入汇总要素中的字段,将用于计算每个唯一属性值的统计数据。 例如,输入汇总要素包含存储危险材料的企业的点位置,且其中一个字段为 HazardClass,其中含有用于描述所存储危险材料类型的代码。 要根据每个 HazardClass 唯一值计算汇总,请将其用作分组条件字段。

Field
add_minority_majority
(可选)

用于指定是否添加各个边界内每个组字段的少数(所占比例最小)或众数(所占比例最大)属性值。 如果此参数值为 ADD_MIN_MAJ,则将向输出图层添加两个前缀为 Minority_ 和 Majority_ 的新字段。 仅当为 group_by_field 参数提供值时,此参数才适用。

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

用于指定是否将添加百分比字段。 如果此参数值为 ADD_PERCENT,则系统将针对每个输入面计算每个唯一组百分比值。 仅当为 group_by_field 参数提供值并且为 add_minority_majority 参数指定值时,此参数才适用。

  • NO_PERCENT将不添加百分比字段。 这是默认设置。
  • ADD_PERCENT将添加百分比字段。
Boolean
group_by_summary
(可选)

将包含按汇总分组的输出表。

Table

代码示例

SummarizeWithin 示例(Python 窗口)

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

# Name: SummarizeWithin.py
# Description: Summarize river polylines by counties.

# Import system modules
import arcpy

arcpy.env.workspace = "C:/data/RedRiver_basin.gdb"

# Set local variables
summarizedLayer = "Rivers"
summaryPolys = "Basins"
summaryStatistics = [["Width", "MEAN", "RATE"]]
weightedSummaryStatistics = [["DOC", "STDDEV", "COUNT"]]
out = 'SummarizedRivers'


# Run SummarizeWithin
arcpy.gapro.SummarizeWithin(summarizedLayer, out, "POLYGON", None, 
                            None, summaryPolys, "ADD_SUMMARY", 
                            "KILOMETERS", summaryStatistics, 
                            weightedSummaryStatistics)