标注 | 说明 | 数据类型 |
结果 | 结果将被打包。 输入可以是当前工程的历史结果,也可以是在 Python 脚本中使用工具时的 Result 对象的 resultID 属性。 | File; String |
输出文件 | 输出包文件 (.gpkx) 的名称和位置。 | File |
将数据转换为文件地理数据库 (可选) | 指定输入图层是转换为文件地理数据库还是保留原始格式。
| Boolean |
包括企业级地理数据库数据,而不是引用该数据 (可选) | 指定是将输入企业级地理数据库图层转换为文件地理数据库,还是保留其原始格式。
| Boolean |
范围 (可选) | 指定用于选择或裁剪要素的范围。
| Extent |
仅将范围应用到企业级地理数据库图层 (可选) | 指定是将指定范围应用到所有图层,还是仅应用到企业级地理数据库图层。
| Boolean |
仅方案 (可选) | 指定是合并或打包输入和输出数据集的所有要素和记录,还是仅合并或打包输入和输出数据集的方案。
| Boolean |
支持 ArcGIS Maps SDK (可选) | 指定包是否支持 ArcGIS Maps SDKs。 要支持 ArcGIS Maps SDKs,所有数据源均将转换为文件地理数据库,并需在包中创建服务器兼容工具。
| Boolean |
附加文件 (可选) | 将添加到包中的附加文件。 诸如 .doc、.txt、.pdf 等附加文件可用于提供有关打包内容和目的的详细信息。 | File |
摘要 (可选) | 将添加到包属性中的摘要信息。 | String |
标签 (可选) | 将添加到包属性中的标签信息。 可以添加多个标签,标签之间用逗号或分号进行分隔。 | String |
包版本 (可选) | 指定将在结果包中创建的地理数据库版本。 指定版本可实现与较早版本的 ArcGIS 共享包,并可支持向后兼容。 注:保存为较早版本的包可能会丢失仅适用于较新版本的属性。
| String |
仅保留与范围内要素相关的行 (可选) | 指定是否将指定的范围应用至相关数据源。
| Boolean |
摘要
将一个或多个地理处理结果(包括所有工具以及输入和输出数据集)打包为单个压缩文件 (.gpkx)。
使用情况
运行工具时,会将地理处理历史项目添加到目录窗格的地理处理历史部分中。 将此项目用作打包结果工具的输入。
在 Python 中运行工具时,将返回 Result 对象。 Result 对象的 resultID 属性可以用作此工具的输入。 以下第二个代码示例将演示如何使用 Result 对象的 resultID 属性。
如果选中支持 ArcGIS Maps SDK,则可在 ArcGIS Maps SDKs 环境中使用创建的地理处理包。 要支持 ArcGIS Maps SDKs 环境,将发生以下情况:
- 所有非地理数据库数据源都将转换为文件地理数据库。
- 将在为发布配置的新工具箱中创建正在打包工具的副本。
注:
自 ArcGIS Pro 2.1 起,可创建支持 ArcGIS Maps SDKs 的地理处理包。
选中将数据转换为文件地理数据库参数时,将出现以下情况:
- 每个唯一数据会具有一个在合并文件夹或包中创建的文件地理数据库。
- 压缩栅格和矢量格式会转换为一个文件地理数据库,并且原来的数据压缩将会丢失。
- 不会合并企业级地理数据库数据。 要将企业级地理数据库数据转换为文件地理数据库,请选中包括企业级地理数据库数据,而不是仅引用该数据参数。
未选中将数据转换为文件地理数据库参数时,将出现以下情况:
- 将保留输入图层的数据源格式(如果可能)。
- ADRG、CADRG/ECRG、CIB 和 RPF 栅格格式将转换为文件地理数据库栅格。 ArcGIS 本身不能写出这些格式。 出于效率方面的考虑,这些格式将转换为文件地理数据库栅格。
- 在输出文件夹结构中,文件地理数据库将合并到一个特定于版本的文件夹中,并且所有其他格式都将合并到 commonData 文件夹中。
- 即使在范围参数中指定了范围,也不会裁剪压缩栅格和矢量格式。
对于包含连接或参与关系类的图层,所有连接或相关的数据源都将合并到输出文件夹。 默认情况下,连接或关联数据源将全部合并,或根据为范围参数指定的范围,由选择相关行参数值决定。
对于要素图层,范围参数用来选择将要合并的要素。 对于栅格图层,范围参数用来裁剪栅格数据集。
有些数据集会引用其他数据集。 例如,您可能拥有一个引用了四个要素类的拓扑数据集。 引用其他数据集的数据集示例还包括几何网络、网络和定位器。 基于这些数据集类型合并或打包图层时,参与数据集也将被合并或打包。
如果选中仅方案参数,则将仅合并或打包输入和输出数据源的方案。 方案是由字段和表定义、坐标系属性、符号系统、定义查询等组成的要素类或表的结构或设计。 将不会对数据和记录进行合并或打包。
不支持“仅方案”的数据源不能进行合并和打包。 如果选中仅方案参数,并且此工具遇到“仅方案”不支持的图层,则会显示一条警告消息,并会跳过该图层。 如果仅方案不支持指定的唯一图层,则该工具将失败。
要对地理处理包进行解包,请使用提取包工具将内容提取到某一文件夹中。 然后浏览至目录,并浏览工具与数据。 或者,右键单击目录窗格中某个文件夹中的包,然后将其提取到当前地图。 可从地理处理历史部分访问工具。
默认情况下,从目录窗格提取包时,会将内容提取到用户配置文件中。
参数
arcpy.management.PackageResult(in_result, output_file, {convert_data}, {convert_arcsde_data}, {extent}, {apply_extent_to_arcsde}, {schema_only}, {arcgisruntime}, {additional_files}, {summary}, {tags}, {version}, {select_related_rows})
名称 | 说明 | 数据类型 |
in_result [in_result,...] | 结果将被打包。 输入可以是当前工程的历史结果,也可以是在 Python 脚本中使用工具时的 Result 对象的 resultID 属性。 | File; String |
output_file | 输出包文件 (.gpkx) 的名称和位置。 | File |
convert_data (可选) | 指定输入图层是转换为文件地理数据库还是保留原始格式。
| Boolean |
convert_arcsde_data (可选) | 指定是将输入企业级地理数据库图层转换为文件地理数据库,还是保留其原始格式。
| Boolean |
extent (可选) | 指定用于选择或裁剪要素的范围。
| Extent |
apply_extent_to_arcsde (可选) | 指定是将指定范围应用到所有图层,还是仅应用到企业级地理数据库图层。
| Boolean |
schema_only (可选) | 指定是合并或打包输入和输出数据集的所有记录,还是仅合并或打包输入和输出数据集的方案。
| Boolean |
arcgisruntime (可选) | 指定包是否支持 ArcGIS Maps SDKs。 要支持 ArcGIS Maps SDKs,所有数据源都将转换为文件地理数据库。
| Boolean |
additional_files [additional_files,...] (可选) | 将添加到包中的附加文件。 诸如 .doc、.txt、.pdf 等附加文件可用于提供有关打包内容和目的的详细信息。 | File |
summary (可选) | 将添加到包属性中的摘要信息。 | String |
tags (可选) | 将添加到包属性中的标签信息。 可以添加多个标签,标签之间用逗号或分号进行分隔。 | String |
version [version,...] (可选) | 指定将在结果包中创建的地理数据库版本。 指定版本可实现与较早版本的 ArcGIS 共享包,并可支持向后兼容。 注:保存为较早版本的包可能会丢失仅适用于较新版本的属性。
| String |
select_related_rows (可选) | 指定是否将指定的范围应用至相关数据源。
| Boolean |
代码示例
以下 Python 脚本演示了如何在 Python 窗口中使用 PackageResult 函数。
import arcpy
arcpy.env.workspace = "C:/ResultFiles"
arcpy.management.PackageResult('Parcel.rlt', 'Parcel.gpk', "PRESERVE",
"CONVERT_ARCSDE", "#", "ALL", "ALL",
"DESKTOP", r"C:\docs\readme.txt",
"Summary text", "Tag1; tag2; tag3")
以下 Python 脚本演示了如何通过 Python 窗口或具有自定义工具 Result 对象的脚本使用 PackageResult 函数。
import arcpy
# Import toolbox with custom model inside
arcpy.ImportToolbox("c:/gisworkflows/ParcelTools.tbx")
# Run the tool and assign to a result variable
parcelUpdate = arcpy.ParcelUpdater_ParcelTools("c:/data/parcels.gdb/ward3", "UPDATE")
arcpy.management.PackageResult(parcelUpdate.resultID, "c:/gpks/parcelgpk.gpkx",
"PRESERVE", "CONVERT_ARCSDE", "#", "ALL",
"ALL", "DESKTOP", "#", "Summary text", "Tag1")