Вычислить поля (несколько) (Инструменты Управление данными)
Краткая информация
Вычисляет значения двух или более полей для класса пространственных объектов, векторного слоя или растра.
Использование
Внимание:
Этот инструмент изменяет входные значения. Более подробно о стратегиях предотвращения нежелательных изменений данных см. в разделе Инструменты, которые изменяют или обновляют входные данные.
Чтобы узнать больше о выражениях Python, см. Примеры скриптов Python для вычислений полей.
Более подробно о выражениях Arcade см. в разделе ArcGIS Arcade в Справке для разработчиков.
Более подробно о выражениях SQL см. в разделах Синтаксис SQL выражений и Вычислить значения полей.
Более подробно о выражениях VBScript см. в примерах Вычислить поля в VBScript.
Выражения Arcade этого инструмента используют профиль Вычисление полей Arcade. Профиль Arcade является контекстом, в котором распознается и оценивается выражение Arcade. При оценке выражения Arcade возвращаемое значение приводится к типу поля выходного значения.
Внимание:
В Windows 11 версии 24H2 VBScript становится доступным по запросу и требует наличия функции VBScript.
Чтобы продолжить использовать опцию VBScript, выполните одно из следующих действий:
— Измените тип выражения на Python, Arcade или SQL.
— Включите дополнительную функцию VBScript в системных настройках Windows.
Более подробную информацию см. в разделе Уведомления об удалении и устаревании.
При использовании с выбранным набором объектов, например, созданных из запроса в инструментах [Создать векторный слой] или Выбрать в слое по атрибуту, этот инструмент обновит только выбранные записи.
Существующие значения поля будут перезаписаны. Чтобы сохранить исходные значения, сделайте резервную копию входной таблицы или используйте опцию Включить возможность отмены на панели Геообработка.
Для вычислений Python имена полей должны быть заключены в восклицательные знаки (например,
!fieldname!).В вычислениях Arcade перед именами полей должно стоять
$feature.(например,$feature.fieldname).Примечание:
Для переноса временных значений между разными типами полей (дата, только дата, только время, сдвиг метки времени и текст) используйте инструмент Конвертировать поле времени.
Чтобы вычислить строки в текстовые или символьные поля, в диалоговом окне строка должна использовать двойные кавычки (например, "строка"), или в скрипте строка, использующая двойные кавычки, также должна быть заключена в одинарные кавычки (например,
'"string"').Для вычисления значения в числовом поле введите соответствующее числовое значение в качестве параметра Выражение, кавычек при этом не требуется.
Вы можете создавать сложные выражения с помощью параметра Блок кода. Введите блок кода либо непосредственно в диалоговое окно, либо в виде строки в скрипт. Выражение и блок кода являются соединенными. Блок кода должен иметь обратное отношение к выражению; результат выполнения блока кода должен передаваться в выражение.
Параметр Блок кода поддерживается только для выражений Python.
Вы можете использовать модуль
mathPython и форматирование Python в параметре Блок кода. Вы также можете импортировать дополнительные модули. Модульmathпредлагает теоретико-числовые функции и функции представления, степенные и логарифмические функции, тригонометрические функции, функции преобразования углов, гиперболические функции и математические константы. Дополнительные сведения о модулеmathвы найдете в справке Python.Чтобы вычислить информацию о геометрии в Python, воспользуйтесь свойствами объекта
Geometry. Например, используйте выражение!shape!.pointCount!для вычисления числа вершин объекта.Примечание:
Инструмент Вычислить атрибуты геометрии поддерживает аналогичные вычисления.
Чтобы вычислить площадь и длину в , используйте методы
getAreaиgetLengthс указанием метода и типа единицы измерения.Для расчета геодезической площади полигонов в квадратных километрах воспользуйтесь следующим выражением:
!shape!.getArea('GEODESIC', 'SQUAREKILOMETERS')!Чтобы вычислить длину полилиний или полигонов на плоскости в ярдах, используйте следующее выражение:
!shape!.getLength('PLANAR', 'YARDS')
См. объекты ArcPy 'Polygon' и 'Polyline' для получения дополнительной информации.
Подробнее об инструментах геообработки и линейных и площадных единицах измерения
При работе с присоединенными данными вы можете обновлять только поля исходной таблицы. Невозможно обновлять поля присоединенной таблицы. Чтобы выполнить вычисление в присоединенной таблице, он должен осуществляться непосредственно в этой таблице.
Выражения , в которых соединяются строковые поля, содержащие значения null либо деление на ноль, возвратят null в качестве значения такого поля.
Выражения SQL поддерживают более быстрые вычисления для сервисов пространственных объектов. Вместо выполнения вычислений по одному объекту или строке за раз, к серверу устанавливается один запрос, что приводит к более быстрым вычислениям.
Только сервисы пространственных объектов поддерживают выражения SQL. Для других форматов используйте выражения Python или Arcade.
При использовании опции SQL для параметра Тип выражения есть следующие ограничения:
Вычисление значений полей в соединяемых таблицах не поддерживается.
Операции отмены геообработки не поддерживаются.
Параметры
| Подпись | Объяснение | Тип данных |
|---|---|---|
|
Входная таблица |
Входная таблица, содержащая поля, которые будут обновлены при вычислении. |
Table View; Raster Layer; Mosaic Layer |
|
Тип выражения |
Указывает тип используемого выражения. Если входные данные — сервис объектов, тип выражения по умолчанию — SQL. Для остальных типов входных данных тип выражения по умолчанию — Python. Чтобы узнать больше о выражениях Python, см. Примеры скриптов Python для вычислений полей. Более подробно о выражениях Arcade см. в разделе ArcGIS Arcade в Справке для разработчиков. Более подробно о выражениях SQL см. в разделах Синтаксис SQL выражений и Вычислить значения полей. Более подробно о выражениях VBScript см. в примерах Вычислить поля в VBScript.
|
String |
|
Поля |
Поля, которые будут вычисляться, выражения, которые будут вычисляться, а также необязательные выражения where и типы полей. Дополнительное выражение SQL будет использоваться для выбора поднабора записей. Будут вычислены только те записи, которые соответствуют условию where. Если условие where оставить пустым, будут вычислены все записи. Более подробно о синтаксисе SQL см. [Справочник по SQL для выражений запросов, применяемых в ArcGIS] (../../help/mapping/navigation/sql-reference-for-elements-used-in-query-expressions.md). Если во входной таблице нет поля с этим именем, оно будет добавлено. Тип поля будет задан с помощью значения типа поля. Если тип поля не указан, поле будет добавлено как текстовое. Столбцы таблицы значений:
|
Value Table |
|
Блок кода (Дополнительный) |
Блок кода, который будет использоваться для сложных выражений. Функцию нельзя использовать для того, чтобы вернуть несколько значений. |
String |
|
Принудительно использовать домены (Дополнительный) |
Определяет, будут ли принудительно использованы правила доменов полей.
|
Boolean |
Производные выходные данные
| Подпись | Объяснение | Тип данных |
|---|---|---|
|
Выходная таблица |
Обновленная таблица. |
Table View; Raster Layer; Mosaic Layer |
Параметры среды
Информация о лицензировании
- Basic: Да
- Standard: Да
- Advanced: Да