摘要
有时,业务需要在要素类中配置一个 ID,该 ID 以特定数值开始,并按数据库序列中的预定义值增加。 对于给定工程,客户可能不想使用对象 ID 并将相同的字段增加 1。 本文将讨论如何在要素类表中定义唯一 ID 和增量序列。
过程
此工作流将使用两个地理处理工具来配置数据库序列,该序列从预定义值开始并自动递增,然后使用 Arcade 表达式将属性规则添加到要素类或表中,以在所需字段中使用此序列。- 配置数据库序列
- 在 ArcGIS Pro 中,搜索数据管理工具创建数据库序列。
- 在创建数据库序列地理处理工具中,在输入工作空间中选择所需企业级数据库,为序列名称提供名称,为序列起始 ID 提供数值,并提供序列增量值
- 配置属性规则
- 搜索数据管理工具添加属性规则。
- 在添加属性规则工具中,为规则提供名称和描述
- 对于类型,选择计算;对于输入表,选择所需要素类或表;对于序列,选择字段
- 取消选中可编辑。 由此,将自动生成序列值,由于这些值来自数据库,因此外业工作人员无法对其进行修改
- 对于触发事件,选择插入
- 在脚本表达式中,选择所需字段和类型:return "" + NextSequenceValue ('database_sequence_name')
现在,可以在要素类或表中添加要素,这些要素将自动填充定义的唯一 ID 并按序列中定义的值递增。注: 如果此要素类发布为服务并且在 Portal for ArcGIS 中写入此字段时出现问题,请确保创建数据库序列的用户与属性规则中使用的表的所有者相同,并且此用户在数据库中具有读写权限。