合并图层 (数据管理)
摘要
通过复制所有数据和引用的数据源将一个或多个图层合并到单个文件夹中。
插图
用法
当使用此工具遇到不支持的图层类型(逻辑示意图或工具图层)时将会发出警告。不支持的图层将不会被写入到输出。
合并图层或打包图层时,将使用命名约定整数 + 图层名称来重命名结果图层(例如 0001fGDB_Polylayer.lyr)。将添加数字序号以保持这些图层在内容列表中显示的顺序。解包时,数字序号越小的图层在内容列表中位于越靠前的位置。
选中将数据转换为文件地理数据库时
- 每个数据源都将在合并文件夹中创建唯一的文件地理数据库。
- 压缩栅格和矢量格式将被转换为文件地理数据库,并且原来的数据压缩将会丢失。
取消选中将数据转换为文件地理数据库时
- 将保留输入图层的格式,但有一个例外:在个人地理数据库中引用数据的图层将始终转换为文件地理数据库。
- 每个数据源都将保留其原始格式。文件地理数据库将被合并到版本特定的文件夹中,所有其他格式将被合并到 commonData 文件夹中。
- 指向 ArcSDE 数据源的图层将保留其连接信息并保持指向合并的文件夹或数据包中的 ArcSDE 数据源。
- ADRG、CADRG/ECRG、CIB 和 RPF 栅格格式将始终转换为文件地理数据库栅格。ArcGIS 无法直接写出这些格式。为了提高效率,它们将始终被转换为文件地理数据库栅格。
- 即使在范围参数中指定了范围,也不会裁剪压缩栅格和矢量格式。
-
对于包含连接的图层或加入到关系类中的图层,所有连接的或相关的数据源将被合并到输出文件夹中。
-
对于要素图层,范围参数用于选择将被合并的要素。对于栅格图层,范围参数用于裁剪栅格数据集。
-
某些数据集会引用其他数据集。例如,您可能有一个引用了四个要素类的拓扑数据集。引用了其他数据集的其他数据集示例包括几何网络、网络和定位器。基于这些类型的数据集合并或打包图层时,也将合并或打包这些参与的数据集。
如果选中仅方案参数,将仅合并该输入数据源的方案。方案是某个要素类或表的结构或设计,此表由字段和表定义、坐标系属性、符号系统、定义查询等组成。数据或记录不会被合并。
不会合并或打包不支持“仅方案”的数据源。如果选中了仅方案参数且工具遇到了不支持“仅方案”的图层,将显示警告信息并跳过此图层。如果指定的唯一图层不支持“仅方案”,则该工具将失败。
合并或打包 Coverage 或 VPF 图层会将整个 Coverage 或 VPF 数据集复制到合并的文件夹或数据包中。
语法
参数 | 说明 | 数据类型 |
in_layer [in_layer,...] |
将要合并的输入图层。 | Layer |
output_folder |
此输出文件夹将包含图层文件和合并的数据。 | Folder |
convert_data (可选) |
指定输入图层是转换为文件地理数据库还是保留原始格式。
| Boolean |
convert_arcsde_data (可选) |
指定输入图层是转换为文件地理数据库还是保留原始格式。
| Boolean |
extent (可选) |
通过使用格式 X-Min Y-Min X-Max Y-Max 在范围参数中手动输入坐标的方式来指定范围。此外,如果要使用特定图层的范围,只需将该图层名称添加到范围参数中即可。
| Extent |
apply_extent_to_arcsde (可选) |
指定将用于选择 ArcSDE 数据源的范围。
| Boolean |
schema_only (可选) |
指定是合并还是打包输入图层的方案。
| Boolean |
代码示例
以下 Python 窗口脚本演示了如何在立即模式下使用 ConsolidateLayer 工具。
import arcpy arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers" arcpy.ConsolidateLayer_management('Parcels.lyr', 'Consolidate_folder', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL","ALL")
查找位于指定文件夹中的所有图层文件,然后分别为这些文件创建独立的合并文件夹。
# Name: ConsolidateLayerEx1.py # Description: Find all the layer files that reside in a specified folder and create a consolidated folder for each layer file. # Author: ESRI # import system modules import os import arcpy from arcpy import env # Set environment settings env.overwriteOutput = True env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers" # Loop through the workspace, find all the layer files (.lyr) and create a consolidated folder for each # layer file found using the same name as the original layer file. for lyr in arcpy.ListFiles("*.lyr"): print "Consolidating " + lyr arcpy.ConsolidateLayer_management(lyr, os.path.splitext(lyr)[0], "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL")
查找位于指定工作空间中的所有图层文件,然后分别为这些文件创建单独的合并文件夹。
# Name: ConsolidateLayerEx2.py # Description: Find all the layer files that reside in a specified folder and create a single # consolidated folder that will contain all layers found. # Author: ESRI # import system modules import os import arcpy from arcpy import env # Set environment settings env.overwriteOutput = True env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers" # Find all the layer files (.lyr) in a workspace and create a single consolidated folder lyrs = arcpy.ListFiles("*.lyr") arcpy.ConsolidateLayer_management(lyrs, 'all_layers',"PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL")