什么是对象 ID?
对象 ID 是唯一的非空整型列,用于在地理数据库的表中唯一地标识行。通过 ArcGIS 创建的表,或者在 ArcGIS 外部创建然后注册到 ArcSDE 和地理数据库的表,必须包含由地理数据库维护的对象 ID 列。ArcGIS 使用对象 ID 滚动并显示选择设置以及在要素上执行标识操作。

由于多数 ArcGIS Desktop 功能要求唯一的对象 ID,因此直接处理数据库时应谨慎,以避免对象 ID 重复。例如,按照一对多的关系创建视图时,便可能会使 ObjectID 重复。从而导致 ArcGIS Desktop 功能的表现不一致。
可采用三种方法将合适的对象 ID 添加到表中:
- 由地理数据库维护的对象 ID 列自动添加到使用 ArcGIS 创建的任何表中。
- 使用 sdetable 或 sdelayer 命令将表注册到 ArcSDE 时,指定用作对象 ID 字段的列。可指定现有的合适列为对象 ID,或者为新的对象 ID 列指定名称。如果指定新列名称,ArcSDE 将具有该名称的唯一非空整型列添加到表中。指定用作对象 ID 的列的同时,也指定了该列是由 ArcSDE 还是由您自己(用户维护)维护。
注意:
地理数据库要求由系统维护的对象 ID,因此,如果还要将表注册到地理数据库,则应将对象 ID 注册为由 ArcSDE 维护。或者,如果您定义了由用户维护的对象 ID,则当您接下来将表注册到地理数据库时,地理数据库将添加新的对象 ID 列。此新对象 ID 列将取代您在将表注册到 ArcSDE 时指定的列。该列也将用户定义的对象 ID 的数据类型从对象 ID 更改为长整型。
- 如果将表注册到没有合适列的地理数据库中,地理数据库将向表中添加满足对象 ID 要求的另一列。如果表已经包含名为对象 ID 的列,则地理数据库将添加名为 OBJECTID_ 的列。
3/7/2012