选择唯一标识符字段

ArcMap 中的所有图层都需要一个唯一标识符。因此,查询图层也必须含有一个唯一标识符。

通常,唯一标识符字段即是 ObjectID 属性,地理数据库中的所有对象均具有该属性。但是,由于查询图层也可以由未存储在地理数据库中的数据创建而成,因此各查询图层的字段集中未必都具有 ObjectID 字段。基于此,有必要指定将哪个字段或哪组字段用于生成唯一标识符。

默认情况下,ArcGIS 会在验证过程中将结果集中找到的第一个非空字段设置为唯一标识符字段。此字段的值通常为适宜用作唯一标识符字段的值,不过,您也可以通过在唯一标识符字段列表中选择其他字段来更改此属性。

仅某些字段类型可用作唯一标识符。这些字段类型包括整型、字符串型、GUID 和日期型。如果指定的是单个整型字段,则 ArcGIS 会直接使用该字段中的值来识别从查询图层返回的所有要素和行。但是,如果将单个字符串字段或一组字段用作唯一标识符,则 ArcGIS 必须将这些唯一值映射为一个整数。在系统需要使用 ObjectID 属性的任何时候(例如,创建地图选择内容或打开属性表时)均可在 ArcGIS 中完成此操作。

由于唯一标识符字段中的值是用于识别 ArcGIS 中行或要素对象的唯一值,因此,该字段中的值必须始终唯一且不可为空。您必须确保其满足此要求。不过,ArcGIS 并不强制要求查询图层的唯一标识符字段中的所有值必须唯一。但如果出现了不唯一值,ArcGIS 中某些元素的行为将无法预测。

您可以在唯一标识符列表中选择和取消选择字段。如果同时选择了多个字段,则这些字段中的值将作为键以生成一个唯一整数值。生成字段的名称将始终为 ESRI_OID,除非已存在具有该名称的字段。

注注:

ArcGIS 并不强制要求唯一标识符字段中的所有值必须为非空。如果 ArcGIS 遇到空值,您将收到一条错误消息。将由查询图层的创建者确保用作唯一标识符的所有值均不为空。您可以验证查询图层的结果集,以确保唯一标识符的所有值均不为空。

注注:

ArcGIS 并不强制要求唯一标识符字段中的值必须唯一。如果 ArcGIS 遇到不唯一的值,并它不会返回任何错误;但是,可能会在 ArcGIS 的选择集或其他查询中发现不一致的结果。


7/10/2012