ArcGIS 中的所有图层(包括查询图层、地理数据库中的图层和数据库中的图层)都需要唯一的标识符。
如果针对单个地理数据库表或要素类定义查询图层,请使用对象 ID 字段作为唯一标识符字段。
不过,在大多数情况下,您可以创建查询图层来访问数据库中的要素类和表格,或者也可以将数据库图层直接拖到 ArcGIS Pro 地图中。 数据库表通常会包含一个唯一的标识符字段;因此您的数据库表很可能已经包含了一个可以用作唯一标识符的字段。 如果要素类或表包含 32 位唯一非空整数,ArcGIS Pro 将检测到合格字段并将其设置为唯一标识符。
要在 ArcGIS Pro 中使用某字段作为唯一标识符,该字段必须不为空、必须包含唯一值,并且属于以下数据类型之一:
- 整型(仅限 32 位和 64 位正值)
- 字符串
- GUID
- 日期
- 仅日期
- 仅时间
该字段中的值必须始终唯一且不为空。 您必须确保字段中的值满足这些要求。
注:
ArcGIS 遇到空值时,您将接收到一个错误信息,不过,ArcGIS 并不强制要求查询图层或数据库表中使用的唯一标识符字段中各值的唯一性。 如果 ArcGIS 遇到不唯一的值,它不会返回任何错误;但是,可能会在 ArcGIS 的选择集或其他查询中发现不一致的结果。
要在引用已注册数据存储的要素图层(要素服务)中发布查询图层,则 ID 必须是单个、非空、唯一且自动递增的 32 位整型字段。
如果存在合适的 32 位整型字段,当您从目录窗格中拖动数据库表并将其放在地图中或验证查询图层定义时,ArcGIS 会默认将其找到的第一个非空字段作为唯一标识符字段。 此字段的值通常为适宜用作唯一标识符字段的值,不过,您也可以从唯一标识符字段列表中选择另一个合适的字段或字段组用作唯一标识符字段。 要选择自己的唯一标识符,则可以修改查询图层。