企业级地理数据库可以包含地理数据库注册对象的集合以及未注册到地理数据库的表和视图。您可以查看或查询这些未注册的对象;但是,要想让其参与地理数据库功能,必须将它们注册到地理数据库。
以下是地理数据库中未注册对象的示例:
- 在 ArcGIS 外部创建的视图或使用创建数据库视图地理处理工具创建的视图。
- 在 ArcGIS 外部使用数据库客户端工具创建的表。
- 使用创建未注册要素类或创建未注册表工具创建的表或要素类。
- 要作为地理数据库启用的先前存在于数据库中的对象。
使用企业级地理数据库注册表和视图的要求
可以编辑注册到地理数据库的表并完全参与地理数据库功能,例如,定义字段属性域的字类型、参与关系类、拓扑以及更多。对于数据库视图,注册到地理数据库可以只读参与到某些地理数据库功能,例如,在视图上定义地理数据库媒体数据以及将其包含在仅查询要素服务中的功能。
您的表或视图必须满足以下条件才能注册到地理数据库:
- 所使用的字段数据类型必须映射到 ArcGIS 数据类型。有关数据类型列表的信息,请参阅 ArcGIS 中支持的 DBMS 数据类型。
- 表或视图只能包含一个空间字段。
- 如果表或视图包含一个空间字段,则其只能存储一种几何类型(例如点、线或面)。
- 如果表或视图包含一个空间字段,则所有要素必须使用同一坐标系。
- 对于 Object ID 字段,地理数据库需要非空且唯一的字段以及整形数据类型。
- 注册到地理数据库的表或视图中只能存在一个 ArcGIS 数据类型为 ObjectID 的字段。
- 当注册表时,您可以为 Object ID 选择现有字段,如果未指定现有字段,则 ArcGIS 将向表添加一个新字段。
- 将表注册到地理数据库后,地理数据库将通过以唯一的 ID 号填充 Object ID 字段来对其进行维护。
警告:
如果在注册包含记录的表时选择了现有字段,请注意,如果该字段包含任何空值或重复值,则该字段的内容将被 ArcGIS 以一个 1 开头的值覆盖。如果现有字段值唯一且不为空,则 ArcGIS 插入的下一个值将为最大现有 ID 值 +1。例如,如果字段中的最大现有值为 204,则 ArcGIS 将插入的下一个值为 205。
- 注册视图时,必须指定一个现有字段来用作 Object ID 字段。由于无法通过 ArcGIS 编辑视图,地理数据库将不会维护 Object ID 字段。必须以唯一的非空数字预填充该字段。如果所选字段包含的现有值不唯一,则在通过 ArcGIS 查看或查询视图时,将不会看到全部记录。
将表或视图注册到地理数据库
按照以下步骤使用注册到地理数据库地理处理工具将表或视图注册到地理数据库:
- 在新工程或现有工程中,在目录窗格中转至数据库并连接到包含要注册的表或视图的企业级地理数据库。
请以表或视图所有者的身份连接,因为只有所有者方可将其注册到地理数据库。
- 在分析选项卡中,单击地理处理组中的工具按钮。搜索或浏览到注册到地理数据库工具,它位于“数据管理”工具箱的“地理数据库管理”工具集中。
可以通过右键单击表或视图,选择管理并单击注册到地理数据库来从表或视图中直接打开该工具。
- 使用注册到地理数据库工具,指定要注册的输入数据集,以及 ObjectID 字段。
- 注册表时,请选择一个现有整型列以用作 Object ID 字段或清空 Object ID 字段,该工具将随即向表添加 Object ID 字段。
- 要注册视图,需要用到 Object ID 字段参数。请选择一个包含唯一非空值的现有整型字段以用作 Object ID 字段。
- 如果表或视图包含空间字段,请提供以下信息:
- 从 Shape 字段下拉列表中选择空间字段名。
- 从几何类型下拉列表中,选择存储在 shape 字段中的几何类型。如果表或视图包含现有记录,则该参数将被自动填充。
- 从坐标系下拉列表中选择 shape 字段的坐标系。如果表或视图包含现有记录,则该参数将被自动填充。
- 指定表中数据的空间范围。
- 单击运行以执行工具并将表或视图注册到地理数据库。