属性规则字典关键字

字典关键字用于显示属性规则功能的高级行为,例如在条件语句中返回自定义错误消息或对其他要素类中的要素执行编辑。在为属性规则创作 ArcGIS Arcade 表达式时,返回字典类型必须使用下面列出的保留关键字之一。要执行多个操作,请使用不同的关键字扩展字典。要了解有关如何使用这些字典关键字的详细信息,请参阅属性规则脚本表达式示例

注:

在定义 globalID 关键字参数时,请确保用单引号将该值括起来。

结果

提供有效返回值。可使用结果关键字返回值和其他字典关键字。

return {
    'result': 200
}

errorMessage

针对评估期间的失败,授权用户定义的错误消息。在 Arcade 表达式中创建逻辑语句以返回自定义错误消息时,请使用 errorMessage 关键字。此关键字无法在包含其他关键字的字典中返回。查看有关如何返回自定义错误消息的示例。

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。查看有关如何编辑其他要素类的示例。

对于公共设施网络,编辑关键字可用于通过在编辑字典中使用 associationType 关键字编辑关联

关键字参数说明

className

(必填)要修改的要素类或表的名称。值为要素类名称。

adds | updates | deletes

要创建的编辑类型。值为字典数组,详细说明了每种编辑类型的编辑。

注:

请勿创建用于执行递归编辑的脚本。如果脚本配置为执行触发或评估属性规则的编辑,则将创建一个无限循环。这将导致意外结果。

adds

在编辑字典内使用的关键字,用于对指定要素类或表执行插入。

关键字参数说明

属性

编辑指定字段。值为字段名称的字典和属性对。

几何

编辑几何。值为几何对象

associationType

公共设施网络中进行关联编辑。可能的值包括:

  • 在线
  • 容器
  • 内容
  • 结构
  • 已附加

下面是公共设施网络版本 4 及更高版本的其他可能值:

  • junctionEdgeFrom
  • junctionEdgeTo
  • midspan

fromTerminal

当 associationType 值为 connected、junctionEdgeFrom 或 junctionEdgeTo 时,要编辑的“自”终端。值为终端名称。

toTerminal

当 associationType 值为 connected、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。

属性

编辑指定字段。值为字段名称的字典和属性对。

几何

编辑几何。值为几何对象

associationType

公共设施网络中进行关联编辑。可能的值包括:

  • 在线
  • 容器
  • 内容
  • 结构
  • 已附加

下面是公共设施网络版本 4 及更高版本的其他可能值:

  • junctionEdgeFrom
  • junctionEdgeTo
  • midspan

fromTerminal

当 associationType 值为 connected、junctionEdgeFrom 或 junctionEdgeTo 时,要编辑的“自”终端。值为终端名称。

toTerminal

当 associationType 值为 connected、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        }]    }]
}