Ключевые слова словаря определяют расширенное поведение правил атрибутов, например, появление пользовательских сообщений об ошибках в условных выражениях или выполнение редактирования объектов другого класса. При создании выражений 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
Ключевое слово, используемое в словаре редактирования для вставки в указанный класс пространственных объектов или таблицу.
Параметр ключевого слоя | Описание |
---|---|
attributes | Редактирование указанных полей. Значение – словарь пар имен полей и атрибутов. |
geometry | Редактирование геометрии. Значение – Объект геометрии. |
associationType | Вносит соединения правок в инженерную сеть. К возможным значениям относятся:
Ниже приведены дополнительные возможные значения для инженерной сети версии 4 и более поздних:
|
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 | Вносит соединения правок в инженерную сеть. К возможным значениям относятся:
Ниже приведены дополнительные возможные значения для инженерной сети версии 4 и более поздних:
|
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 }] }]
}