插图
使用方法
可通过以下两种方法指定点将聚合到的区域:
- 使用面图层。
- 使用在运行分析时生成的指定尺寸的方形立方图格或六边形立方图格。
您可以提供要用于分析的区域图层,也可以生成要聚合到的指定大小和形状(六边形或正方形)的立方图格。立方图格大小将指定立方图格的大小。如果聚合到六边形,则大小为每个六边形的高度,而所生成六边形的宽度为高度除以根号 3 再乘以 2。如果要聚合到正方形,则立方图格大小为正方形的高度(等于宽度)。
聚合点要求点图层已投影或输出坐标系设置为投影坐标系。如果您的数据不在投影坐标系中,并且未设置投影处理坐标系,则将根据您分析的数据范围分配投影。
输出要素图层始终是面图层。仅将返回包含点的面,生成的面将完全从结果图层中移除。
通过最基本的聚合,对每个面中的点数进行计算。统计数据(计数、总和、最小值、最大值、范围、平均值、标准差和方差)还可以根据数值字段进行计算;统计数据(计数、任意)可根据字符串字段进行计算。系统将分别计算每个区域的统计数据。如果您指定的统计信息无效(字符串字段的平均值),则将跳过该统计信息。
注:
将计数应用于字段时,其将返回存在于字段中的非空值的计数。将任意应用于字段时,其将返回存在于字段中的单个字符串。
如果输入启用了时间,便可在分析中应用时间步长。每个时间步长将独立于时间步长外的要素进行分析。要使用时间步长,输入数据必须已启用时间且能够表示时刻。应用时间步长后,输出要素将为 START_DATETIME 和 END_DATETIME 字段表示的时间间隔。
如果您指定时间步长间隔、时间步长重复或参考时间,但并没有对数据启用时间,则此工具会出错。
时间步长参考参数可以是日期和时间值或仅为日期值,但不可仅为时间值。
下列字段也包含在输出要素中:
字段名 描述 count
每个面内的要素计数。
statistic_fieldname
指定的统计信息将各自创建一个属性字段,并按照以下格式命名:statistic_fieldname。例如,id 字段的最大值和标准差分别为 MAX_id 和 SD_id。
start_date
指定时间步长后,输出面将有一个时间间隔。该字段表示开始时间。
end_date
指定时间步长后,输出面将有一个时间间隔。该字段表示结束时间。
您可以使用以下一个或多个提示来提升聚合点工具的性能:
- 设置范围环境,以便仅分析感兴趣的数据。
- 较大的立方图格比较小的立方图格性能更佳。如果不确定使用哪种大小,可从较大的立方图格开始原型化。
- 与立方图格类似,较大的时间步长比较小的时间步长性能更佳。
- 将本地数据用于分析运行的位置。
此地理处理工具由 ArcGIS GeoAnalytics Server 作为支持。分析将在 GeoAnalytics Server 上完成,且结果将存储在 ArcGIS Enterprise 的内容中。
当 GeoAnalytics Server 工具运行时,GeoAnalytics Server 上的分析已完成。要获得最佳性能,通过 ArcGIS Enterprise 门户上托管的要素图层或通过大数据文件共享,可以将数据用于 GeoAnalytics Server。在分析开始之前,非 GeoAnalytics Server 本地数据将被转移到您的 GeoAnalytics Server。这意味着运行工具需要更长时间,并且在某些情况下,从 ArcGIS Pro 到 GeoAnalytics Server 移动数据可能会失败。失败的阈值取决于网络速度,以及数据的大小和复杂性。因此,建议您始终共享数据或创建大数据文件共享。
类似的分析也可使用“标准要素分析”工具箱中的聚合点工具来完成。
语法
arcpy.geoanalytics.AggregatePoints(point_layer, output_name, polygon_or_bin, {polygon_layer}, {bin_type}, {bin_size}, {time_step_interval}, {time_step_repeat}, {time_step_reference}, {summary_fields}, {data_store})
参数 | 说明 | 数据类型 |
point_layer | 聚合到面或立方图格的点要素。 | Feature Set |
output_name | 输出要素服务的名称。 | String |
polygon_or_bin | 指定 point_layer 的聚合方式。
| String |
polygon_layer (可选) | 输入点将聚合到的面要素。 | Feature Set |
bin_type (可选) | 指定将生成的用于保存聚合点的立方图格形状。
| String |
bin_size (可选) | 表示 point_layer 将聚合到的立方图格大小和单位的距离间隔。距离间隔必须为线性单位。 | Linear Unit |
time_step_interval (可选) | 用来指定时间步长持续时间的值。只有在输入点启用了时间且表示时刻时,此参数才可用。 只有对输入启用了时间的情况下,才可应用时间步长。 | Time Unit |
time_step_repeat (可选) | 用来指定时间步长间隔发生频率的值。只有在输入点启用了时间且表示时刻时,此参数才可用。 | Time Unit |
time_step_reference (可选) | 用来指定时间步长所要对齐的参考时间的日期。默认情况下为 1970 年 1 月 1 日 12:00 a.m. 只有在输入点启用了时间且表示时刻时,此参数才可用。 | Date |
summary_fields [summary_fields,...] (可选) | 将根据指定字段进行计算的统计数据。
| Value Table |
data_store (可选) | 指定将用于保存输出的 ArcGIS Data Store。默认为 SPATIOTEMPORAL_DATA_STORE。在时空大数据存储中存储的所有结果都将存储在 WGS84 中。在关系数据存储中存储的结果都将保持各自的坐标系。
| String |
派生输出
名称 | 说明 | 数据类型 |
output | 聚合的面要素或立方图格。 | 要素集 |
代码示例
以下 Python 窗口脚本演示了如何使用 AggregatePoints 工具。
#-------------------------------------------------------------------------------
# Name: AggregatePoints.py
# Description: Aggregate 311 events into 1 KM Bins.
#
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/SF311/FeatureServer/0"
summaryFields = ["Year", "Beat"]
summaryStatistics = [["Arrest", "COUNT"], ["District", "COUNT"]]
outFS = "AggregateWildfires"
dataStore = "SPATIOTEMPORAL_DATA_STORE"
# Execute Aggregate Points
arcpy.geoanalytics.AggregatePoints(inFeatures, outFS, "BIN", None, "HEXAGON",
"1 Kilometers", None, None, None, None,
dataStore)
环境
- 输出坐标系
将用于分析的坐标系。除非由该参数进行指定,否则将基于输入坐标系完成分析。对于 GeoAnalytics 工具,最终结果将存储于 WGS84 中的时空数据存储之内。
许可信息
- Basic: 需要 ArcGIS GeoAnalytics Server
- Standard: 需要 ArcGIS GeoAnalytics Server
- Advanced: 需要 ArcGIS GeoAnalytics Server