Следующие функции отслеживания позволяют создавать и оценивать выражения Arcade для входных данных треков в определенных инструментах ArcGIS Velocity. В треках происходит последовательное заполнение объектов в поле, которое используется как идентификатор трека (Track ID) и поле (Start Time). Функции отслеживания Arcade доступны только при использовании Velocity в определенных выражениях инструментов с поддержкой отслеживания (Вычислить поле и Сопоставление полей).
Подробнее о каждой отдельной функции отслеживания см. Функции отслеживания в документации 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]
- fieldName: Text — имя поля, значения которого должны быть возвращены значения.
- startIndex: Number — индекс начального объекта. Индекс текущего объекта - 0. Положительные значения представляют объекты, которые попадут в будущее, после текущего значения. Например, позиция 1 – это следующее значение в массиве. Отрицательные значения представляют пространственные объекты, произошедшие в прошлом, до текущего объекта. Например, позиция --1 – это предыдущее значение в массиве.
- endIndex: Number — индекс объекта в конце окна. Индекс текущего объекта - 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: Number — индекс начального объекта. Индекс текущего объекта - 0. Положительные значения представляют объекты, которые попадут в будущее, после текущего значения. Например, позиция 1 – это следующее значение в массиве. Отрицательные значения представляют пространственные объекты, произошедшие в прошлом, до текущего объекта. Например, позиция --1 – это предыдущее значение в массиве.
- endIndex: Number — индекс объекта в конце окна. Индекс текущего объекта - 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 с использованием функций отслаживания важно проверить, какие типы данных (массив, строка, число, дата) будут возвращены функцией отслеживания, а также корректность самого выражения. Обратитесь к документации Функций отслеживания, чтобы увидеть, какие типы данных возвращаются каждой функцией трека.