打包图层 (数据管理)

摘要

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

使用情况

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

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

  • 注:

    ArcGIS Pro 中创建的图层包无法向后与 ArcGIS 10 和 ArcGIS 9.3.1 兼容。 在 ArcGIS Pro 中创建的包只能在 ArcGIS Pro 中使用。

  • 选中将数据转换为文件地理数据库参数时,将出现以下情况:

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

  • 未选中将数据转换为文件地理数据库参数时,将出现以下情况:

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

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

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

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

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

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

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

    默认情况下,添加至当前地图可将包提取到 C:\Users\<username>\Documents\ArcGIS\Packages 下的用户配置文件中。 要更改提取位置,请在共享和下载选项对话框上更新其他包和文件下的路径。

参数

标注说明数据类型
输入图层

将进行打包的图层。

Layer; Table View
输出文件

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

File
将数据转换为文件地理数据库
(可选)

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

  • 选中 - 所有数据将转换为文件地理数据库。 此选项不适用于企业级地理数据库数据源。 要包括企业级地理数据库数据,请选中包括企业级地理数据库数据,而不是仅引用该数据参数。
  • 未选中 - 保留数据格式(如有可能)。 这是默认设置。
Boolean
包括企业级地理数据库数据,而不是引用该数据
(可选)

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

  • 选中 - 所有企业级地理数据库数据源都将转换为文件地理数据库。 这是默认设置。
  • 未选中 - 将保留所有企业级地理数据库数据源,并在生成的包中对其进行引用。
Boolean
范围
(可选)

指定用于选择或裁剪要素的范围。

  • 当前显示范围 地图视图 - 范围基于活动地图或场景。
  • 绘制范围 构造直角并完成草图 - 范围将基于在地图或场景上绘制的矩形。
  • 图层范围 图层 - 范围基于活动地图图层。 选择可用图层或者使用所有图层中的数据范围选项。 每个地图图层具有以下选项:

    • 所有要素 全选 - 所有要素的范围。
    • 选定要素 基于选定要素的区域 - 选定要素的范围。
    • 可见要素 Extent Indicator - 可见要素的范围。

  • 浏览 浏览 - 范围将基于数据集。
  • 输入的交集 相交 - 范围将为所有输入的相交范围。
  • 输入的并集 联合 - 范围将为所有输入的合并范围。
  • 剪贴板 粘贴 - 可在剪贴板中复制和粘贴范围。
    • 复制范围 复制 - 将范围和坐标系复制到剪贴板。
    • 粘贴范围 粘贴 - 从剪贴板粘贴范围和坐标系。 如果剪贴板不包含坐标系,则范围将使用地图的坐标系。
  • 重置范围 重置 - 将范围重置为默认值。

当手动提供坐标时,坐标必须为数值,并且位于活动地图的坐标系中。 地图可能使用与提供的坐标不同的显示单位。 在南纬和西经坐标中使用负号。

Extent
仅将范围应用于企业级地理数据库图层
(可选)

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

  • 未选中 - 指定范围将应用到所有图层。 这是默认设置。
  • 选中 - 指定范围将仅应用到企业级地理数据库图层。
Boolean
仅方案
(可选)

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

  • 未选中 - 输入图层的所有要素和记录都将包括在合并文件夹或包中。 这是默认设置。
  • 选中 - 仅合并或打包输入图层的方案。 输出文件夹中将不合并或打包任何要素或记录。
Boolean
包版本
(可选)

指定图层文件将兼容并保留的 ArcGIS Pro 版本。 某些对象(例如工程、地图和图层)可以保存到特定版本。 如果工程将与旧版本一起使用,则保存到早期版本会很有帮助;但是,如果早期版本不支持某些功能,则也可能导致删除与某些功能相关的某些对象和属性。

  • 所有版本包中将包含与所有版本(ArcGIS Pro 1.2 和更高版本)均兼容的图层文件。
  • 当前版本包中将包含与当前 ArcGIS Pro 版本兼容的图层文件。
  • 1.2包中将包含与 ArcGIS Pro 1.2 和更高版本均兼容的图层文件。
  • 2.x包中将包含与 ArcGIS Pro 2.0 和更高版本均兼容的图层文件。
  • 3.x包中将包含与 ArcGIS Pro 3.0 和更高版本均兼容的图层文件。
String
附加文件
(可选)

软件包中将包含的附加文件。

File
摘要
(可选)

将用作输出包的摘要属性的文本。

String
标签
(可选)

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

String
仅保留与范围内要素相关的行
(可选)

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

  • 未选中 - 相关的数据源将全部合并。 这是默认设置。
  • 选中 - 仅合并指定范围内与记录对应的相关数据。
Boolean
保留移动地理数据库
(可选)

指定输入移动地理数据库数据是保留在输出中还是写入文件地理数据库格式。 如果输入数据是移动地理数据库网络数据集,则输出将为移动地理数据库。

当输入数据为移动地理数据库时,此参数将覆盖将数据转换为文件地理数据库参数。

  • 未选中 - 移动地理数据库数据将被转换为文件地理数据库格式。 这是默认设置。
  • 选中 - 移动地理数据库数据将作为移动地理数据库保留在输出中。 将包含整个地理数据库。
Boolean
排除网络数据集
(可选)

对于网络分析图层,指定是否还将对网络数据集进行打包。

  • 未选中 - 将包含网络数据集并对其进行打包。 这是默认设置。
  • 选中 - 将不包含网络数据集。 将仅对所选网络分析图层进行打包。
Boolean

arcpy.management.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}, {preserve_sqlite}, {exclude_network_dataset})
名称说明数据类型
in_layer
[in_layer,...]

将进行打包的图层。

Layer; Table View
output_file

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

File
convert_data
(可选)

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

  • CONVERT数据将转换为文件地理数据库。 此选项不适用于企业级地理数据库数据源。 要转换企业级地理数据库数据,请将 convert_arcsde_data 参数设置为 CONVERT_ARCSDE
  • PRESERVE保留数据格式(如有可能)。 这是默认设置。
Boolean
convert_arcsde_data
(可选)

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

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

指定用于选择或裁剪要素的范围。

  • MAXOF - 将使用的所有输入的最大范围。
  • MINOF - 将使用的所有输入共用的最小范围。
  • DISPLAY - 范围与可见显示范围相等。
  • 图层名称 - 将使用指定图层的范围。
  • Extent 对象 - 将使用指定对象的范围。
  • 以空格分隔的坐标字符串 - 将使用指定字符串的范围。 坐标以 x-min,y-min,x-max,y-max 的顺序表示。
Extent
apply_extent_to_arcsde
(可选)

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

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

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

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

指定图层文件将兼容并保留的 ArcGIS Pro 版本。 某些对象(例如工程、地图和图层)可以保存到特定版本。 如果工程将与旧版本一起使用,则保存到早期版本会很有帮助;但是,如果早期版本不支持某些功能,则也可能导致删除与某些功能相关的某些对象和属性。

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

软件包中将包含的附加文件。

File
summary
(可选)

将用作输出包的摘要属性的文本。

String
tags
(可选)

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

String
select_related_rows
(可选)

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

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

指定移动地理数据库数据是保留在输出中还是写入文件地理数据库格式。 如果输入数据是移动地理数据库网络数据集,则输出将为移动地理数据库。

当输入数据为移动地理数据库时,此参数将覆盖 convert_data 参数。

  • CONVERT_SQLITE移动地理数据库数据将被转换为文件地理数据库格式。 这是默认设置。
  • PRESERVE_SQLITE移动地理数据库数据将作为移动地理数据库数据保留在输出中。 将包含整个地理数据库。
Boolean
exclude_network_dataset
(可选)

对于网络分析图层,指定是否还将对网络数据集进行打包。

  • INCLUDE_NETWORK_DATASET将包含网络数据集并对其进行打包。 这是默认设置。
  • EXCLUDE_NETWORK_DATASET将不包含网络数据集。 将仅对网络分析图层进行打包。
Boolean

代码示例

PackageLayer 示例 1(Python 窗口)

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

# In this code, it is assumed that the current project has a map open with a layer named "Streets".
import arcpy
outputFile = "c:/packages/streetsLayer.lpkx"
arcpy.management.PackageLayer("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.management.PackageLayer(lyr, os.path.join("c:/temp", lyr.name + ".lpkx"))

环境

特殊情况

并行处理因子

如果未指定环境,该工具将使用可用内核的二分之一。

许可信息

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

相关主题