使用轨迹函数

轨迹函数用于创建 Arcade 表达式并使用某些 ArcGIS Velocity 工具中的轨迹输入对其进行求值。 轨道是按顺序进行排序的要素,其中包含指定为轨迹标识符的字段 (Track ID) 和 Start Time 字段。 仅当在启用轨迹的特定工具表达式(计算字段映射字段)中使用 Velocity 时,Arcade 轨迹函数才适用。

有关每个轨迹函数的详细信息,请参阅 ArcGIS Arcade 文档中的轨迹函数

以下轨迹函数在 ArcGIS Velocity 中可用:

示例

  • 访问从轨迹起点行驶至当前观测点的距离。
    • 要实现此目的,可使用 TrackCurrentDistance 轨迹函数,该函数会返回从第一个观测点到当前观测点的观测点间距总和。
    • 此函数以 TrackCurrentDistance(x) 等形式使用,其中 x 表示检查要素。
    • 示例场景:
      • 轨迹包含六个要素,表达式返回轨迹中当前要素的值。
        • 要素 1 与要素 2 的间距为 60 米。
        • 要素 2 与要素 3 的间距为 80 米。
        • 要素 3 与要素 4 的间距为 30 米。
        • 要素 4 与要素 5 的间距为 35 米
        • 要素 5 与要素 6 的间距为 25 米。
      • 处理要素 3 后的结果将为 140(80 + 60)。
  • 访问当前观测点之前的两个观测点中的特定字段值。
    • 要实现此目的,可使用 TrackFieldWindow 轨迹函数,该函数将返回指定时间段的指定字段中的属性值数组。
    • 该函数以 TrackFieldWindow('fieldName', startIndex, endIndex)[x] 等方式使用
      • fieldName文本 - 要从中返回值的字段名称。
      • startIndex编号 - 起始要素的索引。 当前要素的索引为 0。 正值表示当前值之后、在未来发生的要素。 例如,位置 1 是数组中的下一个值。 负数表示当前要素之前、在过去发生的要素。 例如,-1 是数组中的上一个值。
      • endIndex编号 - 位于窗口结尾处的要素的索引。 当前要素的索引为 0。 正值表示当前值之后、在未来发生的要素。 例如,位置 1 是数组中的下一个值。 负数表示当前要素之前、在过去发生的要素。 例如,-1 是数组中的上一个值。
    • 示例场景:
      • 轨迹中包含一个字段,其按顺序排列的值为 [10, 20, 30, 40, 50]。 要素的几何为 [{x: 1, y: 1},{x: 2, y: 2} ,{x: null, y: null},{x: 4, y: 4}, {x: 5, y: 5}]。 将在轨迹中的每个要素处评估该表达式。 返回的结果包括起点要素,但不包括终点要素。 将在第二个要素 (20) 处评估此示例,然后返回前一个值 (-1, inclusive) 的数组。
      • Arcade 语法:var window = TrackFieldWindow('MyField', -2,-1)[0]
      • 结果值:将使用 10 作为 [0] 语法来获取此数组中的第一个值。
  • 访问当前要素之前的要素中的几何。
    • 要实现此目的,可使用 TrackGeometryWindow 轨迹函数,该函数将返回指定时间索引的几何数组。
    • 此函数将以 TrackGeometryWindow(startIndex, endIndex) 等形式使用
      • startIndex编号 - 起始要素的索引。 当前要素的索引为 0。 正值表示当前值之后、在未来发生的要素。 例如,位置 1 是数组中的下一个值。 负数表示当前要素之前、在过去发生的要素。 例如,-1 是数组中的上一个值。
      • endIndex编号 - 位于窗口结尾处的要素的索引。 当前要素的索引为 0。 正值表示当前值之后、在未来发生的要素。 例如,位置 1 是数组中的下一个值。 负数表示当前要素之前、在过去发生的要素。 例如,-1 是数组中的上一个值。
    • 示例场景:
      • 轨迹中包含一个字段,其按顺序排列的值为 [10, 20, 30, 40, 50]。 要素的几何为 [{x: 1, y: 1},{x: 2, y: 2} ,{x: null, y: null},{x: 4, y: 4}, {x: 5, y: 5}]。 将在轨迹中的每个要素处评估该表达式。 对于本示例,将会在第三个要素 (30) 处进行评估时检查结果。 返回的结果包括起点要素,但不包括终点要素。
      • Arcade 语法:var window = TrackGeometryWindow(-2,2)
      • 结果值: [{x: 1, y: 1},{x: 2, y: 2} ,{x: null, y: null},{x: 4, y: 4}]

用法说明

  • Arcade 轨迹函数仅适用于计算字段映射字段工具。
  • 实时分析无法访问未来轨迹值 (x),因为在处理时未来观测点尚未进入实时分析。 实时分析只能访问先前 (-x) 和当前 (0) 估计值。
  • 只能对先前轨迹值调用最多 5 个先前要素 (-5)
  • 在使用轨迹函数构建 Arcade 表达式时,需要考虑轨迹函数要返回的数据类型(数组、字符串、数字、日期)以及表达式。 要查看每个轨迹函数返回的数据类型,请查看轨迹函数文档。

在本主题中
  1. 示例
  2. 用法说明