Выражения присоединения объектов
В инструменте Присоединить объекты используются выражения Arcade, которые задают условия соединения. В некоторых случаях вы можете захотеть указать условие для выбора объектов, которые должны быть включены в соединение. Можно выполнять как простые условия присоединения (такие, как field a > field c), так и сложные условия. Условия тестируются на каждом объекте, чтобы определить, что будет проанализировано. Вычисления выполняются при запуске анализа на ArcGIS GeoAnalytics Server.
В ArcGIS Enterprise 10.6 и более поздних версиях выражения форматируются с использованием Arcade. С помощью Arcade, имена полей в инструменте Присоединить объекты форматируются как $target["field name"] и $join["field name"] или $target.fieldname и $join.fieldname. Первый вариант — $target["field name"] и $join["field name"], необходим, когда имя поля включает пробел. Все примеры ниже используют эту опцию.
Примечание:
Присоединить объекты требует два входных набора – целевой слой и присоединяемый слой. Соответственно, любое выражение в Присоединить объекты должно выделять какой набор данных используется. Например, операция для вычисления будет ли в целевом слое поле с именем field1 больше, чем поле в присоединяемом слое с именем field2, выражается как $target["field1"] > $join["field2"]. Это отличается от выражений в других GeoAnalytics Tools, которые используют формат $feature["fieldname"].
Более подробно о выражениях 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 |
|
|
Возвращает входное значение, если оно находится в пределах заданных границ. Если входное значение меньше самого нижнего значения, возвращается нижнее значение. Если входное значение больше самого высокого значения, возвращается самое высокое значение. |
|
Возвращает 0, если Возвращает 6, если |
Пример умножения для выражения условия присоединения, использующего поле из целевого набора данных.
$target["Distance"] * 2 > $join["DistField"]
Примеры текстовых функций
Выражения условия присоединения могут обрабатывать текст. В следующей таблице показаны примеры доступных операций:
Более подробно о текстовых функциях в Arcade
|
Оператор |
Объяснение |
Пример |
Результат |
|---|---|---|---|
|
|
Соединяет значения вместе и возвращает строку.
|
|
GeoAnalytics – великолепен! |
|
|
Находит строку в пределах строки. Групповые символы не поддерживаются.
|
|
2 |
|
|
Делает буквы в строке строчными.
|
|
геоаналитика |
Пример текста, использующий find и lower.
find(("north"), lower("146NorthStreet")) == False
Примеры функций дат
Выражения присоединения могут обрабатывать даты. В таблице ниже приведены примеры доступных операций.
Более подробно о функциях даты в Arcade
В Arcade значения месяцев возможны в диапазоне от 0 (Январь) до 11 (Декабрь), дней от 1 до 31, часов от 0 (12:00 a.m.) до 23 (11:00 pm), минут и секунд от 0 до 59, и миллисекунды от 0 до 999. Даты Arcade возвращают значения времени для местоположения GeoAnalytics Server.
|
Оператор |
Объяснение |
Пример |
Результат |
|---|---|---|---|
|
|
Анализирует значение или набор значений в строке даты.
|
Пример 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: Пример 2: |
Пример 1: 2017 Пример 2: 2012 |
Условные операторы
Условные выражения могут использовать следующие операторы:
|
Оператор |
Объяснение |
Пример |
Результаты |
|---|---|---|---|
|
|
a больше b a меньше b |
|
False |
|
|
a больше или равно b a меньше или равно b |
|
True |
|
|
a не равно b |
|
True |
|
|
a равно b |
|
True |
|
|
Встречено условие один или условие два. |
|
True |
|
|
Встречено условие один и условие два. |
|
False |
Примеры логических операторов
Помимо операторов условий, более продвинутые логические операторы, показанные в следующей таблице, могут использоваться для присоединения пространственных объектов:
Более подробно о логических функциях в Arcade
|
Функция |
Объяснение |
Пример |
Результат |
|---|---|---|---|
|
|
Возвращает входное значение, если оно находится в пределах заданных границ. Если входное значение меньше самого нижнего значения, возвращается нижнее значение. Если входное значение больше самого высокого значения, возвращается самое высокое значение. |
|
Возвращает 0, если Возвращает 6, если |
|
|
Возвращает одно значение, если условие оценивается как
|
|
Возвращает Возвращает результат второй функции |
|
|
Оценивает несколько выражений поочередно до тех пор, пока одно из них не даст значения
|
|
Если |
|
|
Оценивает выражение, а затем сравнивает его значение с последующими параметрами. Если выражение совпадает, возвращается следующее значение параметра. Если нет, существует опция, чтобы последний параметр стал возвращаемым значением по умолчанию.
|
|
Сравнивает тождество между значением условия |