Выражения вычисления поля
Инструмент Вычислить поле использует выражения Arcade для определения значений полей. Вы можете выполнять как простые, так и сложные вычисления над всеми записями. Эти вычисления применяются к каждому объекту. В разделах ниже приводятся примеры использования выражения вычисления поля. Вычисления выполняются при запуске анализа на ArcGIS GeoAnalytics Server и всегда создают новый слой.
В ArcGIS Enterprise 10.6 и более поздних версиях выражения форматируются с использованием Arcade. В Arcade имена полей форматируются как $feature["field name"] или $feature.fieldname. Первая опция, $feature["field name"], требуется, когда имя поля содержит пробел. Все примеры ниже используют эту опцию.
Более подробно о выражениях Arcade
Следующие инструменты используют выражения Arcade в GeoAnalytics Server:
Заново создать треки — выражения буфера.
Создать буферы — выражения буфера.
Присоединить объекты — выражения присоединения.
Выявить инциденты — выявление инцидентов с помощью выражения начала и окончания.
Прежние версии:
Расширение ArcGIS GeoAnalytics Server устаревает в ArcGIS Enterprise. Финальный релиз GeoAnalytics Server был включен в состав ArcGIS Enterprise 11.3. Эти инструменты доступны в версии ArcGIS Enterprise 11.3 и более ранних.
Математическая операция и примеры функции
Выражения, обрабатывающие числовые математические выражения. В следующей таблице показаны примеры доступных операций.
Более подробно о математических операциях и функциях см. Arcade
|
Оператор |
Объяснение |
Пример |
|---|---|---|
|
|
Возвращает сумму a и b. |
4.0 |
|
|
Возвращает разницу между a и b. |
1.1 |
|
|
Возвращает результат умножения a и b. |
4.4 |
|
|
Возвращает результат деления a на b. |
3.2 |
|
|
Возвращает абсолютное (положительное) значение числа a. |
1.5 |
|
|
Возвращает натуральный логарифм (по основанию Е) от a. |
0 |
|
|
Вычисляет тригонометрический синус a. Входные данные должны представлять значение угла в радианах. |
1 |
|
|
Возвращает тригонометрический косинус a. Входные данные должны представлять значение угла в радианах. |
1 |
|
|
Возвращает тангенс a. Входные данные должны представлять значение угла в радианах. |
0 |
|
|
Возвращает квадратный корень a. |
3 |
|
|
Возвращает самое малое значение числа между a и b. |
-3 |
|
|
Возвращает самое высокое значение числа между a и b. |
1.5 |
|
|
Возвращает входное значение, если оно находится в пределах заданных границ. Если значение меньше самого нижнего значения, возвращается нижнее значение. Если значение больше самого высокого значения, возвращается самое высокое значение. |
Пример 1: Возвращает 0, если Пример 2: Возвращает 6, если |
Примеры текстовых функций
Выражения Вычислить поле могут обрабатывать текст. В следующей таблице показаны примеры доступных операций.
Более подробно об текстовых функциях, доступных в Arcade
|
Оператор |
Объяснение |
Пример |
Результат |
|---|---|---|---|
|
|
Соединяет значения вместе и возвращает строку.
|
|
GeoAnalytics – великолепен! |
|
|
Находит строку в пределах строки. Групповые символы не поддерживаются.
|
|
2 |
|
|
Делает буквы в строке строчными.
|
|
геоаналитика |
Пример текста, использующий find и lower.
find(("north"), lower("146NorthStreet"))
Примеры функций дат
Выражения Вычислить поле могут обрабатывать даты. В следующей таблице показаны примеры доступных операций. В Arcade значения месяцев возможны в диапазоне от 0 (Январь) до 11 (Декабрь), дней от 1 до 31, часов от 0 (12:00 a.m.) до 23 (11:00 pm), минут и секунд от 0 до 59, и миллисекунды от 0 до 999. Даты Arcade возвращают значения времени для местоположения GeoAnalytics Server.
Более подробно о функциях даты в Arcade
|
Оператор |
Объяснение |
Пример |
Результат |
|---|---|---|---|
|
|
Анализирует значение или набор значений в строке даты.
|
Пример 1: Пример 2: Пример 3: |
Пример 1: 20 Oct 2016 11:23:03 am Пример 2: 14-е января 2017 12:00:00 Пример 3: Возвращает текущее время |
|
|
Вычитает две даты и возвращает разницу в указанных единицах.
|
Пример 1: Пример 2: |
Результат будет зависеть от времени запуска команды. Пример 1: -20532129137 Пример 2: -0.6546783768647119 |
|
|
Возвращает год заданной даты.
|
Пример 1:
Пример 2: |
Пример 1: 2017 Пример 2: 2012 |
Примеры логических функции
В дополнение к простым математическим выражениям, в выражениях буфера можно применять более сложные функции, показанные в следующей таблице.
|
Функция |
Объяснение |
Пример |
Результат |
|---|---|---|---|
|
|
Возвращает одно значение, если условие оценивается как
|
|
Возвращает Возвращает результат второй функции |
|
|
Оценивает несколько выражений поочередно до тех пор, пока одно из них не даст значения
|
|
Если |
|
|
Оценивает выражение, а затем сравнивает его значение с последующими параметрами. Если выражение совпадает, возвращается следующее значение параметра. Если нет, существует опция, чтобы последний параметр стал возвращаемым значением по умолчанию.
|
|
Сравнивает тождество между значением условия |
Условные операторы
Условные выражения могут использовать следующие операторы:
|
Оператор |
Объяснение |
Пример |
Результаты |
|---|---|---|---|
|
|
a больше b a меньше b |
|
False |
|
|
a больше или равно b a меньше или равно b |
|
True |
|
|
a не равно b |
|
True |
|
|
a равно b |
|
True |
|
|
Встречено условие один или условие два. |
|
True |
|
|
Встречено условие один и условие два. |
|
False |
Примеры отслеживания треков
Вы можете использовать выражения Arcade, учитывающие отслеживания треков, в некоторых инструментах GeoAnalytics, таких как Выявить инциденты и Вычислить поле. В инструменте Вычислить поле уравнения с трекингом можно использовать, если у входного слоя активизировано время, в выражении учитывается трекинг и одно или несколько полей применяются для идентификации треков.
Используйте следующие выражения отслеживания в ArcGIS Enterprise 10.6:
|
Функция |
Объяснение |
Пример |
Результат |
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Возвращает ряд значений заданного поля для указанного индекса времени.
|
Пример 1: Пример 2: Пример 3: Пример 4: |
Если пример 1 оценен по индексу k, он возвращает массив значений по индексу 3 через k. Если вы оцениваете по индексу 6 ( Пример 2 возвращает массив значений, вычисленных по индексу k минус данное значение, минус 1 ( Пример 3 возвращает среднее значений по индексу Пример 4 возвращает первый элемент (индекс 0) массива, созданного в примере 2, который равен |
||||||||||||
|
|
Возвращает ряд значений, начиная с index1 ( |
Пример 1: Пример 2: |
Пример 1: Пример 2: |
||||||||||||
|
|
Вычисляет время начала отслеживания в миллисекундах от момента времени. |
Используется трек, который начинается 2 января 2017 года.
|
|
||||||||||||
|
|
Вычисляет продолжительность отслеживания в миллисекундах от начала до текущего временного шага. |
Используется отслеживание с началом 2 января 2017 и текущим временем 4 января 2017.
|
|
||||||||||||
|
|
Вычисляет текущее время в отслеживании. |
Используется объект, который был 3 января 2017 в 9:00 утра.
|
|
||||||||||||
|
|
Возвращает временной индекс вычисляемого объекта. |
Это значение вычисляется на первом объекте в отслеживании.
|
|
||||||||||||
|
|
Возвращает время объекта плюс время создания, используя численное <значение> и данные <единицы>.
|
Используется объект, который был 2 января 2017 в 14:00. Пример 1: Пример 2: |
Пример 1: Возвращает 2 января 15:00: Пример 2: Возвращает 31 декабря 14:00: |
||||||||||||
|
|
Возвращает ряд значений заданного поля для указанного индекса времени. Функция окна позволяет перейти вперёд или назад во времени. Выражение оценивается в каждом объекте трека.
Функция window доступна в ArcGIS Enterprise 10.6.1 и в более поздних версиях. |
Пример 1: Пример 2: Пример 3: |
Пример 1: При оценке каждого объекта таблица показывает следующие результаты.
Пример 2: При оценке по индексу 2 (значение 30) возвращается: Пример 3: При оценке по индексу 2 (значение 30) возвращается: |
||||||||||||
|
|
Возвращает массив значений, представляющий геометрию для указанного индекса времени. Функция окна позволяет перейти вперёд или назад во времени. Выражение оценивается в каждом объекте трека.
Функция window доступна в ArcGIS Enterprise 10.6.1 и в более поздних версиях. |
Пример 1: Пример 2: Пример 3: Пример 4: Поиск значения X предыдущей точки |
Пример 1: При оценке каждого объекта таблица показывает следующие результаты.
Пример 2: Полилинии возвращаются в следующем формате: Пример 3: Полигоны возвращаются в следующем формате: Пример 4: При оценке по индексу 2 (значение 30): |
||||||||||||
|
|
Возвращает массив значений, представляющий геометрию и все атрибуты для указанного индекса времени. Функция окна позволяет перейти вперёд или назад во времени.
Функция window доступна в ArcGIS Enterprise 10.6.1 и в более поздних версиях. |
Пример 1: Пример 2: |
Пример 1: При оценке каждого объекта таблица показывает следующие результаты.
Пример 2: При оценке по индексу 2 (значение 30): |
Используйте следующие выражения отслеживания в ArcGIS Enterprise 10.6.1 или более новых версиях:
|
Функция |
Объяснение |
Пример |
Результат |
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Вычисляет время начала отслеживания в миллисекундах от момента времени. |
Используется трек, который начинается 2 января 2017 года.
|
|
||||||||||||
|
|
Вычисляет продолжительность отслеживания в миллисекундах от начала до текущего временного шага. |
Используется отслеживание с началом 2 января 2017 и текущим временем 4 января 2017.
|
|
||||||||||||
|
|
Вычисляет текущее время в отслеживании. |
Используется объект, который был 3 января 2017 в 9:00 утра.
|
|
||||||||||||
|
|
Возвращает временной индекс вычисляемого объекта. |
Это значение вычисляется на первом объекте в отслеживании.
|
|
||||||||||||
|
|
Возвращает ряд значений заданного поля для указанного индекса времени. Функция окна позволяет перейти вперёд или назад во времени. Выражение оценивается в каждом объекте трека.
|
Пример 1: Пример 2: Пример 3: |
Пример 1: При оценке каждого объекта таблица показывает следующие результаты.
Пример 2: При оценке по индексу 2 (значение 30) возвращается: Пример 3: При оценке по индексу 2 (значение 30) возвращается: |
||||||||||||
|
|
Возвращает массив значений, представляющий геометрию для указанного индекса времени. Функция окна позволяет перейти вперёд или назад во времени. Выражение оценивается в каждом объекте трека.
|
Пример 1: Пример 2: Пример 3: Пример 4: Поиск значения X предыдущей точки |
Пример 1: При оценке каждого объекта таблица показывает следующие результаты.
Пример 2: Полилинии возвращаются в следующем формате: Пример 3: Полигоны возвращаются в следующем формате: Пример 4: При оценке по индексу 2 (значение 30): |
||||||||||||
|
|
Возвращает массив значений, представляющий геометрию и все атрибуты для указанного индекса времени. Функция окна позволяет перейти вперёд или назад во времени.
|
Пример 1: Пример 2: |
Пример 1: При оценке каждого объекта таблица показывает следующие результаты.
Пример 2: При оценке по индексу 2 (значение 30): |
Используйте следующие выражения трека для расчета в ArcGIS Enterprise 10.9 или более поздней версии расстояния, скорости и ускорения на треке.
Все расчеты расстояния производятся в метрах, скорость - в метрах в секунду, а ускорение - в метрах в секунду в квадрате. Расстояния измеряются с использованием геодезических расстояний.
|
Функция |
Объяснение |
|---|---|
|
|
Сумма расстояний, пройденных между наблюдениями от первого до текущего наблюдения. |
|
|
Сумма расстояний, пройденных между наблюдениями от первого до текущего, плюс заданное значение. |
|
|
Расстояние между первым значением (включительно) и последним значением (не включительно) в окне о текущем наблюдении (0). |
|
|
Скорость между предыдущим наблюдением и текущим наблюдением. |
|
|
Скорость при наблюдении относительно текущего наблюдения. Например, при значении 2 это скорость при наблюдении через два наблюдения после текущего. |
|
|
Значения скорости между первым значением (включительно) и последним значением (не включительно) в окне вокруг текущего наблюдения (0). |
|
|
Ускорение между предыдущим наблюдением и текущим наблюдением. |
|
|
Ускорение на наблюдении относительно текущего наблюдения. |
|
|
Значения ускорения между первым значением (включительно) и последним значением (не включительно) в окне вокруг текущего наблюдения (0). |
В примерах расчетов расстояния, скорости и ускорения используются примеры из следующего изображения.

|
Функция |
Пример результата |
||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|
||||||||||||||
|
|
|