创建数据加载工作空间 (数据管理)

摘要

创建可用于数据加载的数据加载工作空间。 输出工作空间包含一个 Microsoft Excel 工作簿集合。 这些工作簿可用于配置源和目标模式映射。

使用情况

  • 将使用源数据的几何确定生成的数据映射文件夹的类型。 例如,如果仅包括点要素,则仅生成一个点文件夹。 此工具支持表和要素类作为输入。

  • 每次运行工具时,都会生成一个新的工作空间。

  • 创建或指定一个映射表,用于匹配源模式和目标模式中的数据集、字段和属性域编码值描述。 该表用于双向匹配子字符串,因此顺序并不重要。 您可以使用该表创建匹配项或阻止匹配项。

  • 预测字段匹配使用距离算法在源模式和目标模式之间匹配数据集、字段和编码值描述。

  • 该工具支持以下源和目标数据类型:

    • 工作空间
      • 文件地理数据库
      • 移动地理数据库
      • 企业级地理数据库
      • 要素数据集
      • 要素服务
      • CAD 数据集(.dgn.dwg.dxf
    • 表格数据集
      • 要素类
      • 要素服务图层和表
      • Shapefile
      • .csv 和分隔文本文件
      • Excel 工作表
      • CAD 图层
      • dBase 文件

参数

标注说明数据类型
源到目标映射

定义如何将源数据映射到目标模式。 源和目标输入都支持工作空间和单个类。 当使用工作空间时,将使用名称相似性来匹配源模式和目标模式中的对象。

Value Table
输出文件夹

用于创建数据加载工作空间的输出文件夹。

Folder
预测字段匹配选项
(可选)

指定是否匹配字段名称或属性域值描述。

  • 字段名称相似性字段名称将基于源字段和目标字段之间的相似性进行匹配。
  • 属性域编码值描述相似性属性域值描述将基于源字段和目标字段之间的相似性进行匹配。 如果指定了此选项,且源字段或目标字段具有属性域,则不会根据名称匹配字段。
String
映射表
(可选)

用于执行数据集、值和属性域编码值描述的子字符串匹配的表。 使用该表创建匹配项或阻止匹配项。

Record Set
计算行计数统计数据
(可选)

指定是否计算源模式中字段的填充值的计数和百分比。

  • 选中 - 将计算填充值的计数和百分比。
  • 未选中 - 不会对字段值执行任何计算。 这是默认设置。
Boolean
按子类型创建匹配项
(可选)

指定是否按子类型创建单独的数据映射工作簿(如果存在)。

  • 选中 - 如果存在,则将为每个匹配项创建单独的数据映射工作簿。 如果存在子类型,则不会使用类名进行匹配。 这是默认设置。
  • 未选中 - 仅在类级别尝试数据集匹配。 如果类包含子类型,则将在数据映射工作簿中创建一个子类型表。

Boolean

派生输出

标注说明数据类型
数据加载工作空间

数据加载工作空间文件夹的路径。

Workspace

arcpy.management.CreateDataLoadingWorkspace(source_target_mapping, out_folder, {match_options}, {mapping_table}, {calc_stats}, {match_subtypes})
名称说明数据类型
source_target_mapping
[source_target_mapping,...]

定义如何将源数据映射到目标模式。 源和目标输入都支持工作空间和单个类。 当使用工作空间时,将使用名称相似性来匹配源模式和目标模式中的对象。

Value Table
out_folder

用于创建数据加载工作空间的输出文件夹。

Folder
match_options
[match_options,...]
(可选)

指定是否匹配字段名称或属性域值描述。

  • MATCH_FIELDS字段名称将基于源字段和目标字段之间的相似性进行匹配。
  • MATCH_VALUES属性域值描述将基于源字段和目标字段之间的相似性进行匹配。 如果指定了此选项,且源字段或目标字段具有属性域,则不会根据名称匹配字段。
String
mapping_table
(可选)

用于执行数据集、值和属性域编码值描述的子字符串匹配的表。 使用该表创建匹配项或阻止匹配项。

Record Set
calc_stats
(可选)

指定是否计算源模式中字段的填充值的计数和百分比。

  • CALC_STATS将计算填充值的计数和百分比。
  • NO_STATS不会对字段值执行任何计算。 这是默认设置。
Boolean
match_subtypes
(可选)

指定是否按子类型创建单独的数据映射工作簿(如果存在)。

  • MATCH_SUBTYPES如果存在,将为每个匹配项创建单独的数据映射工作簿。 如果存在子类型,则不会使用类名进行匹配。 这是默认设置。
  • NO_MATCH_SUBTYPES仅在类级别尝试数据集匹配。 如果类包含子类型,则将在数据映射工作簿中创建一个子类型表。
Boolean

派生输出

名称说明数据类型
out_loading_workspace

数据加载工作空间文件夹的路径。

Workspace

代码示例

CreateDataLoadingWorkspace 示例(Python 窗口)

以下独立脚本演示了如何使用 CreateDataLoadingWorkspace 函数。

import arcpy

arcpy.management.CreateDataLoadingWorkspace(
    [["C:/data/WaterUtilities.gdb/wControlValue", "C:/data/Water_AssetPackage.gdb/WaterDevice"]],
    "C:/data",
    "MATCH_FIELDS;MATCH_VALUES",
    None,
    "CALC_STATS",
    "MATCH_SUBTYPES",
)
CreateDataLoadingWorkspace 示例(独立脚本)

以下独立脚本演示了如何使用 CreateDataLoadingWorkspace 函数。

# Name: CreateDataLoadingWorkspace.py
# Description: Create a new Data Loading Workspace

# Import required modules
import os
import arcpy

# Source and target workspaces with the mapping of table name to table name.
source_workspace = "C:/data/WaterUtilities.gdb/WaterDistribution"
target_workspace = "C:/data/Water_AssetPackage.gdb/UtilityNetwork"
mapping = [
    ("wControlValve", "WaterDevice"),
    ("wHydrant", "WaterJunction"),
    ("wFitting", "WaterJunction"),
    ("wMain", "WaterLine"),
]

# Fully qualify the table names.
source_target = [(os.path.join(source_workspace, a), os.path.join(target_workspace, b)) for a, b in mapping]

# Set local variables.
output_folder = "C:/data"
mapping_table = "C:/temp/Default.gdb/DataReference_GenerateMappingTable"

arcpy.management.CreateDataLoadingWorkspace(
    source_target_mapping=source_target,
    out_folder=output_folder,
    match_options="MATCH_FIELDS;MATCH_VALUES",
    mapping_table=mapping_table,
    calc_stats=True,
    match_subtypes=True,
)

环境

此工具不使用任何地理处理环境。

相关主题