Примеры выражений буфера в ArcGIS Enterprise 10.5 и 10.5.1
Ввод значений или использование поля – это не единственные способы указать размер буфера, используемого в GeoAnalytics Tools . В некоторых случаях вам может потребоваться выполнить математические вычисления, чтобы задать размер буфера. Можно выполнять как простые, так и сложные вычисления над всеми записями. Эти вычисления применяются к каждому объекту. В разделах ниже приводятся примеры использования выражений буфера. Вычисления выполняются при запуске анализа на ArcGIS GeoAnalytics Server .
Выражения буфера используются инструментами Заново создать треки и Создать буферы .
Простые вычисления
Простые математические примерыВыражения буфера возможны для математически обрабатываемых чисел.
fieldname содержит значение 1.5
fieldname содержит значение 3.3
a, умноженное на b
fieldname содержит значение 2.0
a разделить на b
fieldname содержит значение 4.0
Возвращает абсолютное (положительное) значение числа a.
fieldname содержит значение -1.5
Возвращает натуральный логарифм (по основанию Е) от a.
fieldname содержит значение 1
Возвращает тригонометрический синус a. Входные данные должны представлять значение угла в радианах.
fieldname содержит значение 1,5707
Возвращает тригонометрический косинус a. Входные данные должны представлять значение угла в радианах.
fieldname содержит значение 0
Возвращает тангенс a. Входные данные должны представлять значение угла в радианах.
fieldname содержит значение 0
Возвращает квадратный корень a.
fieldname содержит значение 9
Возвращает самое малое значение числа между a и b.
fieldname содержит значение 1.5 и значение -3
Возвращает самое высокое значение числа между a или b.
fieldname1 содержит значение 1.5, и fieldname2 содержит значение -3
Встроенные функции для GeoAnalytics Tools
Примеры функции расстоянияВыражения буфера доступны приведения числовых значений к линейным расстояниям.
Применяет вычисления, предполагая, что входные значения заданы в метрах
Результатом является буфер в 150 метров.
Применяет вычисления, предполагая, что входные значения заданы в километрах
Результатом является буфер в 150 километров.
Применяет вычисления, предполагая, что входные значения заданы в футах
Результатом является буфер в 150 футов.
Применяет вычисления, предполагая, что входные значения заданы в ярдах
Результатом является буфер в 150 ярдов.
Применяет вычисления, предполагая, что входные значения заданы в морских милях
Результатом является буфер в 150 морских миль.
Применяет вычисления, предполагая, что входные значения заданы в милях
Результатом является буфер в 150 миль.
Для каждого объекта умножьте поле Distance полагая, что оно в километрах, и добавьте 10 метров.
Дополнительные построения в функциях для выражений буфера GeoAnalytics ToolsВ дополнение к простым математическим выражениям, в выражениях буфера можно применять более сложные функции.
Возвращает входное значение, если оно находится в пределах заданных границ. Если значение меньше самого нижнего значения, возвращается нижнее значение. Если значение больше самого высокого значения, возвращается самое высокое значение.
constrain( ["distance"], 0, 10)
constrain(['Store dist'], 6, distance)
Возвращает 0, если distance меньше 0, 10, если distance больше 10, и distance в других случаях.
Возвращает 6, если Store dist меньше 6, distance , если Store dist больше distance , и Store dist в других случаях.
iff(<condition>,<true value>,<false value>)
Возвращает одно значение, если условие оценивается как true , и другое значение, если условие оценивается как false .
- Числовое поле. Если в имени поля есть пробел, используйте квадратные скобки.
- Число.
- Функция.
iff(["field1"] > ["field2"], ["field1"], 0)
iff(["field1"] > ["field2"], iff(["field2"] = 0, ["field3"], ["field4"]), 0)
Возвращает field1 , если field1 больше field2 , и 0 в других случаях.
Возвращает результат второй функции iff , если field1 больше field2 , и 0 в других случаях.
when(<expression1> , <result1> , <expression2> , <result2> , . , <expressionN> , <resultN>, <default>)
Оценивает несколько выражений поочередно до тех пор, пока одно из них не даст значения true .
- expression – выражение.
- result – может быть числом или полем.
- default – дополнительное значение, если ни одно из выражений не соответствует.
when((["field1"] + 10) > 1, 1,(["field2"] + 10) > 2 , 2, ["field3"])
Если field1 + 10 больше 1, возвращает 1. Если нет, проверьте, что field2 + 10 больше 2. Если да, то будет возвращено 2. Если нет, то будет возвращено field3 .
decode(<conditional val> , <case1> , <result1>, <case2>, <result2>, . <caseN>, <resultN>, <defaultValue> )
Функция decode оценивает выражение, а затем сравнивает его значение с последующими параметрами. Если выражение совпадает, возвращается следующее значение параметра. Если нет, существует опция, чтобы последний параметр стал возвращаемым значением по умолчанию.
- conditional val – может быть полем или выражением.
- case – значение для сравнения с conditional val .
- result – результат, если соответствующий случай совпадает с conditional val .
- defaultValue – дополнительное значение, если другие объекты не являются true .
decode(["field1"] + 3 , ["field1"], 1, ["field2"], 2, 0)
Сравнивает тождество между значением условия field1 + 3 и case1 field1 . Если true , то будет возвращено 1. Если false , сравнивает тождество между field1 + 3 и field2 . Если true , возвращается 2; иначе возвращается 0.