提取包 (数据管理)

摘要

将包中的内容提取到指定文件夹。 将使用输入包中所提取的内容更新输出文件夹。

使用情况

  • 以下为受支持的包类型:

    • 地理处理包(.gpk.gpkx
    • 图层包(.lpk.lpkx
    • 定位器包 (.gcpk)
    • 地图包(.mpk.mpkx
    • 移动地图包 (.mmpk)
    • 工程包和工程模板(.ppkx.aptx
    • 场景图层包 (.slpk)
    • 切片包(.tpk.tpkx
    • 矢量切片包 (.vtpk)

  • 输出文件夹可以是一个新建文件夹,也可以是一个现有文件夹。 提取到现有文件夹时,包中的内容会被追加到现有文件和文件夹。 如果输出文件夹包含包中提取的内容,则现有内容将被覆盖。

  • 具有附件的包会将其附加文件解包到输出文件夹中的 commondata\userdata\ 子文件夹中。 通常,包中的文件均为支持文件,如 .pdf.docx 或图像。 浏览至 Windows 资源管理器中提取出的目录以打开这些文件。

  • 在提取矢量切片包 (.vtpk) 时,包中的内容将提取到输出文件夹中。 可以使用存储格式类型参数将缓存存储格式从紧凑型(.bundle 文件)转换为松散型(.pbf 文件)。 可以在其他客户端应用程序(如 Mapbox)中使用提取的 .pbf 文件。

  • 提取矢量、切片或场景图层包(.vtpk.tpk.tpkx.slpk)时,缓存包参数将处于非活动状态。

  • 在提取矢量、切片或 1.7 版本及更高版本的场景图层包时,可以将包的内容提取到文件系统的文件夹中或者提取到位于云中的对象存储(例如 Amazon S3Azure Blob 存储或 Alibaba OSS)中。 已准备好将此内容用作切片或场景图层,并且您选择的位置必须在 ArcGIS Enterprise 中注册为用户管理数据存储

  • 您可以使用创建云存储连接文件工具来构建连接文件 (.acs)。

  • 可以使用升级场景图层工具将较早版本的场景图层包升级到最新版本。

  • 注:

    将场景图层包提取到云中的对象存储 (.i3sREST) 中时,场景缓存存储格式与提取到文件系统 (.eslpk) 的文件夹中时不同,并且两种格式不可互换。

参数

标注说明数据类型
输入包

要执行提取操作的输入包。

File
输出文件夹
(可选)

用于存放包中内容的输出文件夹。

如果指定的文件夹不存在,将创建一个文件夹。

Folder
缓存包
(可选)

指定是否将包的副本缓存到您的配置文件。

提取包时,首先将输出提取到用户配置文件,并在复制到输出文件夹参数中指定目录前,附加唯一 ID。 下载和提取同一包的后续版本仅更新此位置。 在使用此参数时,您无需在用户配置文件中手动创建包的缓存版本。 如果输入包为矢量切片包 (.vtpk) 或切片包(.tpk.tpkx),则此参数将处于非活动状态。

  • 选中 - 将包的副本提取并缓存到您的配置文件。 这是默认设置。
  • 未选中 - 仅将包的副本提取到指定的输出参数;并不会对其进行缓存。
Boolean
存储格式类型
(可选)

指定将用于提取的缓存的存储格式。 仅当输入包为矢量切片包 (.vtpk) 时,此参数才适应。

  • 数据库碎片整理将使用 Compact V2 存储格式对包文件中的切片进行分组。 这种格式使得网络共享和云存储目录拥有了更好的性能。 这是默认设置。
  • 松散型每个切片都将存储为单个文件。
String
创建即用型缓存数据集
(可选)

指定是否将针对 ArcGIS Enterprise 创建即用型格式。 仅当输入包为矢量切片包 (.vtpk) 或切片包 (.tpkx) 时,此参数才会处于活动状态。

  • 选中 - 将创建包含提取的缓存的文件夹结构,可使用该结构在 ArcGIS Enterprise 中创建切片图层。 文件夹的文件扩展名将表示其存储的内容:.tiles(缓存数据集)用于切片图层包或 .vtiles(矢量缓存数据集)用于矢量切片包。
  • 未选中 - 将创建包含包的提取内容的文件夹结构。 这是默认设置。
Boolean
目标云连接
(可选)

包内容将提取到的目标 .acs 文件。 仅当输入包为场景图层包 (.slpk)、矢量切片包 (.vtpk) 或切片包 (.tpkx) 时,才会启用此参数。

Folder

arcpy.management.ExtractPackage(in_package, {output_folder}, {cache_package}, {storage_format_type}, {create_ready_to_serve_format}, {target_cloud_connection})
名称说明数据类型
in_package

要执行提取操作的输入包。

File
output_folder
(可选)

用于存放包中内容的输出文件夹。

如果指定的文件夹不存在,将创建一个文件夹。

Folder
cache_package
(可选)

指定是否将包的副本缓存到您的配置文件。

提取包时,首先将输出提取到用户配置文件,并在复制到 output_folder 参数中指定目录前,附加唯一 ID。 下载和提取同一包的后续版本仅更新此位置。 在使用此参数时,您无需在用户配置文件中手动创建包的缓存版本。 如果输入包为矢量切片包 (.vtpk) 或切片包(.tpk.tpkx),则此参数未启用。

  • CACHE将包的副本提取并缓存到您的配置文件。 这是默认设置。
  • NO_CACHE仅将包的副本提取到指定的输出参数;并不会对其进行缓存。
Boolean
storage_format_type
(可选)

指定将用于提取的缓存的存储格式。 仅当输入包为矢量切片包 (.vtpk) 时,此参数才适应。

  • COMPACT将使用 Compact V2 存储格式对包文件中的切片进行分组。 这种格式使得网络共享和云存储目录拥有了更好的性能。 这是默认设置。
  • EXPLODED每个切片都将存储为单个文件。
String
create_ready_to_serve_format
(可选)

指定是否将针对 ArcGIS Enterprise 创建即用型格式。 仅当输入包为矢量切片包 (.vtpk) 或切片包 (.tpkx) 时,才会启用此参数。

  • READY_TO_SERVE_CACHE_DATASET将创建包含提取的缓存的文件夹结构,可使用该结构在 ArcGIS Enterprise 中创建切片图层。 文件夹的文件扩展名将表示其存储的内容:.tiles(缓存数据集)用于切片图层包或 .vtiles(矢量缓存数据集)用于矢量切片包。
  • EXTRACTED_PACKAGE将创建包含包的提取内容的文件夹结构。 这是默认设置。
Boolean
target_cloud_connection
(可选)

包内容将提取到的目标 .acs 文件。 仅当输入包为场景图层包 (.slpk)、矢量切片包 (.vtpk) 或切片包 (.tpkx) 时,才会启用此参数。

Folder

代码示例

ExtractPackage 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用 ExtractPackage 函数来生成可用于 ArcGIS Enterprise 发布工作流中的即用型缓存数据集。

import arcpy
arcpy.management.ExtractPackage(r"C:\Data\packages\MyVectorPackage.vtpk", 
                                r"C:\Data\packages\Extracted", "CACHE", 
                                "COMPACT", "READY_TO_SERVE_CACHE_DATASET")
提取包 (ExtractPackage) 示例 2(Python 窗口)

以下 Python 窗口脚本演示了如何使用 ExtractPackage 函数将场景图层包提取到对象存储中,以供 ArcGIS Enterprise 发布工作流使用。

import arcpy
arcpy.management.ExtractPackage(r"C:\Data\packages\ChicagoBuildings.slpk", 
                                None, "CACHE", 
                                "COMPACT", "EXTRACTED_PACKAGE", 
                                r"C:\CloudConnections\AWS.acs")
提取包 (ExtractPackage) 示例 3(Python 窗口)

以下 Python 窗口脚本演示了如何使用 ExtractPackage 函数将矢量切片图层包提取到对象存储中,以供 ArcGIS Enterprise 发布工作流使用。

import arcpy
arcpy.management.ExtractPackage(r"C:\Data\packages\London.vtpk", 
                                None, "CACHE", 
                                "COMPACT", "EXTRACTED_PACKAGE", 
                                r"C:\CloudConnections\AWS.acs")
提取包 (ExtractPackage) 示例 4(独立脚本)

在指定的文件夹中查找所有地理处理包,并使用 ExtractPackage 函数将内容提取到指定的文件夹。

# Name: ExtractPackage.py
# Description: Find geoprocessing packages in a specified folder and extract 
#              contents.

import arcpy
import os

arcpy.env.overwriteOutput = True

# set folder that contains packages to extract
arcpy.env.workspace = "C:/geoprocessing/gpks" 
wrksp = arcpy.env.workspace

for gpk in arcpy.ListFiles("*.gpk"):
    print("Extracting... " + gpk)
    arcpy.ExtractPackage_management(gpk, os.path.splitext(gpk)[0])

print("done")

许可信息

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

相关主题