打包图层 (Data Management)

许可等级:BasicStandardAdvanced

摘要

对一个或多个图层以及所有引用的数据源进行打包可创建单个压缩的 .lpk 文件。

用法

语法

PackageLayer_management (in_layer, output_file, {convert_data}, {convert_arcsde_data}, {extent}, {apply_extent_to_arcsde}, {schema_only}, {version}, {additional_files}, {summary}, {tags})
参数说明数据类型
in_layer
[in_layer,...]

要打包的图层。

Layer
output_file

要创建的输出包文件 (.lpk) 的位置和名称。

File
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
version
[version,...]
(可选)

指定将在生成的包中创建的地理数据库版本。指定一个可与先前版本共享图层包的版本,并支持向后兼容。

  • ALL 包中包含与所有版本兼容的地理数据库和图层文件。(9.3.1 和更高版本)
  • CURRENT 包中包含与当前版本兼容的地理数据库和图层文件。
  • 10.1 包中将包含与版本 10.1 相兼容的地理数据库和图层文件。
  • 10 包中包含与版本 10.0 兼容的地理数据库和图层文件。
  • 9.3.1包中将包含与版本 9.3.1 相兼容的地理数据库和图层文件。
String
additional_files
(可选)

将附加文件添加到包中。诸如 .doc.txt.pdf 等附加文件可用于提供有关打包内容和目的的详细信息。

File
summary
(可选)

将汇总信息添加到包的属性中。

String
tags
(可选)

将标签信息添加到包的属性中。可以添加多个标签,标签之间用逗号或分号进行分隔。

String

代码实例

PackageLayer(打包图层)示例 1(Python 窗口)

以下 Python 脚本演示了如何在 Python 窗口中使用 PackageLayer(打包图层)工具。

import arcpy
arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers" 
arcpy.PackageLayer_management('Parcels.lyr', 'Parcel.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "AlL", "CURRENT", "C:/readme.docx","Summary of package","parcel,montgomery")
PackageLayer(打包图层)示例 2(独立 Python 脚本)

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

# Name: PackageLayerEx1.py
# Description:  Find all the layer files that reside in a specified folder and create a layer package 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 layer package using the same name as the original layer file.
for lyr in arcpy.ListFiles("*.lyr"):
    print "Packaging " + lyr
    arcpy.PackageLayer_management(lyr, os.path.splitext(lyr)[0] + '.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL", "CURRENT", "#","Summary of package","tag1, tag2")
PackageLayer(打包图层)示例 3(独立 Python 脚本)

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

# Name: PackageLayerEx2.py
# Description:  Find all the layer files that reside in a specified folder and create a single layer package 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 layer package.
lyrs = arcpy.ListFiles("*.lyr")
arcpy.PackageLayer_management(lyrs, 'all_layers.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL", "CURRENT", "#","Summary of package","tag1,tag2")

环境

相关主题

许可信息

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