什么是对象 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