Более подробно о выражениях Python см. в примерах Вычислить поля в Python.
Более подробно о выражениях Arcade см. ArcGIS Arcade в справке Developer.
Более подробно о выражениях SQL см. в разделе Вычислить значения полей.
Более подробно о выражениях VBScript см. в примерах Вычислить поля в VBScript.
Выражения Arcade этого инструмента используют профиль Вычислить поле Arcade. Профиль Arcade является контекстом, в котором распознается и оценивается выражение Arcade. При оценке выражения Arcade возвращаемое значение приводится к типу поля выходного значения.
При использовании с выбранным набором объектов, например, созданных из запроса в инструментах Создать векторный слой или Выбрать в слое по атрибуту, этот инструмент обновит только выбранные записи.
Существующие значения поля будут перезаписаны. Чтобы сохранить исходные значения, сделайте копию входной таблицы в качестве резервной копии или используйте опцию Включить возможность отмены на панели Геообработка.
Для вычислений Python имена полей должны быть заключены в восклицательные знаки (например, !fieldname!).
В вычислениях Arcade перед именами полей должно стоять $feature. (например, $feature.fieldname).
Для переноса временных значений между разными типами полей (дата, только дата, только время, сдвиг метки времени и текст) используйте инструмент Конвертировать поле времени.
Чтобы вычислить строки в текстовые или символьные поля, в диалоговом окне строка должна использовать двойные кавычки (например, "строка"), или в скрипте строка, использующая двойные кавычки, также должна быть заключена в одинарные кавычки (например, '"string"').
Для вычисления значения в числовом поле введите соответствующее числовое значение в качестве параметра Выражение, кавычек при этом не требуется.
Вы можете создавать сложные выражения с помощью параметра Блок кода. Введите блок кода либо непосредственно в диалоговое окно, либо в виде строки в скрипт. Выражение и блок кода являются соединенными. Блок кода должен иметь обратное отношение к выражению; результат выполнения блока кода должен передаваться в выражение.
Параметр Блок кода поддерживается только для выражений Python.
Вы можете использовать модель Python math и форматирование в параметре Блок кода. Вы также можете импортировать дополнительные модули. Модуль math предлагает теоретико-числовые функции и функции представления, степенные и логарифмические функции, тригонометрические функции, функции углового преобразования, гиперболические функции и математические константы. Дополнительные сведения о модуле math находятся в справке Python.
Чтобы вычислить информацию о геометрии в Python, воспользуйтесь свойствами объекта Geometry. Например, используйте выражение !shape.pointCount! для вычисления числа вершин объекта.
Чтобы вычислить площадь и длину в Python, используйте методы getArea и getLength с указанием метода и типа единицы измерения.
- Для расчета геодезической площади полигонов в квадратных километрах воспользуйтесь следующим выражением:
!shape.getArea('GEODESIC', 'SQUAREKILOMETERS')!
- Чтобы вычислить длину полилиний или полигонов на плоскости в ярдах, используйте следующее выражение:
!shape.getLength('PLANAR', 'YARDS')
Для получения подробной информации см. объекты ArcPy Polygon и Polyline.
Подробнее об инструментах геообработки и линейных и площадных единицах измерения
При работе с присоединенными данными вы можете обновлять только поля исходной таблицы. Невозможно обновлять поля присоединенной таблицы. Чтобы выполнить вычисление в присоединенной таблице, он должен осуществляться непосредственно в этой таблице.
Выражения Python, в которых соединяются строковые поля, содержащие значения null либо деление на ноль, возвратят null в качестве значения такого поля.
Выражения SQL поддерживают более быстрые вычисления для сервисов объектов и многопользовательских баз геоданных. Вместо выполнения вычислений по одному объекту или строке за раз, к серверу или базе данных устанавливается один запрос, что приводит к более быстрым вычислениям.
Выражения SQL поддерживают только сервисы объектов и многопользовательские базы геоданных. Для других форматов используйте Python или выражение Arcade.
При использовании опции SQL для параметра Тип выражения есть следующие ограничения:
- Эта опция поддерживается только для многопользовательских баз геоданных Db2, Oracle, PostgreSQL, SAP HANA и SQL Server.
- Вычисление значений полей в соединяемых таблицах не поддерживается.
- Не поддерживаются данные версионных и архивных баз геоданных.
- Операции отмены геообработки не поддерживаются.
Для получения справки по выражениям SQL см. Документацию поставщика вашей базы данных.