打包结果 (数据管理)

摘要

将一个或多个地理处理结果(包括所有工具以及输入和输出数据集)打包为单个压缩文件 (.gpkx)。

使用情况

  • 执行工具时,会将地理处理历史项目添加到目录窗格的地理处理历史部分中。将此项目用作打包结果工具的输入。

    在 Python 中执行工具时,工具在执行过程中将返回 Result 对象。Result 对象的 resultID 属性可以用作此工具的输入。在“代码示例”部分中,第二个示例将演示如何使用 Result 对象的 resultID 属性。

  • 如果选中支持 ArcGIS Runtime(Python 中的 arcgisruntime="RUNTIME"),则可在 ArcGIS Runtime SDK 环境中使用创建的地理处理包。要支持运行时环境,将发生以下情况:

    • 所有非地理数据库数据源都将转换为文件地理数据库。
    • 在针对发布而配置的新工具箱中创建将打包的工具副本。

    注:

    ArcGIS Pro 2.1 起,可创建支持 ArcGIS Runtime 的地理处理包。

  • 选中将数据转换为文件地理数据库参数时,将出现以下情况:

    • 每个唯一数据会具有一个在合并文件夹或包中创建的文件地理数据库。
    • 压缩栅格和矢量格式会转换为一个文件地理数据库,并且原来的数据压缩将会丢失。
    • 不会合并企业级地理数据库数据。 要将企业级地理数据库数据转换为文件地理数据库,请选中包括企业级地理数据库数据,而不是仅引用该数据参数。

  • 未选中将数据转换为文件地理数据库参数时,将出现以下情况:

    • 将保留输入图层的数据源格式(如果可能)。
    • ADRG、CADRG/ECRG、CIB 和 RPF 栅格格式将始终转换为文件地理数据库栅格。 ArcGIS 本身不能写出这些格式。 出于效率方面的考虑,这些格式将始终转换为文件地理数据库栅格。
    • 在输出文件夹结构中,文件地理数据库将合并到一个特定于版本的文件夹中,并且所有其他格式都将合并到 commonData 文件夹中。
    • 即使在范围参数中指定了范围,也不会裁剪压缩栅格和矢量格式。

  • 对于包含连接或参与关系类的图层,所有连接或相关的数据源都将合并到输出文件夹。 默认情况下,连接或关联数据源将全部合并,或根据使用范围参数指定的范围,由选择相关行参数决定。

  • 对于要素图层,范围参数用来选择将要合并的要素。 对于栅格图层,范围参数用来裁剪栅格数据集。

  • 有些数据集会引用其他数据集。 例如,您可能拥有一个引用了四个要素类的拓扑数据集。 引用其他数据集的数据集示例还包括几何网络、网络和定位器。 基于这些数据集类型合并或打包图层时,参与数据集也将被合并或打包。

  • 如果选中仅方案参数,则将仅合并或打包输入和输出数据源的方案。方案是由字段和表定义、坐标系属性、符号系统、定义查询等组成的要素类或表的结构或设计。不会合并或打包数据或记录。

  • 不支持“仅方案”的数据源不能进行合并和打包。 如果选中仅方案参数,并且此工具遇到“仅方案”不支持的图层,则会显示一条警告消息,并会跳过该图层。 如果仅方案不支持指定的唯一图层,则该工具将失败。

  • 要对地理处理包进行解包,请使用提取包工具将内容提取到某一文件夹中。然后导航至目录,并浏览工具与数据。或者,右键单击目录窗格中某个文件夹中的包,然后将其提取到当前地图。可从地理处理历史部分访问工具。

    默认情况下,从目录窗格提取包时,会将内容提取到用户配置文件中。

参数

标注说明数据类型
结果

要打包的结果。

输入可以是当前工程的历史结果,也可以是在 python 脚本中使用工具时的 Result 对象的 resultID 属性。

File; String
输出文件

输出包文件 (.gpkx) 的名称与位置。

File
将数据转换为文件地理数据库
(可选)

指定输入图层是转换为文件地理数据库还是保留原始格式。

  • 选中 - 所有数据将转换为文件地理数据库。 此选项不适用于企业级地理数据库数据源。 要包括企业级地理数据库数据,请选中包括企业级地理数据库数据,而不是仅引用该数据参数。
  • 未选中 - 保留数据格式(如有可能)。 这是默认设置。
Boolean
包括企业级地理数据库数据,而不是引用该数据
(可选)

指定是将输入企业级地理数据库图层转换为文件地理数据库,还是保留其原始格式。

  • 选中 - 所有企业级地理数据库数据源都将转换为文件地理数据库。 这是默认设置。
  • 未选中 - 将保留所有企业级地理数据库数据源,并在生成的包中对其进行引用。
Boolean
范围
(可选)

指定用于选择或裁剪要素的范围。

  • 默认 - 该范围将基于所有参与输入的最大范围设定。这是默认设置。
  • 输入的并集 - 该范围将基于所有输入的最大范围。
  • 输入的交集 - 该范围将基于所有输入共用的最小区域。
  • 当前显示范围 - 该范围与可见显示范围相等。如果没有活动地图,则该选项将不可用。
  • 如下面的指定 - 该范围将基于指定的最小和最大范围值。
  • 浏览 - 该范围将基于现有数据集。
Extent
仅将范围应用到企业级地理数据库图层
(可选)

指定是将指定范围应用到所有图层,还是仅应用到企业级地理数据库图层。

  • 未选中 - 范围将应用到所有图层。 这是默认设置。
  • 选中 - 范围将仅应用到企业级地理数据库图层。
Boolean
仅方案
(可选)

指定是否仅合并或打包输入和输出数据集的方案。

  • 未选中 - 输入和输出数据集的所有要素和记录都将包括在合并的文件夹或包中。这是默认设置。
  • 选中 - 仅合并或打包输入和输出数据集的方案。输出文件夹中将不合并或打包任何要素或记录。
Boolean
支持 ArcGIS Runtime
(可选)

指定包是否支持 ArcGIS Runtime。要支持 ArcGIS Runtime,所有数据源均将转换为文件地理数据库,并需在包中创建服务器兼容工具。

  • 未选中 - 输出包将不支持 ArcGIS Runtime。这是默认设置。
  • 选中 - 输出包将支持 ArcGIS Runtime。
Boolean
附加文件
(可选)

将附加文件添加到包中。 诸如 .doc.txt.pdf 等附加文件可用于提供有关打包内容和目的的详细信息。

File
摘要
(可选)

将摘要信息添加到包的属性中。

String
标签
(可选)

将标签信息添加到包的属性中。 可以添加多个标签,标签之间用逗号或分号进行分隔。

String
包版本
(可选)

指定将在结果包中创建的地理数据库版本。 指定版本可实现与较早版本的 ArcGIS 共享包,并可支持向后兼容。

注:

保存为较早版本的包可能会丢失仅适用于较新版本的属性。

  • 所有版本包中将包含与所有版本(ArcGIS Pro 2.1 和更高版本)均兼容的地理数据库和地图。
  • 当前版本包中包含与当前版本兼容的地理数据库和地图。
  • 2.1包中将包含与版本 2.1 兼容的地理数据库和地图。
  • 2.2包中将包含与版本 2.2 兼容的地理数据库和地图。
  • 2.3包中将包含与版本 2.3 兼容的地理数据库和地图。
  • 2.4包中将包含与版本 2.4 兼容的地理数据库和地图。
  • 2.5包中将包含与版本 2.5 兼容的地理数据库和地图。
  • 2.6包中将包含与版本 2.6 兼容的地理数据库和地图。
  • 2.7包中将包含与版本 2.7 兼容的地理数据库和地图。
  • 2.8包中将包含与版本 2.8 兼容的地理数据库和地图。
String
仅保留与范围内要素相关的行
(可选)

指定是否将指定的范围应用至相关数据源。

  • 未选中 - 相关的数据源将全部合并。 这是默认设置。
  • 选中 - 仅合并指定范围内与记录对应的相关数据。
Boolean

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
(可选)

指定输入图层是转换为文件地理数据库还是保留原始格式。

  • CONVERT数据将转换为文件地理数据库。 此选项不适用于企业级地理数据库数据源。 要转换企业级地理数据库数据,请设置 convert_arcsde_data = 'CONVERT_ARCSDE'
  • PRESERVE保留数据格式(如有可能)。 这是默认设置。
Boolean
convert_arcsde_data
(可选)

指定是将输入企业级地理数据库图层转换为文件地理数据库,还是保留其原始格式。

  • CONVERT_ARCSDE企业级地理数据库数据将转换为文件地理数据库,并将包含在合并的文件夹或包中。 这是默认设置。
  • PRESERVE_ARCSDE将保留企业级地理数据库数据,并将在合并文件夹或包中对其进行引用。
Boolean
extent
(可选)

指定用于选择或裁剪要素的范围。

  • MAXOF - 将使用所有输入的最大范围。
  • MINOF - 将使用所有输入共有的最小区域。
  • DISPLAY - 该范围与可见显示范围相等。
  • 图层名称 - 将使用指定图层的范围。
  • Extent 对象 - 将使用指定对象的范围。
  • 以空格分隔的坐标字符串 - 将使用指定字符串的范围。坐标以 x-min,y-min,x-max,y-max 的顺序表示。
Extent
apply_extent_to_arcsde
(可选)

指定是将指定范围应用到所有图层,还是仅应用到企业级地理数据库图层。

  • ALL指定范围将应用到所有图层。 这是默认设置。
  • ARCSDE_ONLY指定范围将仅应用到企业级地理数据库图层。
Boolean
schema_only
(可选)

指定是否仅合并或打包输入和输出数据集的方案。

  • ALL 合并或打包输入和输出数据集中的所有记录。这是默认设置。
  • SCHEMA_ONLY 仅合并或打包输入和输出数据集的方案。
Boolean
arcgisruntime
(可选)

指定包是否支持 ArcGIS Runtime。要支持 ArcGIS Runtime,所有数据源都将转换为文件地理数据库。

  • DESKTOP输出包将不支持 ArcGIS Runtime。这是默认设置。
  • RUNTIME 输出包将支持 ArcGIS Runtime。
Boolean
additional_files
[additional_files,...]
(可选)

将附加文件添加到包中。 诸如 .doc.txt.pdf 等附加文件可用于提供有关打包内容和目的的详细信息。

File
summary
(可选)

将摘要信息添加到包的属性中。

String
tags
(可选)

将标签信息添加到包的属性中。 可以添加多个标签,标签之间用逗号或分号进行分隔。

String
version
[version,...]
(可选)

指定将在结果包中创建的地理数据库版本。 指定版本可实现与较早版本的 ArcGIS 共享包,并可支持向后兼容。

注:

保存为较早版本的包可能会丢失仅适用于较新版本的属性。

  • ALL包中将包含与所有版本(ArcGIS Pro 2.1 和更高版本)均兼容的地理数据库和地图。
  • CURRENT包中包含与当前版本兼容的地理数据库和地图。
  • 2.1包中将包含与版本 2.1 兼容的地理数据库和地图。
  • 2.2包中将包含与版本 2.2 兼容的地理数据库和地图。
  • 2.3包中将包含与版本 2.3 兼容的地理数据库和地图。
  • 2.4包中将包含与版本 2.4 兼容的地理数据库和地图。
  • 2.5包中将包含与版本 2.5 兼容的地理数据库和地图。
  • 2.6包中将包含与版本 2.6 兼容的地理数据库和地图。
  • 2.7包中将包含与版本 2.7 兼容的地理数据库和地图。
  • 2.8包中将包含与版本 2.8 兼容的地理数据库和地图。
String
select_related_rows
(可选)

指定是否将指定的范围应用至相关数据源。

  • KEEP_ONLY_RELATED_ROWS仅合并指定范围内与记录对应的相关数据。
  • KEEP_ALL_RELATED_ROWS相关的数据源将全部合并。 这是默认设置。
Boolean

代码示例

PackageResult 示例 1(Python 窗口)

以下 Python 脚本演示了如何在 Python 窗口中使用 PackageResult 工具。

import arcpy
arcpy.env.workspace = "C:/ResultFiles" 
arcpy.PackageResult_management('Parcel.rlt', 'Parcel.gpk', "PRESERVE", 
                               "CONVERT_ARCSDE", "#", "ALL", "ALL", 
                               "DESKTOP", r"C:\docs\readme.txt", 
                               "Summary text", "Tag1; tag2; tag3")
PackageResult 示例 2(独立脚本)

以下 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.PackageResult_management(parcelUpdate.resultID, "c:/gpks/parcelgpk.gpkx", 
                               "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", 
                               "ALL", "DESKTOP", "#", "Summary text", "Tag1")

环境

此工具不使用任何地理处理环境。

许可信息

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

相关主题