描述
将包中的内容提取到指定文件夹。将使用输入包中所提取的内容更新输出文件夹。
使用方法
以下为受支持的包类型:
- 地理处理包(.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),则此参数未启用。
| Boolean |
storage_format_type (可选) | 指定提取的缓存的存储格式。仅当输入包为矢量切片包 (.vtpk) 时,此参数才适应。
| String |
create_ready_to_serve_format (可选) | 指定是否将针对 ArcGIS Enterprise 创建即用型格式。仅当输入包为矢量切片包 (.vtpk) 或切片包 (.tpkx) 时,才会启用此参数。
| Boolean |
代码示例
以下 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 函数将内容提取到指定的文件夹。
# 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: 是