合并图层 (Data Management)

许可等级:BasicStandardAdvanced

摘要

通过复制引用的所有数据源将一个或多个图层合并到单个文件夹中。

用法

语法

ConsolidateLayer_management (in_layer, output_folder, {convert_data}, {convert_arcsde_data}, {extent}, {apply_extent_to_arcsde}, {schema_only})
参数说明数据类型
in_layer
[in_layer,...]

要合并的输入图层。

Layer
output_folder

此输出文件夹将包含图层文件和合并的数据。

Folder
convert_data
(可选)

指定是将输入图层转换为文件地理数据库,还是保留其原始格式。

  • CONVERT 数据将转换为文件地理数据库。
    注注:

    此参数不适用于企业级地理数据库数据源。要转换企业级地理数据库数据,请将 convert_arcsde_data 设置为 CONVERT_ARCSDE。

  • PRESERVE保留数据格式(如有可能)。这是默认设置。
    注注:

    此规则的例外情况包括 64x 环境下不支持的格式(个人地理数据库 (.mdb) 数据、VPF 数据和基于 Excel 电子表格或 OLEDB 连接的表的格式),以及 ArcGIS 本身无法写出的栅格格式(ADRG、CADRG/ECRG、CIB 和 RPF)。

Boolean
convert_arcsde_data
(可选)

指定是将输入企业级地理数据库图层转换为文件地理数据库,还是保留其原始格式。

  • CONVERT_ARCSDE 企业级地理数据库数据将转换为文件地理数据库,并将包含在合并文件夹或包中。这是默认设置。
  • PRESERVE_ARCSDE 将保留企业级地理数据库数据,并将在合并文件夹或包中对其进行引用。
Boolean
extent
(可选)

使用格式 X-Min Y-Min X-Max Y-Max 在范围参数中手动输入坐标指定范围。要使用特定图层的范围,请指定图层名称。

  • MAXOF输入的并集
  • MINOF输入的交集
  • DISPLAY与当前显示相同的范围
  • <Layer>与指定图层相同的范围
Extent
apply_extent_to_arcsde
(可选)

确定指定范围是应用到所有图层,还是仅应用到企业级地理数据库图层。

  • ALL 指定的范围将应用到所有图层。这是默认设置。
  • ARCSDE_ONLY指定范围仅应用到企业级地理数据库图层。
Boolean
schema_only
(可选)

指定是否仅合并或打包输入图层的方案。

  • ALL 将合并或打包所有要素和记录。这是默认设置。
  • SCHEMA_ONLY 仅合并或打包输入图层的方案。
Boolean

代码实例

ConsolidateLayer 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 ConsolidateLayer 工具。

import arcpy
arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers" 
arcpy.ConsolidateLayer_management('Parcels.lyr', 'Consolidated_folder', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL","ALL")
ConsolidateLayer 示例 2(独立 Python 脚本)

查找位于指定文件夹中的所有图层文件,然后分别为这些文件创建独立的合并文件夹。

# Name: ConsolidateLayerEx1.py
# Description:  Find all the layer files that reside in a specified folder and create a consolidated folder for each layer file.

# 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")
ConsolidateLayer 示例 3(独立 Python 脚本)

查找位于指定工作空间中的所有图层文件,然后分别为这些文件创建单独的合并文件夹。

# 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.

# 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")

环境

相关主题

许可信息

ArcGIS for Desktop Basic:是
ArcGIS for Desktop Standard:是
ArcGIS for Desktop Advanced:是
9/15/2013