描述
用于将基础和测试方案进行比较,并报告两者在数据加载相关方面(例如要素类、表、空间参考和字段定义)存在的差异。
使用方法
此工具仅报告在数据库方案方面存在的差异,并不对其中的内容进行比较。
此基础文件被视为架构方案的权威文件,而测试文件包含的方案会将其与基础文件进行比较,以确定其是否包含需要的方案。
对 XML 工作空间文档进行比较。如果对地理数据库选择了 base_geodatabase_schema 或 test_geodatabase_schema 参数,则先将方案导出到 XML 工作空间文档,然后再进行比较。
下表说明了将比较哪些方案元素,并大概介绍了所得结果。
方案元素 结果描述 属性域
存在于基础方案但不存在于测试方案(或情况相反)的属性域和属性域值,或具有不同属性(例如编码值及其相关描述)的属性域和属性域值。
要素类
不存在于测试方案或基础方案的要素类,或具有不同属性(例如名称或空间参考)的要素类。
要素数据集
存在于基础方案但不存在于测试方案(或情况相反)的要素数据集,或具有不同属性(例如名称、数据集类型或空间参考)的要素数据集。
字段
存在于基础方案但不存在于测试方案(或情况相反)的字段,或具有不同属性(例如名称、类型、长度、精度和范围)的字段。
表
存在于基础方案但不存在于测试方案(或情况相反)的表,或具有不同属性(例如名称、别名和字段名)的表。
拓扑
存在于基础方案但不存在于测试方案(或情况相反)的拓扑,或具有不同属性(例如要素类和等级)的拓扑。
此工具不支持对关系类、注记、网络、宗地结构、几何网络和制图表达进行比较。
此工具不对系统生成的字段(如 OBJECTID、SHAPE.AREA 和 SHAPE.LEN)进行比较。
此工具不支持对包含重复表名的工作空间进行评估。
语法
arcpy.Reviewer.GeodatabaseSchemaCompare(base_geodatabase_schema, test_geodatabase_schema, output_folder_path, {ignore_options})
参数 | 说明 | 数据类型 |
base_geodatabase_schema | 这里介绍的 XML 文档或地理数据库包括权威版本的地理数据库方案。 | Workspace; File |
test_geodatabase_schema | 这里介绍的 XML 文档或地理数据库包括要与基础版本进行比较的方案。 | Workspace; File |
output_folder_path | 生成的比较报表所在的文件夹。该文件夹将包含支持派生 html_output 参数的其他文件夹和文件。 | Folder |
ignore_options [ignore_options; ignore_options,...] (可选) | 指示不进行比较的属性。
| String |
派生输出
名称 | 说明 | 数据类型 |
schema_match | 方案比较的结果。 | 布尔型 |
xml_output | 从方案比较中输出 XML 文件。 | 文件 |
html_output | 从方案比较中输出 HTML 报表。 | 文件 |
代码示例
GeodatabaseSchemaCompare 示例(独立脚本)
以下 Python 示例演示了如何使用 GeodatabaseSchemaCompare 工具。
# Name: SchemaCompareExample.py
# Description: Compares two schemas and reports their differences
# Author: Esri
# Date: September 2013
import arcpy
arcpy.CheckOutExtension("datareviewer")
# Define variables
base = "c:/data/edit_sample.xml"
test = "c:/data/edit_modifications.xml"
folder = "c:/data/sc_results"
ignoreOptions="IGNORE_DATABASETOPOLOGY;IGNORE_HASMS"
# Compare the workspaces
arcpy.GeodatabaseSchemaCompare_Reviewer(base,test,folder,ignoreOptions)
环境
许可信息
- Basic: 需要 Data Reviewer
- Standard: 需要 Data Reviewer
- Advanced: 需要 Data Reviewer