地理数据库可扩展标记语言 (XML) 代表了 Esri 的地理数据库与其他外部系统之间开放的信息交换机制。Esri 将完整的地理数据库方案和内容作为 XML 规范进行公开的发布和维护,并且提供了一些实现示例来阐述如何实现在异类系统之间共享数据更新。
通过使用地理数据库 XML 规范,极大地简化了地理数据库的 XML 地理空间信息双向交换。外部应用程序可以接收 XML 数据流,其中包括:
- 交换和共享全部(以及部分)地理数据库方案
- 交换完整无损的数据集
- 交换简单要素集(与 shapefile 交换非常相似)
- 使用 XML 流交换变更(增量)记录集,以在地理数据库和其他外部数据结构之间传送更新和变更
地理数据库 XML 是用于在 ArcGIS 用户和外部用户间共享数据的主要交换机制。
要访问有关地理数据库 XML 模式的白皮书,请参阅地理数据库的 XML 模式。
在 ArcGIS 中可创建三种类型的 XML 文档:工作空间文档、记录集文档和数据变更文档。
地理数据库 XML 工作空间文档
XML 工作空间文档用于存储地理数据库的所有内容或内容的任何子集。它包括所有方案信息和(可选)数据。
XML 工作空间文档用于共享方案信息,交换要素数据集及其所有内容,以及交换数据集和所有与选择要导出的数据集相关的关联数据元素。
作为 WorkspaceDefinition 的一部分而导出的方案、关系和行为信息包括:所有简单的和自定义的要素数据、在网络和拓扑中的参与情况、网络连通性和拓扑规则、简单关系和复合关系,以及与地理数据库数据集关联的任何其他信息。因此,如果导出 XML 文档,则可保留所有与地理数据库关联的行为并可重新构建此行为。
XML 工作空间文档包含两个元素:WorkspaceDefinition 和 WorkspaceData。
使用 WorkspaceDefinition 和 WorkspaceData,工作空间文档可包含地理数据库的方案及其表中的数据(可选)。将定义与实际数据分离具有几点优势。软件代理可只阅读文档的定义部分来了解它所包含的内容。由于数据具有可选性,因此工作空间文档可只用于传输方案信息。
对于表和要素类而言,定义部分中数据元素的名称与数据部分中表数据的名称是一致的。而其他数据集(如拓扑、几何网络或要素数据集),只会出现在定义部分中(它们没有要导出的数据)。
地理数据库记录集 (RecordSet) 文档
地理数据库记录集文档用于将单个要素类或表中的行导出为简单要素或属性记录。
导出到记录集文档与导出到 shapefile 相似。行会作为记录导出,并且不会将与地理数据库相关的附加信息写入输出文件中。
例如,不会导出拓扑或其他要素数据集信息。也不会导出与其他表中要素的关系。
地理数据库 XML 数据变更文档
作为地理数据库事务和版本管理的一部分,您可能希望共享和操作只变更记录集。XML 数据变更文档用于在地理数据库之间以及地理数据库与外部系统之间共享变更或更新。它通过只分发可使用版本化在地理数据库中追踪的变更,来完成此任务。
通过 ArcGIS 离线编辑框架,您可以从数据库中检出数据并将其检入到单独的地理数据库中,然后在并未连接到父数据库的情况下对数据进行编辑。完成编辑后,可以只将变更部分(并非所有数据)导出到 XML 文件中。随后,可使用此文件将变更检入到父数据库中。
这也是地理数据库复制的一个重要部分。
数据变更文档的主要信息是 UpdateGram,并且只会将 UpdateGram 其中的变更部分作为 XML 文档的一部分进行传送。
在 ArcGIS for Desktop 和地理处理中使用地理数据库 XML
ArcGIS for Desktop 和 ArcGIS 中的地理处理框架包含许多用于导入和导出地理数据的功能。在 ArcGIS 中可利用地理数据库 XML 来执行的一些典型任务,包括:
- 使用 XML 共享地理数据库。
- 复制整个地理数据库或要素数据集和所有相关信息集等子集。
- 复制单个表或栅格数据。
- 同步多个地理数据库复本之间的内容。
例如,使用 ArcCatalog 或 ArcMap 中的目录窗口,可以在目录树中右键单击某个地理数据库或要素数据集,然后创建 XML 工作空间文档。可使用 XML 工作空间文档来共享地理数据库方案或将内容、规则、对象和行为复制到其他地理数据库中。
使用 ArcGIS 中的地理处理功能,可以执行许多操作来同步和共享地理数据库之间的变更。