提取包 (数据管理)

描述

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

使用方法

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

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

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

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

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

  • 提取切片包(.tpk.tpkx.vtpk)时,将禁用缓存包参数。

语法

arcpy.management.ExtractPackage(in_package, output_folder, {cache_package}, {storage_format_type}, {create_ready_to_serve_format})
参数说明数据类型
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

代码示例

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(独立脚本)

在指定的文件夹中查找所有地理处理包,并使用 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: 是

相关主题