Ключевые слова словаря для правил атрибутов

Ключевые слова словаря определяют расширенное поведение правил атрибутов, например, появление пользовательских сообщений об ошибках в условных выражениях или выполнение редактирования объектов другого класса. При создании выражений ArcGIS Arcade для правил атрибутов тип возвращаемого словаря должен использовать одно из зарезервированных ключевых слов, перечисленных ниже. Чтобы выполнить несколько операций, расширьте словарь дополнительными ключевыми словами. Подробнее о работе с ключевыми словами словаря см. в разделе Примеры выражений скриптов атрибутивных правил.

Примечание:

При задании параметров ключевого слоя globalD или globalIDs убедитесь, что значение заключено в одинарные кавычки.

result

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

return {
    'result': 200
}

errorMessage

Задает пользовательское сообщение об ошибке, появляющееся в случае сбоя во время оценки. Используйте ключевое слово errorMessage при создании логических выражений в выражениях Arcade, чтобы появлялись заданные пользователем сообщения об ошибках. Это ключевое слово не может быть возвращено в словаре с другим ключевым словом. См. пример возврата пользовательского сообщения об ошибке.

return {
    "errorMessage": "Error message text"
}

calculationRequired

Помечает другие объекты как требующие оценки правилами пакетного вычисления. Когда используется это ключевое слово, соответствующие объекты помечаются как требующие оценки путем изменения их атрибута Статус оценки. Эти ключевые слова могут использоваться только с правилами вычислений, и при этом необходимо, чтобы опция Исключить из оценки приложения имела значение true. См. пример отмечания других объектов как требующих оценки.

Параметр ключевого слояОписание

className

(обязательно) Имя класса объектов или таблицы, которые изменяются. Значение – имя класса объектов.

objectID | globalID

(обязательно) Массив изменяемых ObjectId или GlobalID. Значение – массив ObjectID или GlobalID.

return {
    'calculationRequired': [{
        'classname': 'featureclass_name',        'globalIDs': ['{8B421724-32D0-408A-A8EE-CCC2B064D52B}']    }]
}

validationRequired

Помечает другие объекты как требующие оценки правилами проверки. Когда используется это ключевое слово, соответствующие объекты помечаются как требующие оценки путем изменения их атрибута Статус проверки. Это ключевое слово могут использоваться только с правилами вычислений, и при этом необходимо, чтобы опция Исключить из оценки приложения имела значение true. См. пример отмечания других объектов как требующих оценки.

Параметр ключевого слояОписание

className

(обязательно) Имя класса объектов или таблицы, которые изменяются. Значение – имя класса объектов.

objectID | globalID

(обязательно) Массив изменяемых ObjectId или GlobalID. Значение – массив ObjectID или GlobalID.

return {
    'validationRequired': [{
        'classname': 'featureclass_name',        'globalIDs': ['{60905A3D-9783-435D-B4C9-AA4ADA59AD32}']    }]
}

редактирование

Выполняет вставку, обновление и удаление объектов заданных классов объектов. Эти ключевые слова могут использоваться только с правилами вычислений, и при этом необходимо, чтобы опция Исключить из оценки приложения имела значение true. См. пример редактирования другого класса объектов.

Для инженерной сети ключевое слово edit может использоваться для редактирования соединений с помощью ключевого слоя associationType в словаре edit.

Параметр ключевого слояОписание

className

(обязательно) Имя класса объектов или таблицы, которые изменяются. Значение – имя класса объектов.

adds | updates | deletes

Тип редактирования. Значение – массив словарей, детализирующих изменения для каждого типа редактирования.

Примечание:

Не создавайте скрипт, выполняющий рекурсивное редактирование. Если для скрипта настроено редактирование, отслеживающее или оценивающее правило атрибутов, будет создан бесконечный цикл. Это приведет к некорректным результатам.

adds

Ключевое слово, используемое в словаре редактирования для вставки в указанный класс пространственных объектов или таблицу.

Параметр ключевого слояОписание

attributes

Редактирование указанных полей. Значение – словарь пар имен полей и атрибутов.

geometry

Редактирование геометрии. Значение – Объект геометрии.

associationType

Вносит соединения правок в инженерную сеть. К возможным значениям относятся:

  • connected
  • container
  • content
  • structure
  • attached

Ниже приведены дополнительные возможные значения для инженерной сети версии 4 и более поздних:

  • junctionEdgeFrom
  • junctionEdgeTo
  • midspan

fromTerminal

Значение Терминала «От» для редактирования, когда соединяется значение associationType, junctionEdgeFrom или junctionEdgeTo. Значение – имя терминала.

toTerminal

Значение Терминала «К» для редактирования, когда соединяется значение associationType, junctionEdgeFrom или junctionEdgeTo. Значение – имя терминала.

isContentVisible

Определяет, будет ли содержимое видимым для соединения содержания. Значение – true или false.

percentAlong

Процент вдоль линии или ребра при редактировании среднего значения associationType. Это значение представляет собой процент в диапазоне от 0 до 1.

return {
    'edit': [{
        'className': 'b_edit_dict',        'adds': [{
            'attributes': {
                'field_name': 11            },            'geometry': Geometry({
                'x': -76.8375008,                'y': 39.4949383,                'spatialReference': {
                    'wkid': 4326                }
            })        }]    }]
}
"edit": [{
    "className": "ElectricDistributionJunctionObject",    "adds": [{
        "percentAlong": 0.5,        "associationType": 'midspan'    }]
}]
}
return {
    "edit": [{
        "className": "ElectricDistributionJunctionObject",        "adds": [{
            "attributes": {
                "assetgroup": 3,                "assettype": 1            },            "toTerminal": "Load",            "associationType": "junctionEdgeFrom"
        }]    }]
}

updates

Ключевое слово, используемое в словаре редактирования для обновлений в указанный класс пространственных объектов или таблицу.

Параметр ключевого слояОписание

objectID | globalID

(обязательно)Значение ObjectID или GlobalID редактируемого объекта. Значение – ObjectID или GlobalID.

attributes

Редактирование указанных полей. Значение – словарь пар имен полей и атрибутов.

geometry

Редактирование геометрии. Значение – Объект геометрии.

associationType

Вносит соединения правок в инженерную сеть. К возможным значениям относятся:

  • connected
  • container
  • content
  • structure
  • attached

Ниже приведены дополнительные возможные значения для инженерной сети версии 4 и более поздних:

  • junctionEdgeFrom
  • junctionEdgeTo
  • midspan

fromTerminal

Значение Терминала «От» для редактирования, когда соединяется значение associationType, junctionEdgeFrom или junctionEdgeTo. Значение – имя терминала.

toTerminal

Значение Терминала «К» для редактирования, когда соединяется значение associationType, junctionEdgeFrom или junctionEdgeTo. Значение – имя терминала.

isContentVisible

Определяет, будет ли содержимое видимым для соединения содержания. Значение – true или false.

percentAlong

Процент вдоль линии или ребра при редактировании среднего значения associationType. Это значение представляет собой процент в диапазоне от 0 до 1.

return {
    'edit': [{
        'className': 'b_edit_dict',        'updates': [{
            'globalID': '{7EBAB596-E9DB-40D8-9756-B2EBED2500B7}',            'attributes': {
                'field_name': 22            }
        }]    }]
}
return {
    "result": $feature.assetid,    "edit": [{
        "className": "electricdistributionassembly",        "updates": [{
            "objectID": feature_objectid,            "associationType": 'container'        }]    }]
}

deletes

Ключевое слово, используемое в словаре редактирования для удаления указанных объектов в классе пространственных объектов или таблице.

Параметр ключевого слояОписание

objectID | globalID

(обязательно)Значение ObjectID или GlobalID редактируемого объекта. Значение – ObjectID или GlobalID.

return {
    'edit': [{
        'className': 'b_edit_dict',          'deletes': [{
            'objectID': 22        }]    }]
}