Свойства атрибутивных правил
Краткая информация
Функция Describe возвращает следующие свойства для наборов данных с добавленными атрибутивными правилами.
Атрибутивные правила можно добавлять в базе геоданных к классу пространственных объектов или таблице. Возвращаемое функцией Describe свойство dataType относится к классу dataType пространственных объектов или таблице.
Свойства
| Свойство | Объяснение | Тип данных |
|---|---|---|
|
batch (Только для чтения) |
Указывает, выполняется ли правило в пакетном режиме.
Правила вычисления могут возвращать значение true или false, правила ограничения всегда будут возвращать значение false, а правила проверки всегда будут возвращать значение true. |
Boolean |
|
checkParameters (Только для чтения) |
Системное значение JSON, которое задает конфигурацию правила на базе Data Reviewer. |
Object |
|
creationTime (Только для чтения) |
Дата и время создания атрибутивного правила. |
DateTime |
|
description (Только для чтения) |
Описание атрибутивного правила. |
String |
|
errorMessage (Только для чтения) |
Если атрибутивное правило содержит сообщение пользовательских ошибок (т.е. правила ограничений), это свойство вернет сообщение об ошибке, которое было назначено для этого правила. |
String |
|
errorNumber (Только для чтения) |
Если атрибутивное правило содержит номер пользовательской ошибки (т.е. правила ограничений), это свойство вернет номер ошибки, который был назначен для этого правила. |
Long |
|
evaluationOrder (Только для чтения) |
Если тип правила – вычисление, это значение задает порядок выполнения правила. Порядок оценки основан на порядке добавления правила в набор данных. Например, если |
Long |
|
excludeFromClientEvaluation (Только для чтения) |
Указывает, исключено ли правило из оценки клиента.
|
Boolean |
|
fieldName (Только для чтения) |
Если правилу атрибута присвоено поле (т.е. тип правила вычисления), это свойство возвращает имя поля. |
String |
|
id (Только для чтения) |
Возвращает идентификатор правила в виде целочисленного значения. |
Integer |
|
isEnabled (Только для чтения) |
Указывает, включено ли это правило.
|
Boolean |
|
name (Только для чтения) |
Имя атрибутивного правила. |
String |
|
referencesExternalService (Только для чтения) |
Указывает, ссылается ли правило на какой-либо внешний сервис. |
Boolean |
|
requiredGeodatabaseClientVersion (Только для чтения) |
Необходимая версия клиента базы геоданных задается для каждого правила, в зависимости от того, какие функции ArcGIS Arcade используются в выражении скрипта. Например, если скрипт содержит операцию |
String |
|
scriptExpression (Только для чтения) |
Выражение Arcade, которое определяет правило. Примечание:Это свойство недоступно для правил Data Reviewer. |
String |
|
severity (Только для чтения) |
Определяет серьезность ошибки. Это свойство применимо только для типов правил проверки. |
Integer |
|
subtypeCode (Только для чтения) |
Код подтипа, которому назначено правило атрибута. Значение -1 указывает, что правило атрибута принадлежит всем или нескольким подтипам. |
Long |
|
subtypeCodes (Только для чтения) |
Список кодов подтипов, которым назначено правило атрибута. Пустой список указывает на то, что правило атрибута принадлежит всем подтипам. |
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" Subtypes codes: {ar.subtypeCodes}")
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" Subtypes codes: {ar.subtypeCodes}")
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" Subtypes codes: {ar.subtypeCodes}")
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")
Пример свойств атрибутивного правила Data Reviewer
Следующий автономный скрипт 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}")