Краткая информация
Функция Describe возвращает следующие свойства для наборов данных с добавленными атрибутивными правилами.
Атрибутивные правила можно добавлять в базе геоданных к классу пространственных объектов или таблице. Возвращаемое свойство Describe dataType - это dataType класса объектов или таблицы.
Свойства
Свойство | Описание | Тип данных |
batch (только чтение) | Обозначает выполнение правила в пакетном режиме.
Правила вычислений могут возвращать либо true, либо false, но правила ограничений всегда возвращают false, а правила проверки всегда возвращают значение true. | Boolean |
checkParameters (только чтение) | Системное значение JSON, которое задает конфигурацию правила на базе Data Reviewer. | Object |
creationTime (только чтение) | Дата и время создания атрибутивного правила. | DateTime |
description (только чтение) | Описание атрибутивного правила. | String |
errorMessage (только чтение) | Если атрибутивное правило содержит сообщение пользовательских ошибок (т.е. правила ограничений), это свойство вернет сообщение об ошибке, которое было назначено для этого правила. | String |
errorNumber (только чтение) | Если атрибутивное правило содержит номер пользовательской ошибки (т.е. правила ограничений), это свойство вернет номер ошибки, который был назначен для этого правила. | Long |
evaluationOrder (только чтение) | Если тип правила – вычисление, это значение задает порядок выполнения правила. Порядок оценки основан на порядке добавления правила в набор данных. Например, если Правило A было добавлено прежде Правила B, номер оценки будет ниже для Правила A. | Long |
excludeFromClientEvaluation (только чтение) | Возвращает логическое значение, описывающее, исключено ли правило из оценки клиента.
| Boolean |
fieldName (только чтение) | Если правилу атрибута присвоено поле (т.е. тип правила вычисления), это свойство возвращает имя поля. | String |
id (только чтение) | Возвращает идентификатор правила в виде целочисленного значения. | Integer |
isEnabled (только чтение) | Возвращает булево значение, описывающее, включено ли правило.
| Boolean |
name (только чтение) | Имя атрибутивного правила. | String |
referencesExternalService (только чтение) | Указывает, ссылается ли правило на какой-либо внешний сервис. | Boolean |
requiredGeodatabaseClientVersion (только чтение) | Необходимая версия клиента базы геоданных задается для каждого правила, в зависимости от того, какие функции Arcade используются в выражении скрипта. Например, если скрипт содержит операцию Sequence, то необходима версия базы геоданных 10.6.1. | String |
scriptExpression (только чтение) | Выражение Arcade, которое определяет правило. Примечание:Это свойство недоступно для Правил Data Reviewer. | String |
severity (только чтение) | Определяет серьезность ошибки. Это свойство применимо только для типов правил проверки. | Integer |
subtypeCode (только чтение) | Если правилу атрибута присваивается подтип, это свойство возвращает код подтипа, для которого он назначен. | Long |
tags (только чтение) | Набор тегов, используемых для идентификации правила. | String |
triggeringEvents (только чтение) | Триггерные события, определенные в правиле атрибута. Например, правило может быть запущено событием Вставка, Обновить или Удалить во время редактирования. | String |
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(" Name: {0}".format(ar.name))
print(" Creation time: {0}".format(ar.creationTime))
print(" Field: {0}".format(ar.fieldName))
print(" Subtype code: {0}".format(ar.subtypeCode))
print(" Description: {0}".format(ar.description))
print(" Is editable: {0}".format(ar.userEditable))
print(" Is enabled: {0}".format(ar.isEnabled))
print(" Evaluation order: {0}".format(ar.evaluationOrder))
print(" Exclude from client evaluation: {0}".format(ar.excludeFromClientEvaluation))
print(" Triggering events: {0}".format(ar.triggeringEvents))
print(" Script expression: {0} \n".format(ar.scriptExpression))
print(" Is flagged as a batch rule: {0} \n".format(ar.batch))
print(" Severity: {0} \n".format(ar.severity))
print(" Tags: {0} \n".format(ar.tags))
elif "Constraint" in ar.type:
print("- Constraint Rule:")
print(" Name: {0}".format(ar.name))
print(" Creation time: {0}".format(ar.creationTime))
print(" Subtype code: {0}".format(ar.subtypeCode))
print(" Description: {0}".format(ar.description))
print(" Is editable: {0}".format(ar.userEditable))
print(" Is enabled: {0}".format(ar.isEnabled))
print(" Error number: {0}".format(ar.errorNumber))
print(" Error message: {0}".format(ar.errorMessage))
print(" Exclude from client evaluation: {0}".format(ar.excludeFromClientEvaluation))
print(" Triggering events: {0}".format(ar.triggeringEvents))
print(" Script expression: {0} \n".format(ar.scriptExpression))
print(" Tags: {0} \n".format(ar.tags))
elif "Validation" in ar.type:
print("- Validation Rule:")
print(" Name: {0}".format(ar.name))
print(" Creation time: {0}".format(ar.creationTime))
print(" Subtype code: {0}".format(ar.subtypeCode))
print(" Description: {0}".format(ar.description))
print(" Is enabled: {0}".format(ar.isEnabled))
print(" Error number: {0}".format(ar.errorNumber))
print(" Error message: {0}".format(ar.errorMessage))
print(" Script expression: {0} \n".format(ar.scriptExpression))
print(" Is flagged as a batch rule: {0} \n".format(ar.batch))
print(" Severity: {0} \n".format(ar.severity))
print(" Tags: {0} \n".format(ar.tags))
Следующий автономный скрипт 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("{}: {}".format(key, value))