标注 | 说明 | 数据类型 |
输入包 | 要执行提取操作的输入包。 | File |
输出文件夹 (可选) | 将包含包内容的输出文件夹。 如果指定的文件夹不存在,将创建一个文件夹。 | Folder |
缓存包 (可选) | 指定是否将包的副本缓存到您的配置文件中。 在提取包时,首先会将输出提取到您的用户配置文件并附加一个唯一 ID,然后再将副本复制到输出文件夹参数中指定的目录。 下载并提取同一包的后续版本将仅更新此位置。 当使用此参数时,您无需在用户配置文件中手动创建包的缓存版本。 如果输入包为矢量切片包 (.vtpk) 或切片包(.tpk 和 .tpkx),则此参数处于非活动状态。
| Boolean |
存储格式类型 (可选) | 指定将用于已提取缓存的存储格式。 仅当输入包为矢量切片包 (.vtpk) 时,此参数才适用。
| String |
创建即用型缓存数据集 (可选) | 指定是否将为 ArcGIS Enterprise 创建即用型格式。 仅当输入包为矢量切片包 (.vtpk) 或切片包 (.tpkx) 时,此参数才会处于活动状态。
| Boolean |
目标云连接 (可选) | 包内容将提取到的目标 .acs 文件。 仅当输入包为场景图层包 (.slpk)、矢量切片包 (.vtpk) 或切片包 (.tpkx) 时,才会启用此参数。 | Folder |
摘要
将包中的内容提取到指定文件夹。 将使用输入包中所提取的内容更新输出文件夹。
使用情况
受支持的包类型如下:
- 地理处理包(.gpk 和 .gpkx)
- 图层包(.lpk 和 .lpkx)
- 定位器包 (.gcpk)
- 地图包(.mpk 和 .mpkx)
- 移动地图包 (.mmpk)
- 工程包和工程模板(.ppkx 和 .aptx)
- 场景图层包 (.slpk)
- 切片包(.tpk 和 .tpkx)
- 矢量切片包 (.vtpk)
输出文件夹可以是一个新建文件夹,也可以是一个现有文件夹。 提取到现有文件夹时,包中的内容会被追加到现有文件和文件夹。 如果输出文件夹包含包中提取的内容,则现有内容将被覆盖。
具有附件的包会将其附加文件解包到输出文件夹中的 commondata\userdata\ 子文件夹中。 通常,包中的文件均为支持文件,如 .pdf、.docx 或图像。 在 Microsoft File Explorer 中浏览至解压缩的目录以打开这些文件。
在提取矢量切片包 (.vtpk) 时,会将包的内容提取到输出文件夹。 可以使用存储格式类型参数将缓存存储格式从紧凑型(.bundle 文件)转换为松散型(.pbf 文件)。 如有需要,您可在其他客户端应用程序(如 Mapbox)中使用提取出的 .pbf 文件。
注:
提取平面缓存可能会很慢,并且会导致提取数十亿个切片,具体取决于数据范围、包的细节层次和硬件配置。
当提取矢量、切片或场景图层包(.vtpk、.tpk、.tpkx 或 .slpk)时,缓存包参数处于非活动状态。
当提取矢量、切片或者 1.7 及更高版本的场景图层包时,可以将包的内容提取到文件系统中的文件夹或者位于云端的对象存储,例如 Amazon S3、Azure Blob 存储或 Alibaba OSS。 此内容已准备好用作切片或场景图层,并且所选位置必须在 ArcGIS Enterprise 中注册为用户管理的数据存储。
可以使用创建云存储连接文件工具构建连接文件 (.acs)。
可以使用升级场景图层工具将较低版本的场景图层包升级至最新版本。
注:
将场景图层包提取到云端中的对象存储 (.i3sREST) 时,场景缓存存储格式将与提取到文件系统 (.eslpk) 中的文件夹时不同,并且两种格式不可互换。
参数
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 (可选) | 指定是否将包的副本缓存到您的配置文件中。 在提取包时,首先会将输出提取到您的用户配置文件并附加一个唯一 ID,然后再将副本复制到 output_folder 参数中指定的目录。 下载并提取同一包的后续版本将仅更新此位置。 当使用此参数时,您无需在用户配置文件中手动创建包的缓存版本。 如果输入包为矢量切片包 (.vtpk) 或切片包(.tpk 和 .tpkx),则将禁用此参数。
| Boolean |
storage_format_type (可选) | 指定将用于已提取缓存的存储格式。 仅当输入包为矢量切片包 (.vtpk) 时,此参数才适用。
| String |
create_ready_to_serve_format (可选) | 指定是否将为 ArcGIS Enterprise 创建即用型格式。 仅当输入包为矢量切片包 (.vtpk) 或切片包 (.tpkx) 时,才会启用此参数。
| Boolean |
target_cloud_connection (可选) | 包内容将提取到的目标 .acs 文件。 仅当输入包为场景图层包 (.slpk)、矢量切片包 (.vtpk) 或切片包 (.tpkx) 时,才会启用此参数。 | Folder |
代码示例
以下 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")
以下 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")
以下 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 函数将内容提取到指定文件夹中。
# 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.management.ExtractPackage(gpk, os.path.splitext(gpk)[0])
print("done")
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是