描述
将地图和所有引用的数据源合并到一个指定的输出文件夹中。
使用方法
此工具遇到不支持的图层类型时会发出警告。不支持的图层将不会被写入到输出中。
选中将数据转换为文件地理数据库时(Python 中的 convert_data = 'CONVERT'),将出现以下情况:
- 每个唯一数据会具有一个在合并文件夹或包中创建的文件地理数据库。
- 压缩栅格和矢量格式会转换为一个文件地理数据库,并且原来的数据压缩将会丢失。
- 不会合并企业级地理数据库数据。要将企业级地理数据库数据转换为文件地理数据库,请选中包括企业级地理数据库数据,而不是仅引用该数据。
取消选中将数据转换为文件地理数据库时(Python 中的 convert_data = 'PRESERVE'),将出现以下情况:
- 将保留输入图层的数据源格式。例外格式包括诸如个人地理数据库数据 (.mdb)、VPF 数据和基于 Excel 电子表格或 OLEDB 连接的表等格式。64x 环境下不支持这些格式,且始终会将其转换为文件地理数据库。
- ADRG、CADRG/ECRG、CIB 和 RPF 栅格格式将始终转换为文件地理数据库栅格。ArcGIS 本身不能写出这些格式。始终将其转换为文件地理数据库栅格以提高效率。
- 在输出文件夹结构中,文件地理数据库将合并到一个特定于版本的文件夹中,并且所有其他格式都将合并到 commonData 文件夹中。
- 即使在范围参数中指定了范围,也不会裁剪压缩栅格和矢量格式。
对于包含连接或参与关系类的图层,所有连接或相关的数据源都将合并到输出文件夹。默认情况下,连接或关联数据源将全部合并,或根据使用范围参数指定的范围,由选择相关行参数决定。
有些数据集引用其他数据集。例如,您可能拥有一个引用了四个要素类的拓扑数据集。引用其他数据集的数据集示例还包括几何网络、网络和定位器。基于这些数据集类型合并或打包图层时,参与数据集也将被合并或打包。
对于要素图层,范围参数用来选择将要合并的要素。对于栅格图层,范围参数用来裁剪栅格数据集。
语法
arcpy.management.ConsolidateMap(in_map, output_folder, {convert_data}, {convert_arcsde_data}, {extent}, {apply_extent_to_arcsde}, {preserve_sqlite})
参数 | 说明 | 数据类型 |
in_map | 要合并的地图文档 (.mxd)。 | ArcMap Document |
output_folder | 此输出文件夹将包含合并的地图和数据。 | Folder |
convert_data (可选) | 指定输入图层是转换为文件地理数据库还是保留原始格式。
| Boolean |
convert_arcsde_data (可选) | 指定是将输入企业级地理数据库图层转换为文件地理数据库,还是保留其原始格式。
| Boolean |
extent (可选) | 通过在范围参数中按 X-Min Y-Min X-Max Y-Max 格式手动输入坐标来指定范围。要使用特定图层的范围,请指定图层名称。
| Extent |
apply_extent_to_arcsde (可选) | 指定是将指定范围应用到所有图层,还是仅应用到企业级地理数据库图层。
| Boolean |
preserve_sqlite (可选) | 可以将输入 SQLite 数据保留为 SQLite 输出,而无需转换为文件地理数据库格式。当输入数据为 SQLite 时,此参数将覆盖 convert_data 参数。如果输入数据为 SQLite 网络数据集,则输出将始终为 SQLite。
| Boolean |
代码示例
ConsolidateMap 示例 1(Python 窗口)
以下 Python 脚本演示了如何在 Python 窗口中使用 ConsolidateMap 工具:
import arcpy
arcpy.env.workspace = "C:/arcgis/ArcTutor/Editing"
arcpy.ConsolidateMap_management('Exercise1.mxd', 'Consolidate_folder', 'PRESERVE', 'CONVERT_ARCSDE')
ConsolidateMap 示例 2(独立脚本)
查找并合并位于指定文件夹中的所有地图文档。
# Name: ConsolidateMap.py
# Description: Find all the map documents that reside in a specified folder and create a consolidated
# folder for each map document found.
# import system modules
import os
import arcpy
# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = 'C:/arcgis/ArcTutor/Editing'
# Loop through the workspace, find all the mxds and create a consolidated folder using the same
# name as the original mxd
for mxd in arcpy.ListFiles('*.mxd'):
print('Consolidating ' + mxd)
arcpy.ConsolidateMap_management(mxd, os.path.splitext(mxd)[0], 'PRESERVE', 'CONVERT_ARCSDE')
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是