Краткая информация
Функция Describe возвращает следующие свойства для наборов данных с добавленными атрибутивными правилами.
Атрибутивные правила можно добавлять в базе геоданных к классу пространственных объектов или таблице. Возвращаемое функцией Describe свойство dataType относится к классу dataType пространственных объектов или таблице.
Свойства
Свойство | Описание | Тип данных |
batch (только чтение) | Указывает, выполняется ли правило в пакетном режиме.
Правила вычисления могут возвращать значение true или false, правила ограничения всегда будут возвращать значение false, а правила проверки всегда будут возвращать значение true. | Boolean |
checkParameters (только чтение) | Системное значение JSON, которое задает конфигурацию правила на базе Data Reviewer. | Object |
creationTime (только чтение) | Дата и время создания атрибутивного правила. | DateTime |
description (только чтение) | Описание атрибутивного правила. | String |
errorMessage (только чтение) | Если атрибутивное правило содержит сообщение пользовательских ошибок (т.е. правила ограничений), это свойство вернет сообщение об ошибке, которое было назначено для этого правила. | String |
errorNumber (только чтение) | Если атрибутивное правило содержит номер пользовательской ошибки (т.е. правила ограничений), это свойство вернет номер ошибки, который был назначен для этого правила. | Long |
evaluationOrder (только чтение) | Если тип правила – вычисление, это значение задает порядок выполнения правила. Порядок оценки основан на порядке добавления правила в набор данных. Например, если Rule A было добавлено прежде Rule B, номер оценки будет ниже для Rule A. | Long |
excludeFromClientEvaluation (только чтение) | Указывает, исключено ли правило из оценки клиента.
| Boolean |
fieldName (только чтение) | Если правилу атрибута присвоено поле (т.е. тип правила вычисления), это свойство возвращает имя поля. | String |
id (только чтение) | Возвращает идентификатор правила в виде целочисленного значения. | Integer |
isEnabled (только чтение) | Указывает, включено ли это правило.
| Boolean |
name (только чтение) | Имя атрибутивного правила. | String |
referencesExternalService (только чтение) | Указывает, ссылается ли правило на какой-либо внешний сервис. | Boolean |
requiredGeodatabaseClientVersion (только чтение) | Необходимая версия клиента базы геоданных задается для каждого правила, в зависимости от того, какие функции ArcGIS Arcade используются в выражении скрипта. Например, если скрипт содержит операцию Sequence, то необходима версия базы геоданных 10.6.1. | String |
scriptExpression (только чтение) | Выражение Arcade, которое определяет правило. Примечание:Это свойство недоступно для правил Data Reviewer. | String |
severity (только чтение) | Определяет серьезность ошибки. Это свойство применимо только для типов правил проверки. | Integer |
subtypeCode (только чтение) | Если правилу атрибута присваивается подтип, это свойство возвращает код подтипа, для которого он назначен. | Long |
tags (только чтение) | Набор тегов, используемых для идентификации правила. | String |
triggeringEvents (только чтение) | Триггерные события, определенные в правиле атрибута. Например, правило может быть запущено событием Вставка, Обновить или Удалить во время редактирования. | String |
triggeringFields (только чтение) | Список полей, которые запускают правило атрибутов для запуска при обновлении объекта. Запускающие поля применимы только для правил немедленного вычисления и правил ограничений, для которых есть событие запуска обновления. | Field |
type (только чтение) | Тип атрибутивного правила
| String |
userEditable (только чтение) | Указывает, разрешает ли правило редактирование атрибутивного поля, которое изменяется этим правилом.
| Boolean |
Пример кода
Следующий автономный скрипт Python распечатывает отчёт о свойствах атрибутивных правил для класса пространственных объектов:
# Import the required modules
import arcpy
# Path to the input feature class or table
fc = "C:\\MyProject\\MyDatabase.sde\\myGDB.USER1.Building"
# Print a report of the attribute rule properties
attRules = arcpy.Describe(fc).attributeRules
print("- Attribute Rule Properties -")
for ar in attRules:
if "Calculation" in ar.type:
print("- Calculation Rule:")
print(f" Name: {ar.name}")
print(f" Creation time: {ar.creationTime}")
print(f" Field: {ar.fieldName}")
print(f" Subtype code: {ar.subtypeCode}")
print(f" Description: {ar.description}")
print(f" Is editable: {ar.userEditable}")
print(f" Is enabled: {ar.isEnabled}")
print(f" Evaluation order: {ar.evaluationOrder}")
print(f" Exclude from client evaluation: {ar.excludeFromClientEvaluation}")
print(f" Triggering events: {ar.triggeringEvents}")
print(f" Triggering fields: {ar.triggeringfields}\n")
print(f" Script expression: {ar.scriptExpression}\n")
print(f" Is flagged as a batch rule: {ar.batch}\n")
print(f" Severity: {ar.severity}\n")
print(f" Tags: {ar.tags}\n")
elif "Constraint" in ar.type:
print("- Constraint Rule:")
print(f" Name: {ar.name}")
print(f" Creation time: {ar.creationTime}")
print(f" Subtype code: {ar.subtypeCode}")
print(f" Description: {ar.description}")
print(f" Is editable: {ar.userEditable}")
print(f" Is enabled: {ar.isEnabled}")
print(f" Error number: {ar.errorNumber}")
print(f" Error message: {ar.errorMessage}")
print(f" Exclude from client evaluation: {ar.excludeFromClientEvaluation}")
print(f" Triggering events: {ar.triggeringEvents}")
print(f" Triggering fields: {ar.triggeringfields}\n")
print(f" Script expression: {ar.scriptExpression}\n")
print(f" Tags: {ar.tags}\n")
elif "Validation" in ar.type:
print("- Validation Rule:")
print(f" Name: {ar.name}")
print(f" Creation time: {ar.creationTime}")
print(f" Subtype code: {ar.subtypeCode}")
print(f" Description: {ar.description}")
print(f" Is enabled: {ar.isEnabled}")
print(f" Error number: {ar.errorNumber}")
print(f" Error message: {ar.errorMessage}")
print(f" Script expression: {ar.scriptExpression}\n")
print(f" Is flagged as a batch rule: {ar.batch}\n")
print(f" Severity: {ar.severity}\n")
print(f" Tags: {ar.tags}\n")
Следующий автономный скрипт Python распечатывает отчёт о свойствах атрибутивного правила, созданного Data Reviewer:
# Import the required modules
import arcpy
# Path to the input feature class or table
fc = "C:\\MyProject\\MyDatabase.sde\\myGDB.USER1.FacilitySite"
# Print a report of the checkParameter properties
attRules = arcpy.da.Describe(fc)['attributeRules']
for rule in range(len(attRules)):
for key, value in attRules[rule]['checkParameters'].items():
print(f"{key}: {value}")