打包图层 (数据管理)

摘要

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

插图

Package Layer illustration
包含三个要素图层的解包图层包的文件夹结构。

用法

语法

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

要打包的图层。

Layer
output_file

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

File
convert_data
(可选)

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

  • CONVERT 数据将被复制到文件地理数据库中。
  • PRESERVE 将保留数据格式。这是默认设置。
Boolean
convert_arcsde_data
(可选)

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

  • CONVERT_ARCSDE ArcSDE 数据将被复制到文件地理数据库中。这是默认设置。
  • PRESERVE_ARCSDE 将保留 ArcSDE 数据并将在生成的合并文件夹或数据包中引用此数据。
Boolean
extent
(可选)

通过使用格式 X-Min Y-Min X-Max Y-Max 在范围参数中手动输入坐标的方式来指定范围。此外,如果要使用特定图层的范围,只需将该图层名称添加到范围参数中即可。

  • MAXOF输入的并集
  • MINOF输入的交集
  • DISPLAY与显示相同
  • <图层>与图层...相同
Extent
apply_extent_to_arcsde
(可选)

指定将用于选择 ArcSDE 数据源的范围。

  • ALL 将指定的范围应用于所有图层。这是默认设置。
  • ARCSDE_ONLY将指定的范围仅应用于 ArcSDE 图层。
Boolean
schema_only
(可选)

指定是合并还是打包输入图层的方案。

  • ALL 将合并或打包所有要素和记录。这是默认设置。
  • SCHEMA_ONLY 将仅合并或打包输入图层的方案。
Boolean
version
[version,...]
(可选)

指定输入图层是转换为文件地理数据库还是保留原始格式。如果存在多种版本,请使用分号来分隔各个参数。例如:"CURRENT;9.3.1"

  • CURRENT 输出地理数据库的版本与当前版本相同。
  • 10 输出地理数据库与版本 10 兼容。
  • 9.3.1输出地理数据库与版本 9.3.1 兼容。
String

代码示例

PackageLayer 示例(Python 窗口)

以下 Python 脚本演示了如何在 Python 窗口中使用 PackageLayer 工具。

import arcpy
arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers" 
arcpy.PackageLayer_management('Parcel.lyr', 'Parcel.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "AlL", "CURRENT")
PackageLayer 示例 1(独立 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.
# 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 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")
PackageLayer 示例 2(独立 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.
# 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 layer package.
lyrs = arcpy.ListFiles("*.lyr")
arcpy.PackageLayer_management(lyrs, 'all_layers.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL", "CURRENT")

环境

相关主题

许可信息

ArcView: 是
ArcEditor: 是
ArcInfo: 是

7/10/2012