Свойства атрибутивных правил

Краткая информация

Функция Describe возвращает следующие свойства для наборов данных с добавленными атрибутивными правилами.

Атрибутивные правила можно добавлять в базе геоданных к классу пространственных объектов или таблице. Возвращаемое свойство Describe dataType - это dataType класса объектов или таблицы.

Свойства

СвойствоОписаниеТип данных
batch
(только чтение)

Обозначает выполнение правила в пакетном режиме.

  • True – правило выполняется в пакетном режиме.
  • False – правило выполняется не в пакетном режиме.

Правила вычислений могут возвращать либо true, либо false, но правила ограничений всегда возвращают false, а правила проверки всегда возвращают значение true.

Boolean
checkParameters
(только чтение)

Системное значение JSON, которое задает конфигурацию правила на базе Data Reviewer.

Более подробно об отдельных проверках ArcGIS Data Reviewer

Object
creationTime
(только чтение)

Дата и время создания атрибутивного правила.

DateTime
description
(только чтение)

Описание атрибутивного правила.

String
errorMessage
(только чтение)

Если атрибутивное правило содержит сообщение пользовательских ошибок (т.е. правила ограничений), это свойство вернет сообщение об ошибке, которое было назначено для этого правила.

String
errorNumber
(только чтение)

Если атрибутивное правило содержит номер пользовательской ошибки (т.е. правила ограничений), это свойство вернет номер ошибки, который был назначен для этого правила.

Long
evaluationOrder
(только чтение)

Если тип правила – вычисление, это значение задает порядок выполнения правила. Порядок оценки основан на порядке добавления правила в набор данных. Например, если Правило A было добавлено прежде Правила B, номер оценки будет ниже для Правила A.

Long
excludeFromClientEvaluation
(только чтение)

Возвращает логическое значение, описывающее, исключено ли правило из оценки клиента.

  • True – правило исключено из оценки клиента (только для сервера).
  • False – правило работает для всех клиентов.

Boolean
fieldName
(только чтение)

Если правилу атрибута присвоено поле (т.е. тип правила вычисления), это свойство возвращает имя поля.

String
id
(только чтение)

Возвращает идентификатор правила в виде целочисленного значения.

Integer
isEnabled
(только чтение)

Возвращает булево значение, описывающее, включено ли правило.

  • True – правило включено и будет учитываться.
  • False – правило отключено и не будет учитываться.

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
(только чтение)

Возвращает логическое значение, описывающее, разрешает ли правило редактирование атрибутивного поля, которое изменяется этим правилом.

  • True – редакторы могут редактировать атрибутивные значения.
  • False – редакторы не могут редактировать атрибутивные значения.

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))
Пример свойств атрибутивного правила 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("{}: {}".format(key, value))