Примеры выражений буфера для ArcGIS Enterprise 10.5 и 10.5.1
Ввод значений или использование поля – это не единственные способы указать размер буфера, используемого в GeoAnalytics Tools. В некоторых случаях вам может потребоваться выполнить математические вычисления, чтобы задать размер буфера. Можно выполнять как простые, так и сложные вычисления над всеми записями. Эти вычисления применяются к каждому объекту. В разделах ниже приводятся примеры использования выражений буфера. Вычисления выполняются при запуске анализа на ArcGIS GeoAnalytics Server.
В ArcGIS Enterprise 10.6 и более поздних версиях выражения форматируются с использованием Arcade Expressions. Более подробно о выражениях Arcade и о Выражениях Arcade Expressions в GeoAnalytics Server и 10.6 и более поздней.
Выражения буфера используются инструментами Заново создать треки и Создать буферы.
Простые вычисления
Простые математические примеры
Выражения буфера могут математически обрабатывать числа.
|
Оператор |
Объяснение |
Пример |
Результат |
|---|---|---|---|
|
a + b |
a плюс b |
["fieldname"] + 2.5 |
4.0 |
|
a - b |
a минус b |
["fieldname"]- 2.2 |
1.1 |
|
a * b |
a, умноженное на b |
["fieldname"] * 2.2 |
4.4 |
|
a / b |
a разделить на b |
["fieldname"] / 1.25 |
3.2 |
|
abs( a ) |
Возвращает абсолютное (положительное) значение числа a. |
abs(["fieldname"]) |
1.5 |
|
log ( a ) |
Возвращает натуральный логарифм (по основанию Е) от a. |
log(["fieldname"]) |
0 |
|
sin ( a ) |
Вычисляет тригонометрический синус a. Входные данные должны представлять значение угла в радианах. |
sin(["fieldname"]) |
1 |
|
cos( a ) |
Возвращает тригонометрический косинус a. Входные данные должны представлять значение угла в радианах. |
cos(["fieldname"]) |
1 |
|
tan( a ) |
Возвращает тангенс a. Входные данные должны представлять значение угла в радианах. |
tan(["fieldname"]) |
0 |
|
sqrt( a ) |
Возвращает квадратный корень a. |
sqrt(["fieldname"]) |
3 |
|
min( a, b ) |
Возвращает самое малое значение числа между a и b. |
min(["fieldname"], -3) |
-3 |
|
max( a, b ) |
Возвращает самое высокое значение числа между a или b. |
max(["fieldname1"], ["fieldname2"]) |
1.5 |
Умножение
["Distance"] * 2
Встроенные функции для GeoAnalytics Tools
Примеры функции Как расстояние
Выражения буфера доступны приведения числовых значений к линейным расстояниям.
|
Функция |
Объяснение |
Пример |
Результат |
|---|---|---|---|
|
as_meters( |
Применяет вычисления, предполагая, что входные значения заданы в метрах |
as_meters( ["fieldname"] ) as_meters(150) |
Результатом является буфер в 150 метров. |
|
as_kilometers( |
Применяет вычисления, предполагая, что входные значения заданы в километрах |
as_kilometers( ["fieldname"] ) as_kilometers(150) |
Результатом является буфер в 150 километров. |
|
as_feet( |
Применяет вычисления, предполагая, что входные значения заданы в футах |
as_feet( ["fieldname"] ) as_feet(150) |
Результатом является буфер в 150 футов. |
|
as_yards( |
Применяет вычисления, предполагая, что входные значения заданы в ярдах |
as_yards( ["fieldname"] ) as_yards(150) |
Результатом является буфер в 150 ярдов. |
|
as_nautical_miles( |
Применяет вычисления, предполагая, что входные значения заданы в морских милях |
as_nautical_miles( ["fieldname"] ) as_nautical_miles(150) |
Результатом является буфер в 150 морских миль. |
|
as_miles( |
Применяет вычисления, предполагая, что входные значения заданы в милях |
as_miles( ["fieldname"] ) as_miles(150) |
Результатом является буфер в 150 миль. |
Для каждого объекта умножьте поле Distance полагая, что оно в километрах, и добавьте 10 метров.
as_kilometers(["Distance"]) + as_meters(10)
Дополнительные построения в функциях для выражений буфера GeoAnalytics Tools
В дополнение к простым математическим выражениям, в выражениях буфера можно применять более сложные функции.
|
Функция |
Объяснение |
Пример |
Результат |
|---|---|---|---|
|
|
Возвращает входное значение, если оно находится в пределах заданных границ. Если значение меньше самого нижнего значения, возвращается нижнее значение. Если значение больше самого высокого значения, возвращается самое высокое значение. |
constrain( ["distance"], 0, 10) constrain(['Store dist'], 6, distance) |
Возвращает 0, если Возвращает 6, если |
|
|
Возвращает одно значение, если условие оценивается как
|
iff(["field1"] > ["field2"], ["field1"], 0) iff(["field1"] > ["field2"], iff(["field2"] = 0, ["field3"], ["field4"]), 0) |
Возвращает Возвращает результат второй функции |
|
|
Оценивает несколько выражений поочередно до тех пор, пока одно из них не даст значения
|
when((["field1"] + 10) > 1, 1,(["field2"] + 10) > 2 , 2, ["field3"]) |
Если |
|
|
Функция
|
decode(["field1"] + 3 , ["field1"], 1, ["field2"], 2, 0) |
Сравнивает тождество между значением условия |
Условные выражения могут использовать следующие операторы:
|
Оператор |
Объяснение |
Пример |
Результаты |
|---|---|---|---|
|
a > b a < b |
a больше b. a меньше b. |
10 > 2 |
False |
|
a >= b a <= b |
a больше или равно b. a меньше или равно b. |
abs(-10) >= 10 |
True |
|
a != b |
a не равно b. |
abs(-3) != -3 |
True |
|
a == b |
a равно b. |
abs(-5) == 5 |
True |
|
|
Встречено условие один или условие два. |
(abs(-5) == 5) OR (10 < 2) |
True |
|
|
Встречено условие один и условие два. |
(abs(-5) == 5) AND (10 < 2) |
False |