ArcGIS 中的所有图层(包括查询图层、地理数据库中的图层和数据库中的图层)都需要唯一的标识符。
如果在地理数据库表或要素类中定义查询图层,则该表将始终拥有唯一的标识符字段:ObjectID 字段。
不过,在大多数情况下,您可以创建查询图层来访问数据库中的要素类和表格,或者也可以将数据库图层直接拖到 ArcGIS Desktop 客户端中。数据库表通常会包含一个唯一的标识符字段;因此您的数据库表很可能已经包含了一个可以用作唯一标识符的字段。
要在 ArcGIS 中用作唯一标识符,字段必须不为空、包含唯一值,并且属于以下数据类型之一:
- 整型(仅限正值)
- 字符串
- GUID
- 日期
由于唯一标识符字段中的值是用于识别 ArcGIS 中行或要素对象的唯一值,因此,该字段中的值必须始终唯一且不可为空。您必须确字段中的值满足这些要求。
如果 ArcGIS 检测不到合格的唯一标识符,就会在您将数据库表拖动到 ArcMap 中或验证新查询图层定义时提示您选择使用一个或多个字段。在本例中,ArcGIS 无法找到整型非空字段用作唯一标识符。您必须选择一个您确定非空且唯一的字段或字段组合用作表中各行的唯一标识符。
如果存在合适的字段,当您从目录树中拖动数据库表并将其放在 ArcMap 中或验证查询图层定义时,ArcGIS 会默认将其找到的第一个非空字段作为唯一标识符字段。此字段的值通常为适宜用作唯一标识符字段的值,不过,您也可以从唯一标识符字段列表中选择另一个合适的字段或字段组用作唯一标识符字段。请按下列步骤更改 ArcGIS 为数据库表使用的唯一标识符字段:
- 在 ArcMap 中,右键单击内容列表中的图层,然后单击属性。
- 单击源选项卡,然后单击更改查询。
将打开编辑查询图层 对话框。
- 单击显示高级选项,然后单击下一步。
- 选择用作唯一标识符的另一合适的字段或字段组,然后单击完成。
- 单击确认关闭图层属性对话框。