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