Примеры вычисления полей в VBScript

Используйте опцию 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