创建数据加载工作空间工具可创建数据加载工作空间、数据参考工作簿和映射工作簿。
数据加载工作空间
数据加载工作空间包含文件夹、Microsoft Excel 工作簿,以及可帮助将数据从源方案映射到目标方案的其他项目。 下面介绍数据加载工作空间的文件夹结构。
- Data Mapping 文件夹包含以下文件夹,具体取决于源数据:
- Points - 包含已映射的每个源点数据集的工作簿。
- Polygons - 包含已映射的每个源面数据集的工作簿。
- Polylines - 包含已映射的每个源折线数据集的工作簿。
- Table - 包含已映射的每个源表数据集的工作簿。
- GlobalLookup - 包含可用于创建要在所有映射工作簿中使用的查找表的 GlobalLookup.xlsx 工作簿。
- Scripts 文件夹包含以下脚本文件,您可以使用自定义函数来处理数据。 这些函数可以在映射工作簿的 Expression 列中使用。
- base.py - 在映射工作簿中使用此文件中的基本函数。
- shape_operations.py - 在映射工作簿中使用该文件的形状操作函数。
- user.py - 使用此文件来实现自定义功能。
- Domains 文件夹包含工作簿,其中包含源工作空间和目标工作空间中所有域的模式信息。
- DataReference.xlsx 文件包含源、目标和映射工作簿的路径以及数据加载设置。
数据参考工作簿
数据参考工作簿包括源、目标和映射工作簿的路径。 如果其中任何项目的位置发生更改,您可以手动更新路径。 其他列控制如何将数据从源加载到目标,包括某些地理处理环境设置。
以下是列定义:
- Source- 源数据集位置。
- SourceDefinitionQuery- 编写 SQL 查询以选择要映射到目标数据集的源数据集的子集。 例如,使用 Type = 0 以仅选择属性类型等于 0 的记录加载到目标数据集中。
- Target- 目标数据集位置。
- TargetDeleteQuery- 编写 SQL 查询以在加载之前有选择地从目标数据集中删除数据。 例如,1=1 删除目标数据集中的所有现有数据。
- MappingWorkbook - 数据加载工作空间中数据映射工作簿位置的链接。
- Enabled - 布尔值指定在数据加载过程中是否处理或跳过映射工作簿。 默认值为 True。
- MaintainAttachments - 布尔值指定在数据加载过程中是否保留附件。 默认值为 True。
- PreserveGlobalIds - 布尔值指定在数据加载过程中是否保留全局 ID。 默认值为 False。 当加载到服务时,无法保留全局 ID。
- GeographicTransformations- 加载数据时定义要使用的有效地理变换。
数据映射工作簿
数据映射工作簿位于数据映射文件夹中,并按几何类型组织。 每个数据映射工作簿对应于数据参考工作簿中定义的源对和目标对之一。 使用这些工作簿可以使用下述选项定义如何将数据从源映射到目标。
映射工作表
使用此工作表定义字段映射。 工作表在工作簿中以绿色高亮显示。
以下是列定义:
- TargetField- 目标数据集的字段。
- FieldType- 目标数据集中每个字段的字段类型。
- Expression- 通过从下拉菜单中选择字段或编写Python表达式来直接映射字段。 例如,这可以引用外部 Python 函数或常量值(例如数字或字符串)。
- LookupSheet - 指定查找工作表。 这必须与 LookupKeys 和 LookupValue 列一起使用。
- LookupKeys - 指定查找工作表中的一列或多列用作键。 要使用多列,请用逗号分隔它们。
- LookupValue - 指定查找工作表中要用作目标值的列。
- LookupDefault - 使用查找工作表时,此字段可用于定义默认值。 空值和查找工作表中不匹配的值将分配该值。 此列可选,如果不使用默认值,则可以留空。
映射工作表验证
工作簿中的条件格式使用不同的颜色来表示特定类型的错误和警告。 各颜色的具体含义如下:
- 实红色 - 使用实红色高亮显示的像元表示源字段和目标字段之间存在无效的数据类型。 这意味着源和目标数据类型在处理时极不可能兼容,通常需要进行修改。
- 实橙色 - 使用实橙色高亮显示的像元表示源字段的数据类型可能对目标字段无效。 源和目标数据类型可能不兼容,需要进一步评估。
- 实浅蓝色 - 使用实浅蓝色高亮显示的像元表示 Expression 列和查找列中都填入了值。 表达式列或查找列只能有一个被填充,不能同时存在值。
- 红色轮廓 - 红色轮廓的像元表示查找列中缺少值。 当使用查找表时,LookupSheet、LookupKeys 和 LookupValue 列必须填入值。
- 实深蓝色 - 使用实深蓝色高亮显示的像元表示字段名称在 TargetField 列中有重复。 该列中的所有值必须唯一,并与目标方案相对应。
查找工作表
使用查找工作表定义源到目标值映射。 它们在映射工作表中用作查找键和查找值。 系统会自动为源数据中的所有编码值属性域创建一个工作表,其中的列包含域代码和描述。 可以手动添加表示源数据中字段的其他列以支持多值查找。 这些工作表在工作簿中以蓝色高亮显示。
如果创建数据加载工作空间工具的预测字段匹配选项参数设置为属性域编码值描述相似性,则将在源域和目标域之间自动生成查找工作表。 将首先添加源数据列,然后添加任何匹配的目标数据列。
全局查找工作簿
全局查找工作簿的功能与本地查找工作表相同,但它允许在多个映射工作簿中使用相同的查找工作表。 全局查找工作簿位于数据加载工作空间的 DataMapping\GlobalLookup 目录中。 引用全局查找工作表时,应在映射工作表的 LookupSheet 列中将查找表名称括在方括号中。 例如,如果全局查找工作表名为“Materials”,则在映射工作表的 LookupSheet 列中应将其写为 [Materials]。 这表示数据加载工具将从全局查找工作表中检索值,而不是本地查找工作表。
模式工作表
使用这些工作表查看有关源数据集和目标数据集的模式信息。 它们用于构建映射工作空间,但不用于处理。 这些工作表在工作簿中以黄色高亮显示。
信息工作表
使用此工作表可以选择定义源子类型值。 此工作表在工作簿中以橙色高亮显示。
数据映射选项
数据映射工作簿中有许多用于映射数据的选项。 可以使用 Lookup 和 Expression 列,但每个目标字段只能使用一种方法。 查看所有选项以确定最适合数据加载过程的选项。 下面描述的选项在映射工作表中配置。
表达式
Expression 列可用于直接映射具有兼容数据类型的字段。 如果某些源字段和目标字段具有相同的字段名称,则会自动匹配。 检查所有自动匹配的字段以验证源数据类型和目标数据类型是否匹配,以及如果存在编码域,则值是否相等。
Expression 列还可以自定义为使用直接写入 Excel 的 Python 表达式或调用 Scripts 文件夹中的函数。 以下是最佳选项的场景:
- 将字段值转换为不同的数据类型
- 将所有源值映射到一个目标值
- 创建全局唯一标识符 (GUID)
- 执行形状操作以在几何类型之间进行转换
映射表
映射表允许添加或覆盖创建数据加载工作空间工具生成的匹配。 映射表也可以用于阻止特定的匹配项。 创建映射表时,需指定源数据如何映射到目标数据集。 这为数据加载过程提供更高的控制,确保字段、属性和域描述的精确映射。 使用映射表是可选的,但当启用时,创建数据加载工作空间工具会将映射表作为输入。 它会考虑表中指定的映射,并利用这些映射来帮助生成匹配项和阻止项。
有关映射表的详细信息,请参阅生成映射表工具文档。