加载数据的工作流策略
在决定是使用 ArcMap 中的对象加载器还是使用 ArcCatalog 或目录窗口中的简单数据加载器时,需要考虑若干事宜。其中最重要的是要考虑时间问题。由于简单数据加载器在加载数据时不对数据进行验证或处理,因此其速度比对象加载器要快。如果用户不受时间限制,使用对象加载器是很好的选择,因为该加载器可将数据加载到几何网络、与要素关联的注记以及具有关系的要素类中。简单数据加载器是允许您将数据加载到独立表的唯一方法。
将数据加载到几何网络中
如果用户受时间限制,则必须考虑到使用对象加载器将大量数据加载到网络要素类中可能需要花费很长时间,尤其在网络规模较大并且包含多个要素类时更是如此。 因此,如果要从头开始创建网络,则应在构建网络之前使用简单数据加载器加载所有数据。如果已构建网络,则不使用对象加载器,通过删除几何网络会节省时间,接下来使用简单数据加载器将数据加载到要素类中,然后重新构建网络。
将数据加载到版本化的要素类和表中
将数据加载到版本化的要素类和表中也需要一定的时间,要比将数据加载到未版本化的要素类和表中的时间长。如果要将数据迁移到地理数据库,应首先加载数据,然后再将数据注册为版本。在完成将数据和应用程序迁移到地理数据库这一过程后,便可将要素类和表注册为版本。然后,即可将所有更新加载到版本化的要素类和表中。
如果已将数据注册为版本并且需要将数据加载到版本化的要素类中,则最为简捷的方法就是使用对象加载器。在 ArcMap 编辑会话中加载数据可确保会对所做的更改进行合并,而且还可在保存新加载的要素之前查看其他编辑内容。同时,用户还可在需要时使用 ArcMap 的冲突解决功能。
但是,如果要加载多个要素并且需要考虑时间因素,则可执行以下操作,以更为节省时间的方式准备数据:
- 针对默认版本协调并提交数据库中各个未完成的版本。提交后,删除各个版本。
- 运行“压缩”命令压缩数据库。
- 取消将数据注册为版本。注:
如果未完成步骤 1 和 2 就取消将数据注册为版本,则这些版本中包含的所有编辑内容都将丢失。
- 删除所有几何网络。
- 使用 ArcCatalog 或目录窗口中的简单数据加载器将新数据加载到现有要素类中。
- 使用 ArcCatalog 中或目录窗口中的“构建几何网络”向导重新构建几何网络。
- 将数据注册为版本,然后继续生产过程。将数据注册为版本会自动更新要素类的数据库统计数据。
提示
- 如果网络中包含任何具有连接点和自定义拓扑的复杂交汇点要素,则无法使用此方法,因为批量重新构建网络的过程不会重新创建自定义拓扑。
- 重新构建网络的过程将重新连接所有可能已与网络断开连接的网络要素。
- 如果要向其中加载数据的任何要素类具有与要素关联的注记,则不能使用简单数据加载器。在这种情况下,必须使用对象加载器。
- 此方法不适用于某些工作流。如果有无法协调并提交到默认版本的未完成版本,则不能使用此方法。此类版本包括未完成的设计版本,这些设计版本是不完整的、未准备好用于提交或者是历史版本对于这种情况,需要使用对象加载器并在编辑会话中追加数据。
使用简单数据加载器或对象加载器时,数据将加载到增量表中。因此,在将数据加载到已注册为版本的任意要素类或表中(并且未将编辑内容移动到基表)后,将各版本与默认版本进行协调,然后对数据库运行压缩命令,以将所有记录从增量表推送到基表。与在增量表中保存大量数据相比,在基表中保存数据可获得更快的查询速度。
将数据加载到具有拓扑的要素类中
在创建拓扑之前加载数据可消除为插入到参与要素类中的新要素创建脏区所需的开销。如果在加载数据之后创建拓扑,将创建一个跨越所有要素的脏区,然后可以按验证拓扑中所述对此脏区进行验证。
如果要将数据加载到具有拓扑的要素类中,可以使用对象加载器或简单数据加载器来加载数据。但是,这两种工具在加载要素时都不会进行拓扑验证,因此最终都需要在加载过程完成后亲自验证拓扑。
加载来自其他坐标系的数据
假定您要加载的数据使用的坐标系与目标要素类的坐标系不同。例如,可能要将北美洲基准面 (NAD) 1927 坐标系中的要素加载到使用 NAD 1983 坐标系的要素类中。在加载要素之前,请使用“投影”工具将这些要素转换到新的坐标系。
将包含大文本字段的数据集从个人地理数据库加载到 ArcSDE 地理数据库
有时可能需要将数据从 ArcSDE 地理数据库移动到个人地理数据库,然后再移回到 ArcSDE 地理数据库。如果 ArcSDE 数据集中存在长度大于 255 个字符的文本字段,则将这些字段复制或加载到个人地理数据库中时,它们将存储于 Microsoft Access 的备注字段中。
ArcGIS 会将这些备注字段解释为 BLOB,并将其大小指定为 2,147,483,647 个字符。Access 中的备注字段不记录字段长度。由于实际上在字段中存储如此多字符的可能性不大,因此请确保在元数据中指明字段应有的长度。
如果尝试从个人地理数据库复制数据并将其粘贴回 ArcSDE 地理数据库,则由于粘贴操作试图创建长度为 2,147,483,647 个字符的文本字段,因此该操作将失败。大多数数据库管理系统不支持这种长度的文本字段。
要避免发生这种情况,请在 ArcSDE 地理数据库中创建要素类,并基于字段应有的长度来定义文本字段大小。然后,使用简单数据加载器或对象加载器来加载数据并将个人地理数据库文本字段映射到您在 ArcSDE 地理数据库的要素类中定义的文本字段。