描述
针对要素类中的字段计算汇总统计数据。
使用方法
汇总属性是表格分析工具,而非空间分析工具。输入可以为表格图层或具有几何(点、线或面)的图层。
可以指定一个或多个字段作为汇总条件或用于汇总所有要素。如果将字段作为汇总条件,则将针对各属性值的唯一组合来计算统计数据。
输出表将由包含统计运算结果的字段组成。
将使用以下命名约定为每种指定的统计类型创建字段:sum_<field>、max_<field>、min_<field>、range_<field>、std_<field>、count_<field>、var_<field> 和 any_<field>(其中<field> 是计算统计数据的输入字段的名称)。系统将分别计算每个群组的统计数据。
您可以将此工具应用到空间数据,由此将获得表格结果。可以使用连接要素将结果连接到空间数据。
下表说明了使用字段类值进行汇总的图层的统计计算。VO2 字段用于计算图层的数值统计数据(计数、总和、最小值、最大值、范围、平均值、标准差和方差)。Rating 字段用于计算图层的字符串统计数据(计数和任意)。
上表对 Designation 字段进行了汇总,并且 VO2 字段用于计算图层的数值统计数据(计数、总和、最小值、最大值、范围、平均值、标准差和方差)。Rating 字段用于计算图层的字符串统计数据(计数和任意)。此结果是具有两个要素的表格,表示 Designation 的不同值。
下表给出了使用 Designation 和 Age Group 字段对图层进行汇总时的前几个字段示例。可使用与以上示例相同的方法来计算统计数据。
您可以使用以下提示来提高汇总属性工具的性能:
- 设置范围环境,以便仅分析感兴趣的数据。
- 将本地数据用于分析运行的位置。
此地理处理工具由 ArcGIS GeoAnalytics Server 作为支持。分析将在 GeoAnalytics Server 上完成,且结果将存储在 ArcGIS Enterprise 的内容中。
当 GeoAnalytics Server 工具运行时,GeoAnalytics Server 上的分析已完成。要获得最佳性能,通过 ArcGIS Enterprise 门户上托管的要素图层或通过大数据文件共享,可以将数据用于 GeoAnalytics Server。在分析开始之前,非 GeoAnalytics Server 本地数据将被转移到您的 GeoAnalytics Server。这意味着运行工具需要更长时间,并且在某些情况下,从 ArcGIS Pro 到 GeoAnalytics Server 移动数据可能会失败。失败的阈值取决于网络速度,以及数据的大小和复杂性。因此,建议您始终共享数据或创建大数据文件共享。
类似的分析也可使用分析工具箱中的汇总统计数据工具来完成。
语法
SummarizeAttributes(input_layer, output_name, fields, {summary_fields}, {data_store})
参数 | 说明 | 数据类型 |
input_layer | 要进行汇总的点、折线或面图层。 | Record Set |
output_name | 输出要素服务的名称。 | String |
fields [fields,...] | 用于汇总相似要素的一个或多个字段。例如,如果选择具有商业和住宅值的名为 PropertyType 的单个字段,则会将所有具有住宅字段值的字段汇总到一起,计算汇总统计数据,并会将所有具有商业字段值的字段汇总到一起。本示例将在输出中生成两行,一行用于商业,一行用于住宅汇总值。 | Field |
summary_fields [summary_fields,...] (可选) | 将根据指定字段进行计算的统计数据。
| Value Table |
data_store (可选) | 指定将用于保存输出的 ArcGIS Data Store。默认为 SPATIOTEMPORAL_DATA_STORE。存储在 SPATIOTEMPORAL_DATA_STORE 中的所有结果都将存储于 WGS84 中。存储在 RELATIONAL_DATA_STORE 中的所有结果都将保持各自的坐标系。
| String |
派生输出
名称 | 说明 | 数据类型 |
output | 带有汇总属性的输出表。 | 记录集 |
代码示例
以下 Python 窗口脚本演示了如何使用 SummarizeAttributes 工具。
#-------------------------------------------------------------------------------
# Name: Summarize Attributes.py
# Description: Summarize Crime Data by year and beat.
#
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
# This example used a big data file share name "Crimes" with dataset "Chicago" registered on my GeoAnalytics server
inFeatures = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_Crimes/BigDataCatalogServer/Chicago"
summaryFields = ["Year", "Beat"]
summaryStatistics = [["Arrest", "COUNT"], ["District", "COUNT"]]
outFS = 'SummarizeCrimes'
dataStore = "SPATIOTEMPORAL_DATA_STORE"
# Execute SummarizeAttributes
arcpy.geoanalytics.SummarizeAttributes(inFeatures, outFS, summaryFields,
summaryStatistics, dataStore)
环境
- 输出坐标系
将用于分析的坐标系。除非由该参数进行指定,否则将基于输入坐标系完成分析。对于 GeoAnalytics 工具,最终结果将存储于 WGS84 中的时空数据存储之内。
许可信息
- Basic: 需要 ArcGIS GeoAnalytics Server
- Standard: 需要 ArcGIS GeoAnalytics Server
- Advanced: 需要 ArcGIS GeoAnalytics Server