Сводка
Добавляет правило атрибута к набору данных.
Правила атрибута указываются пользователем и могут быть добавлены к набор данных для улучшения процесса редактирования и сохранения целостности данных. Эти правила могут использоваться для заполнения значений атрибутов или ограничения допустимых конфигураций объектов и применяются во время редактирования объектов. Если при редактировании объектов это правило нарушается, появляется сообщение об ошибке.
Использование
Правила пакетных вычислений и проверок в многопользовательской базе геоданных оцениваются сервером проверки в отношении наборов с версиями ветви. Чтобы добавить эти типы правил, для подключения должен быть заданТип версий Ветви.
В наборе данных должно быть поле GlobalID.
Чтобы добавить для набора данных пакетное вычисление или правила проверки, необходимо включить отслеживание изменений.
Для добавления правила атрибутов требуется полная блокировка набора данных. Необходимо закрыть активные подключения к набору данных, включая возможную остановку сервисов.
Выражение, используемое для определения правил атрибутов, ограничивается функциональностью, доступной для языка Arcade.
Вы можете ссылаться на последовательность баз данных, созданную инструментом Создать последовательность баз данных, в параметре Выражение скрипта, используя функцию данных Arcade NextSequenceValue.
Чтобы перенести существующие правила атрибутов в другой набор данных, можно использовать инструменты Экспорт правил атрибутов и Импорт правил атрибутов вместо многократного запуска этого инструмента.
Примечание:
Для добавления правил атрибутов в набор данных, минимальная клиентская версия набора данных должна быть ArcGIS Pro 2.1. Это означает, что набор данных больше не будет доступен для использования в ArcMap.
Синтаксис
arcpy.management.AddAttributeRule(in_table, name, type, script_expression, {is_editable}, {triggering_events}, {error_number}, {error_message}, {description}, {subtype}, {field}, {exclude_from_client_evaluation}, {batch}, {severity}, {tags})
Parameter | Объяснение | Тип данных |
in_table | Таблица или класс пространственных объектов, для которых будет применяться новое правило. | Table View |
name | Уникальное имя нового правила. | String |
type | Задает тип правил атрибутов для добавления.
| String |
script_expression | Выражение Arcade, которое определяет правило. | Calculator Expression |
is_editable (Дополнительный) | Указывает, можно ли редактировать значение атрибута. Правила атрибутов можно настроить для запрета или разрешения редакторам изменять значения атрибутов поля, которое вычисляется. Этот параметр применяется только для типа правил вычисления атрибутов.
| Boolean |
triggering_events [triggering_events,...] (Дополнительный) | Укажите события редактирования, которые приведут к вступлению в силу правила атрибутов. Этот параметр действует только для правил вычислений и ограничений. Как минимум одно включающее событие должно быть задано для правил вычислений, у которых не выбран параметр Пакетно (batch = "NOT_BATCH" в Python). Включающие события не применяются для правил вычислений, у которых отмечен параметр Пакетно (batch = "BATCH" в Python)
| String |
error_number (Дополнительный) | Номер ошибки, который будет возвращен при нарушении этого правила. Это значение может не быть уникальным, поэтому для многих правил может возвращаться пользовательский номер ошибки. Этот параметр требуется для правил ограничений и проверок. Для правил вычислений он не обязателен. | String |
error_message (Дополнительный) | Сообщение об ошибке, которое будет возвращено при нарушении этого правила. Рекомендуется, чтобы сообщение содержало описание, чтобы помочь редактору понять нарушение при его возникновении. Длина сообщения не должна превышать 2000 символов. Этот параметр требуется для правил ограничений и проверок. Для правил вычислений он не обязателен. | String |
description (Дополнительный) | Описание нового правила атрибутов. Длина описания не должна превышать 256 символов. | String |
subtype (Дополнительный) | Подтип, к которому будет применяться правило, если набор данных имеет подтипы. | String |
field (Дополнительный) | Имя существующего поля, к которому будет применяться правило. Этот параметр применяется только для типа правил вычисления атрибутов. | String |
exclude_from_client_evaluation (Дополнительный) | Указывает, будет ли правило исключаться из оценки до применения изменений. Поскольку не все клиенты могут иметь возможность запускать все доступные правила, можно выбрать настройку Правила только для простых клиентов. Например, некоторые правила могут ссылаться на данные, которые ранее не были доступны для всех клиентов (причины могут включать данные в автономном режиме, размер, или безопасности), или некоторые правила могут зависеть от пользователя или контекста (то есть, легкое поле обновления в ArcGIS Collector не может выполнить правило, которое требует дополнительных данных, вводимых пользователем или прочей информации; но, такие клиенты, как ArcGIS Pro могут поддерживать это правило). Этот параметр не применяется для правил проверки и вычислений, если для параметра batch задано BATCH.
| Boolean |
batch (Дополнительный) | Указывает, будет ли правило выполняться в пакетном режиме.
Правила вычислений могут быть BATCH или NOT_BATCH. Правила проверки, в данном параметре, всегда BATCH, а правила ограничений - всегда NOT_BATCH. Пакетные правила поддерживаются только для данных с версиями с ветвлениями. | Boolean |
severity (Дополнительный) | Серьезность ошибки. Для определения важности правила можно выбрать значение в диапазоне от 1 до 5. Значение 1 – высокая серьезность, значение 5 – низкая. Например, вы можете задать низкую важность определенному правилу атрибутов и игнорировать ошибку при работе с данными, или задать высокую важность, когда ошибка должна быть исправлена для сохранения точности данных. Этот параметр применим только для правил проверки. | Long |
tags [tags,...] (Дополнительный) | Набор тегов для идентификации правила (доступного для поиска и индексирования) как способ обозначения функциональных требований модели данных. Для ввода нескольких тегов, используйте точку с запятой, например, Tag1;Tag2;Tag3. | String |
Производные выходные данные
Name | Объяснение | Тип данных |
out_table | Обновленная входная таблица с добавленным правилом атрибута. | Вид Таблица |
Пример кода
Добавление правила вычисления, которое вычисляет поле labeltext класс пространственных объектов GasPipes.
'''****************************************************************************
Name: AddAttributeRule_example1.py
Description: This script adds a calcualtion rule to a feature class
Created by: Esri
****************************************************************************'''
# Import required modules
import arcpy
# Set local variables
in_table = "C:\\MyProject\\sdeConn.sde\\progdb.user1.GasPipes"
name = "calculateRuleLabel"
script_expression = 'if ($feature.material == 5) {return "Plastic"} else {return "Other"}'
triggering_events = "INSERT;UPDATE"
description = "Populate label text"
subtype = "Coated Steel"
field = "labeltext"
# Run the AddAttributeRule tool
arcpy.AddAttributeRule_management(in_table, name, "CALCULATION", script_expression, "EDITABLE", triggering_events, "", "", description, subtype, field)
Добавление правила ограничения, которое ограничивает атрибут рабочего давления класса GasPipes объектов газовых труб до 300.
'''****************************************************************************
Name: AddAttributeRule_example2.py
Description: This script adds a constraint rule to a feature class
Created by: Esri
****************************************************************************'''
# Import required modules
import arcpy
# Set local variables
in_table = "C:\\MyProject\\sdeConn.sde\\progdb.user1.GasPipes"
name = "constraintRuleOP"
script_expression = '$feature.OPERATINGPRESSURE < 300'
triggering_events = "INSERT;UPDATE"
description = "Operating pressure must be less than 300"
subtype = "ALL"
error_number = 2001
error_message = "Invalid operating pressure. Must be less than 300."
# Run the AddAttributeRule tool
arcpy.AddAttributeRule_management(in_table, name, "CONSTRAINT", script_expression, "EDITABLE", triggering_events, error_number, error_message, description, subtype)
Добавление правила проверки к классу объектов GasPipes для обозначения объектов с рабочим давлением, превышающим 300.
'''****************************************************************************
Name: AddAttributeRule_example3.py
Description: This script adds a validation rule to a feature class
Created by: Esri
****************************************************************************'''
# Import required modules
import arcpy
# Set local variables
in_table = "C:\\MyProject\\sdeConn.sde\\progdb.user1.GasPipes"
name = "validationRuleMaxOP"
rule_type = "VALIDATION"
script_expression = "$feature.OPERATINGPRESSURE < 300"
error_number = 3001
error_message = "Maximum operating pressure exceeded"
description = "Validation rule: max operating pressure value"
subtype = "Coated Steel"
batch = "BATCH"
severity = 3
tags = "OP;MAXOP"
# Run the AddAttributeRule tool
arcpy.AddAttributeRule_management(in_table, name, rule_type,
script_expression, "", "",
error_number, error_message,
description, subtype, "", "",
batch, severity, tags)
Environments
Информация о лицензиях
- Basic: Нет
- Standard: Да
- Advanced: Да