Используйте опцию VBScript для параметра Тип выражения инструмента Вычислить поле или Вычислить поля (несколько), если у вас есть опыт работы с VBA или VBScript и вы знакомы с синтаксисом скриптов. Эта опция также поддерживает прежние модели или скрипты из ArcGIS Desktop, которые используют инструмент Вычислить поле с вычислениями в VBScript.
Этот раздел описывает примеры VBScript для Вычисления поля. Более подробно о примерах Python см. Пример Python Вычислить поле. Более подробно о выражениях Arcade, см. Руководство ArcGIS Arcade. Более подробно о выражениях SQL см. в разделе Вычислить значения полей.
Примечание:
VBScript не позволяет в явном виде задавать тип данных; все переменные имеют неявный тип данных Variant. Выражения наподобие Dim x as String надо удалить или упростить до .Dim x.
Простые вычисления
Ряд вычислений можно производить, используя только короткое выражение.
Строковые функции VBScript
Строки поддерживаются несколькими строковыми функциями VBScript, в том числе Left, InStr и Chr. Ниже приведено несколько примеров VBScript для часто используемых в Калькуляторе поля строковых функций:
Используйте функцию Left, чтобы получить указанное количество символов из левой части исходной строки.
Expression:
Left([MyField], 1)
Используйте функцию Right, чтобы получить указанное количество символов из правой части исходной строки.
Expression:
Right([MyField], 1)
Используйте функцию Mid, чтобы получить указанное число символов из строки, используя начальное положение и, дополнительно, число символов.
Expression:
Mid([MyField], 14, 4)
Используйте функцию InStr, чтобы получить местоположение первого вхождения одной строки в другую.
Expression:
InStr([MyField], " ")
Используйте функцию Replace, чтобы получить строку, в которой указанная подстрока заменена другой подстрокой.
Expression:
Replace([MyField], "#", "!")
Используйте функцию Chr, чтобы получить символ, связанный с указанным кодом символа.
В следующем примере символ возврата каретки заменяется восклицательным знаком.
Expression:
Replace([MyField], Chr(13), "!")
Используйте оператор & для соединения двух значений полей.
Expression:
[MyField1] & " " & [MyField2]
Простые математические примеры
VBScript предоставляет инструменты для обработки чисел.
Оператор | Объяснение | Пример | Результат |
---|---|---|---|
x + y | x плюс y | 1,5 + 2,5 | 4.0 |
x – y | x минус y | 3,3 – 2,2 | 1.1 |
x * y | x умножить на y | 2,0 * 2,2 | 4.4 |
x / y | x разделить на y | 3 / 2 | 1.5 |
x \ y | x разделить на y (целочисленное деление) | 3 \ 2 | 1 |
x MOD y | x по модулю y | 8 MOD 3 | 2 |
x ^ y | x возвести в степень y | 2 ^ 3 | 8 |
Умножить значения поля на 2.
[Rank] * 2
Вычисления в полях с использованием логики VBScript
Логические структуры могут быть включены в блок кода через выражения If, ElseIf и Else.
Классифицировать на основании значений поля.
Expression:
density
Code Block:
Dim density
If [POP90_SQMI] < 100 Then
density = "low"
ElseIf [POP90_SQMI] < 300 Then
density = "medium"
Else
density = "high"
End If