创建时空立方体 (GeoAnalytics)

摘要

通过将一组点聚合到空间时间条柱的方法将其汇总到 netCDF 数据结构中。在每个条柱内计算点计数并聚合指定属性。对于所有条柱位置,评估计数趋势和汇总字段值。

旧版本:

ArcGIS GeoAnalytics Server 扩展模块在 ArcGIS Enterprise 中处于弃用状态。 GeoAnalytics Server最终版本包含在 ArcGIS Enterprise 11.3 中。 可通过 ArcGIS Enterprise 11.3 及较早版本获取此地理处理工具。

插图

“创建时空立方体”工具图示

使用情况

  • 此工具可将点图层聚合到时空条柱。所创建的数据结构可被视为由时空条柱组成的一个三维立方体,其中 x 和 y 维度表示空间,t 维度表示时间。

    三维立方体中的时空条柱

  • 每个条柱在空间 (x,y) 和时间 (t) 中都有固定位置。覆盖同一个 (x, y) 区域的条柱共用同一个位置 ID。包含相同持续时间的条柱共用相同的时间步长 ID。由于即使点数据并非矩形,立方体始终为矩形,因此某些位置的所有时间步长的点计数也将为零。对于许多分析,只有带有数据的位置(至少一个时间步长的至少一个点计数大于 1)将包括在分析中。

    时空立方体中的位置

  • 时空立方体中的每一个条柱都具有 LOCATION_IDtime_step_IDCOUNT 字段值以及创建立方体后聚合的所有汇总字段的值。与同一物理位置相关的条柱将共享同一位置 ID,这些条柱组合起来可表示时间序列。与同一时间步长间隔相关的条柱将共享同一时间步长 ID,这些条柱组合起来可构成时间片。每个条柱的计数值反映在相关时间步长间隔内出现在相关位置的点的数量。

  • 点图层参数必须为点,例如犯罪或火灾、疾病事件、客户销售数据或交通事故。每个点都必须具有与其关联的日期。此工具最少需要 60 个点和多个时间戳。如果指定的参数将导致立方体具有二十多亿个条柱,则此工具将无法执行。

  • 此工具需要使用投影数据来准确测量距离。

  • 此工具的输出是表示输入点的 netCDF。生成的时空立方体将会直接下载到您运行分析的机器中。具体位置将在工具信息中指定。

  • 数据集具有等间距的时空分布的情况并不常见。例如,您的年度数据可能全部位于每年的 1 月 1 日,或者月度数据时间戳全部是每月的第一天。此类数据通常被称为固定样本数据。通过样本数据,时间偏差计算将经常显示非常大的百分比。这属于预期行为,因为每个条柱仅覆盖给定的时间步长中的一个特定时间单位。例如,如果您选择 1 年作为时间间隔,并且您的数据分布在每年的 1 月 1 日,则每个条柱将仅覆盖一年中的一天。这是可以接受的,因为其适用于每一条柱。由于条柱创建参数,而不是真实数据分布,时间偏差仅表示特定条柱时会出现问题。重要的是基于数据分布就每个条柱的预期覆盖评估时间偏差。

  • 输出报告中的时间偏差计算的是不存在任何数据的时间跨度的百分比。例如,空条柱的时间偏差为 100%。对于时间跨度为 1 个月、时间间隔对齐为结束时间,且第一个时间步长只有后两周具有数据的条柱,其第一个时间步长中的时间偏差为 50%。对于时间跨度为 1 个月、时间间隔对齐为开始时间,且最后一个时间步长只有前两周具有数据的条柱,其最后一个时间步长中的时间偏差为 50%。

  • 时空立方体创建完成后,无法再对立方体的空间范围进行扩展。

  • 参考时间参数可以是日期和时间值或仅为日期值,但不可仅为时间值。

  • 请使用对您的分析有意义的距离间隔。存在一个导致点数据中基础模式丢失的过大距离间隔,且存在一个立方体以零计数填充的过小距离间隔,请在这两者之间找到一个平衡点。
  • 在聚合计数数据和汇总字段值上执行的趋势分析是以 Mann-Kendall 统计为基础的。

  • 使用此工具可对属性聚合执行以下统计运算:总和、平均值、最小值、最大值和标准差。

  • 通过 SPATIAL_NEIGHBORS 填充空条柱时,将使用二阶(其中包括相邻要素和相邻要素的相邻要素)Queens Case 邻接(基于边角的邻接)。 使用此选项填充空条柱最少需要 4 个空间相邻要素。

  • 通过 SPACE_TIME_NEIGHBORS 填充空条柱时,将使用二阶(其中包括相邻要素和相邻要素的相邻要素)Queens Case 邻接(基于边角的邻接)。 此外,通过向前和向后移动 2 个时间步长将时间相邻要素用于将作为空间相邻要素的每个条柱。使用此选项填充空条柱最少需要 13 个时空相邻要素。

  • 通过 TEMPORAL_TREND 填充空条柱时,给定位置的前两个时间段和后两个时间段在其条柱中必须具有值,以便对该位置的其他时间段进行插值。

  • 任何汇总字段记录中出现的空值都将导致从分析中排除这些要素。如果每个条柱中的点数均为分析策略的一部分,需要考虑创建单独的立方体,针对计数(不含汇总字段)创建一个,并针对汇总字段创建一个。如果每个汇总字段的空值集不相同,需要考虑为每个汇总字段创建一个单独的立方体。

  • 此地理处理工具由 ArcGIS GeoAnalytics Server 作为支持。 GeoAnalytics Server 上的分析已完成,结果将存储在 ArcGIS Enterprise 的内容中。

  • 当运行 GeoAnalytics Server 工具时,GeoAnalytics Server 上的分析已完成。 要获得最佳性能,通过 ArcGIS Enterprise 门户上托管的要素图层或通过大数据文件共享,可以将数据用于 GeoAnalytics Server。 在分析开始之前,非 GeoAnalytics Server 本地数据将被转移到您的 GeoAnalytics Server。 这意味着运行工具需要更长时间,并且在某些情况下,从 ArcGIS ProGeoAnalytics Server 移动数据可能会失败。 失败的阈值取决于网络速度,以及数据的大小和复杂性。 建议您始终共享数据或创建大数据文件共享。

    了解有关将数据共享至您的门户的详细信息。

    了解有关通过 Server Manager 创建大数据文件共享的详细信息

  • 还可使用以下方法完成相似性分析:

参数

标注说明数据类型
点图层

将聚合到时空条柱的输入点要素类。

Feature Set
输出名称

将创建的输出 netCDF 数据立方体,以包含输入要素点数据的计数和汇总。

String
距离间隔

条柱尺寸将用于聚合点图层。将对相同距离间隔时间间隔内的所有点进行聚合。

确定条柱大小的距离。

Linear Unit
时间间隔

用来表示单个时间步长的秒数、分钟数、小时数、天数、周数或年数。将对相同时间间隔距离间隔内的所有点进行聚合。此参数的有效条目示例为 1 周、13 天或 1 个月。

Time Unit
时间间隔对齐
(可选)

指定如何根据时间间隔 (Python 中的 time_step_interval)参数进行聚合。

  • 结束时间时间步长将与最后一次时间事件对齐,并向后聚合时间。
  • 开始时间时间步长将与第一次时间事件对齐,并向前聚合时间。
  • 参考时间时间步长将与指定日期或时间对齐。如果输入要素中的所有点具有的时间戳大于指定的参考时间(或时间戳刚好位于输入要素的开始时间),则时间步长间隔将以该参考时间为起始时间,并向前聚合时间(与使用起始时间对齐的情况相同)。如果输入要素中的所有点具有的时间戳小于指定的参考时间(或时间戳刚好位于输入要素的结束时间),则时间步长间隔将以该参考时间为结束时间,并向后聚合时间(与使用结束时间对齐的情况相同)。如果指定的参考时间处于数据时间范围的中间,则将以提供的参考时间结束创建时间步长间隔(与使用结束时间对齐的情况相同);其他间隔将在参考时间前后进行创建,直到覆盖数据的完整时间范围为止。
String
参考时间
(可选)
Date
汇总字段
(可选)

包含将用于在聚合到时空立方体时计算指定统计数据的属性值的数值字段。可以指定多项统计和字段组合。空值将被排除在所有统计计算之外。

可用统计数据类型如下:

  • 总和 - 添加每个条柱中指定字段的合计值。
  • 平均值 - 计算每个条柱中指定字段的平均值。
  • 最小值 - 查找每个条柱中指定字段所有记录的最小值。
  • 最大值 - 查找每个条柱中指定字段所有记录的最大值。
  • 标准差 - 查找每个条柱中指定字段的值的标准差。

可用填充类型如下:

  • - 用零填充空条柱。
  • Spatial_Neighbors - 用空间相邻要素平均值填充空条柱。
  • 时空邻域 - 用时空相邻要素平均值填充空条柱。
  • 时间趋势 - 使用一元样条插值算法填充空条柱。

注:
任何汇总字段中出现的空值都将导致从分析中排除这些要素。如果每个条柱中的点数均为分析策略的一部分,需要考虑创建单独的立方体,针对计数(不含汇总字段)创建一个,并针对汇总字段创建一个。如果每个汇总字段的空值集不相同,需要考虑为每个汇总字段创建一个单独的立方体。

Value Table

派生输出

标注说明数据类型
输出文件

聚合的时空立方体。

File

arcpy.geoanalytics.CreateSpaceTimeCube(point_layer, output_name, distance_interval, time_step_interval, {time_step_interval_alignment}, {reference_time}, {summary_fields})
名称说明数据类型
point_layer

将聚合到时空条柱的输入点要素类。

Feature Set
output_name

将创建的输出 netCDF 数据立方体,以包含输入要素点数据的计数和汇总。

String
distance_interval

确定条柱大小的距离。

条柱尺寸将用于聚合point_layer。将对相同 distance_intervaltime_step_interval 内的所有点进行聚合。

Linear Unit
time_step_interval

用来表示单个时间步长的秒数、分钟数、小时数、天数、周数或年数。将对位于同一 time_step_intervaldistance_interval 内的所有点进行聚合。此参数的有效条目示例为 1 周、13 天或 1 个月。

Time Unit
time_step_interval_alignment
(可选)

指定如何根据时间间隔 (Python 中的 time_step_interval)参数进行聚合。

  • END_TIME时间步长将与最后一次时间事件对齐,并向后聚合时间。
  • START_TIME时间步长将与第一次时间事件对齐,并向前聚合时间。
  • REFERENCE_TIME时间步长将与指定日期或时间对齐。如果输入要素中的所有点具有的时间戳大于指定的参考时间(或时间戳刚好位于输入要素的开始时间),则时间步长间隔将以该参考时间为起始时间,并向前聚合时间(与使用起始时间对齐的情况相同)。如果输入要素中的所有点具有的时间戳小于指定的参考时间(或时间戳刚好位于输入要素的结束时间),则时间步长间隔将以该参考时间为结束时间,并向后聚合时间(与使用结束时间对齐的情况相同)。如果指定的参考时间处于数据时间范围的中间,则将以提供的参考时间结束创建时间步长间隔(与使用结束时间对齐的情况相同);其他间隔将在参考时间前后进行创建,直到覆盖数据的完整时间范围为止。
String
reference_time
(可选)

将用于对齐时间步长间隔的日期或时间。例如,如果要按星期从星期一至星期天对数据进行归类,请将星期天的午夜设置为参考时间,以确保条柱在星期天和星期一之间的午夜进行划分。

Date
summary_fields
[summary_fields,...]
(可选)

包含将用于在聚合到时空立方体时计算指定统计数据的属性值的数值字段。可以指定多项统计和字段组合。空值将被排除在所有统计计算之外。

可用统计数据类型如下:

  • 总和 - 添加每个条柱中指定字段的合计值。
  • 平均值 - 计算每个条柱中指定字段的平均值。
  • 最小值 - 查找每个条柱中指定字段所有记录的最小值。
  • 最大值 - 查找每个条柱中指定字段所有记录的最大值。
  • 标准差 - 查找每个条柱中指定字段的值的标准差。

可用填充类型如下:

  • - 用零填充空条柱。
  • Spatial_Neighbors - 用空间相邻要素平均值填充空条柱。
  • 时空邻域 - 用时空相邻要素平均值填充空条柱。
  • 时间趋势 - 使用一元样条插值算法填充空条柱。

注:
任何汇总字段中出现的空值都将导致从分析中排除这些要素。如果每个条柱中的点数均为分析策略的一部分,需要考虑创建单独的立方体,针对计数(不含汇总字段)创建一个,并针对汇总字段创建一个。如果每个汇总字段的空值集不相同,需要考虑为每个汇总字段创建一个单独的立方体。

Value Table

派生输出

名称说明数据类型
output

聚合的时空立方体。

File

代码示例

CreateSpaceTimeCube(Python 窗口)

以下 Python 窗口脚本演示了如何使用 CreateSpaceTimeCube 工具。

#-------------------------------------------------------------------------------
# Name: CreateSpaceTimeCube.py
# Description: Create a cube representing the counts of Crimes
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_Crimes/BigDataCatalogServer/Chicago"
outCube = "CrimeCube.nc"
# Execute Create Space Time Cube
arcpy.geoanalytics.CreateSpaceTimeCube(inFeatures, outCube, "1 Kilometers", 
                                       "1 Weeks", "START_TIME")

环境

特殊情况

输出坐标系

将用于分析的坐标系。 除非由该参数进行指定,否则将基于输入坐标系完成分析。 对于 GeoAnalytics Tools,最终结果将存储于 WGS84 中的时空数据存储之内。

许可信息

  • Basic: 需要 ArcGIS GeoAnalytics Server
  • Standard: 需要 ArcGIS GeoAnalytics Server
  • Advanced: 需要 ArcGIS GeoAnalytics Server

相关主题