打包图层 (数据管理)

描述

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

使用方法

  • 此工具遇到不支持的图层类型时将发出警告。不支持的图层将不会被写入到输出中。

  • 所有输入图层均必须具有描述,该工具才能执行。要添加描述,请右键单击该图层并单击属性,然后输入描述信息。

  • 注:
    ArcGIS Pro 中创建的图层包无法向后与 ArcGIS 10 和 ArcGIS 9.3.1 兼容。在 ArcGIS Pro 中创建的包只能在 ArcGIS Pro 中使用。
  • 选中将数据转换为文件地理数据库时(Python 中的 convert_data='CONVERT'),将出现以下情况:

    • 每个唯一数据会具有一个在合并文件夹或包中创建的文件地理数据库。
    • 压缩栅格和矢量格式会转换为一个文件地理数据库,并且原来的数据压缩将会丢失。
    • 不会合并企业级地理数据库数据。要将企业级地理数据库数据转换为文件地理数据库,请选中包括企业级地理数据库数据,而不是仅引用该数据

  • 取消选中将数据转换为文件地理数据库时(Python 中的 convert_data='PRESERVE'),将出现以下情况:

    • 将保留输入图层的数据源格式(如果可能)。
    • ADRG、CADRG/ECRG、CIB 和 RPF 栅格格式将始终转换为文件地理数据库栅格。ArcGIS 本身不能写出这些格式。始终将其转换为文件地理数据库栅格以提高效率。
    • 在输出文件夹结构中,文件地理数据库将合并到一个特定于版本的文件夹中,并且所有其他格式都将合并到 commonData 文件夹中。
    • 即使在范围参数中指定了范围,也不会裁剪压缩栅格和矢量格式。

  • 对于包含连接或参与关系类的图层,所有连接或相关的数据源都将合并到输出文件夹。默认情况下,连接或关联数据源将全部合并,或根据使用范围参数指定的范围,由选择相关行参数决定。

  • 对于要素图层,范围参数用来选择将要合并的要素。对于栅格图层,范围参数用来裁剪栅格数据集。

  • 有些数据集引用其他数据集。例如,您可能拥有一个引用了四个要素类的拓扑数据集。引用其他数据集的数据集示例还包括几何网络、网络和定位器。基于这些数据集类型合并或打包图层时,参与数据集也将被合并或打包。

  • 如果选中仅方案参数(Python 中的 schema_only='SCHEMA_ONLY'),则将仅合并或打包输入数据源的方案。方案是由字段和表定义、坐标系属性、符号系统、定义查询等组成的要素类或表的结构或设计。不会合并或打包数据或记录。

  • 不支持仅方案的数据源不能进行合并和打包。如果选中仅方案参数,并且此工具遇到“仅方案”不支持的图层,则会显示一条警告消息,并会跳过该图层。如果指定的唯一图层不支持“仅方案”,则该工具将失败。

  • 要对图层包 (.lpkx) 进行解包,请从目录窗口导航至包含该图层包的文件夹,右键单击,然后单击添加至当前地图。或者可使用提取包工具并指定一个输出文件夹。

    默认情况下,添加至当前地图将始终按照以下路径将包提取到用户配置文件中:C:\Users\<username>\Documents\ArcGIS\Packages

语法

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

要打包的图层。

Layer
output_file

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

File
convert_data
(可选)

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

  • CONVERT 数据将转换为文件地理数据库。此选项不适用于企业级地理数据库数据源。要转换企业级地理数据库数据,请设置 convert_arcsde_data='CONVERT_ARCSDE'
  • PRESERVE保留数据格式(如有可能)。这是默认设置。
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,...]
(可选)

指定将在结果包中创建的地理数据库版本。指定版本可实现与之前版本的 ArcGIS 共享包,并可支持向后兼容。

注:

保存为之前版本的包可能会丢失仅适用于较新版本的属性。

  • ALL 包中将包含与所有版本(ArcGIS Pro 1.2 和更高版本)均兼容的地理数据库和图层文件。
  • CURRENT 包中将包含与当前版本兼容的地理数据库和图层文件。
  • 2.x包中将包含与 2.0 和更高版本均兼容的地理数据库和图层文件。
  • 1.2包中将包含与 1.2 和更高版本均兼容的地理数据库和图层文件。
String
additional_files
[additional_files,...]
(可选)

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

File
summary
(可选)

将摘要信息添加到包的属性中。

String
tags
(可选)

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

String
select_related_rows
(可选)

指定是否将指定的范围应用至相关数据源。

  • KEEP_ONLY_RELATED_ROWS仅合并指定范围内与记录对应的相关数据。
  • KEEP_ALL_RELATED_ROWS相关的数据源将全部合并。这是默认设置。
Boolean

代码示例

PackageLayer 示例 1(Python 窗口)

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

# This code assumes the current project has a map open with a layer named "Streets"
import arcpy
outputFile = "c:/packages/streetsLayer.lpkx"
arcpy.PackageLayer_management("Streets", outputFile, "PRESERVE", 
                              "CONVERT_ARCSDE", "#", "ALL", "ALL", "CURRENT", 
                              "C:/readme.docx", "Summary of package", 
                              "parcel,montgomery")
PackageLayer 示例 2(独立脚本)

将给定工程的第一个地图中的所有要素图层打包到其各自的图层包文件中。

# import system modules
import os
import arcpy
prj = arcpy.mp.ArcGISProject(r"\\fileServe\projects\Timbuktu\Timbuktu.aprx")
maps = prj.listMaps()[0]
lyrs = maps.listLayers()
for lyr in lyrs:
    if lyr.isFeatureLayer:
        arcpy.PackageLayer_management(lyr, os.path.join("c:/temp", lyr.name + ".lpkx"))

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题