轨迹函数用于创建 Arcade 表达式并使用某些 ArcGIS Velocity 工具中的轨迹输入对其进行求值。 轨道是按顺序进行排序的要素,其中包含指定为轨迹标识符的字段 (Track ID) 和 Start Time 字段。 仅当在启用轨迹的特定工具表达式(计算字段和映射字段)中使用 Velocity 时,Arcade 轨迹函数才适用。
有关每个轨迹函数的详细信息,请参阅 ArcGIS Arcade 文档中的轨迹函数。
以下轨迹函数在 ArcGIS Velocity 中可用:
- TrackAccelerationAt
- TrackAccelerationWindow
- TrackCurrentAcceleration
- TrackCurrentDistance
- TrackCurrentSpeed
- TrackCurrentTime
- TrackDistanceAt
- TrackDistanceWindow
- TrackDuration
- TrackFieldWindow
- TrackGeometryWindow
- TrackIndex
- TrackSpeedAt
- TrackSpeedWindow
- TrackStartTime
- TrackWindow
示例
- 访问从轨迹起点行驶至当前观测点的距离。
- 要实现此目的,可使用 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] 等方式使用
- 示例场景:
- 轨迹中包含一个字段,其按顺序排列的值为 [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) 等形式使用
- 示例场景:
- 轨迹中包含一个字段,其按顺序排列的值为 [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}]