Summary
Packages one or more geoprocessing results, including all tools and input and output datasets, into a single compressed file (.gpk).
Usage
When a tool is executed, information about the execution is written as a result in the Results window. Results can be added as input directly from the Results window using drag and drop, or results that have been saved as a result file (.rlt) can also be added as input.
When Support ArcGIS Runtime is checked (arcgisruntime="RUNTIME" in Python) the geoprocessing package created can be used in the ArcGIS Runtime SDK environment. To support the runtime environment
- All non-geodatabase data sources will be converted to a file geodatabase.
- A copy of the tool being package is created in a new toolbox configured for publishing.
- A Map Service Definition file (.msd) may be created and added to the package. The .msd file will be added when the original tool output can be displayed and a map and those output layers were added to the ArcMap Table of Contents upon execution.
When Convert data to file geodatabase is checked (convert_data='CONVERT' in Python), the following occurs:
- Each unique data source will have a file geodatabase created in the consolidated folder or package.
- Compressed raster and vector formats will be converted to a file geodatabase, and compression will be lost.
- Enterprise geodatabase data will not be consolidated. To have enterprise geodatabase data converted to a file geodatabase, check Include Enterprise geodatabase data instead of referencing the data.
When Convert data to file geodatabase is not checked (convert_data='PRESERVE' in Python), the following occurs:
- The data source format of the input layers will be preserved. The exceptions are formats such as personal geodatabase data (.mdb), VPF data, and tables based on Excel spreadsheets or OLEDB connections. These formats are not supported in 64x environments and therefore will always be converted to a file geodatabase.
- ADRG, CADRG/ECRG, CIB, and RPF raster formats will always convert to file geodatabase rasters. ArcGIS cannot natively write out these formats. They will always be converted to file geodatabase rasters for efficiency.
- In the output folder structure, file geodatabases will be consolidated into a version-specific folder, and all other formats will be consolidated into the commonData folder.
- Compressed raster and vector formats will not be clipped, even if an extent is specified in the Extent parameter.
For layers that contain a join or participate in a relationship class, all joined or related data sources will be consolidated into the output folder.
For feature layers, the Extent parameter is used to select the features that will be consolidated. For raster layers, the Extent parameter is used to clip the raster datasets.
Some datasets reference other datasets. For example, you may have a topology dataset that references four feature classes. Other examples of datasets that reference other datasets include Geometric Networks, Networks, and Locators. When consolidating or packaging a layer based on these types of datasets, the participating datasets will also be consolidated or packaged.
The Schema only parameter, if checked, will only consolidate or package the schema of the input and output data sources. A schema is the structure or design of a feature class or table that consists of field and table definitions, coordinate system properties, symbology, definition queries, and so on. Data or records will not be consolidated or packaged.
Data sources that do not support schema only will not be consolidated or packaged. If the Schema only parameter is checked and the tool encounters a layer that is not supported for schema only, a warning message is displayed, and that layer will be skipped. If the only layer specified is unsupported for schema only, the tool will fail.
You cannot create a package from a failed result. You can, however, use the Consolidate Result tool to create a folder containing all data and tools used by the failed result.
To unpack a geoprocessing package, drag the .gpk file into ArcMap or right-click the .gpk file and click Unpack. Alternatively, you can use the Extract Package tool and specify an output folder.
By default, packages will be extracted into your user profile.
To change the default location of where your packages will be unpacked, open ArcMap Options from the Customize menu. From the Sharing tab find the Packaging section and check Use user specified location and browse to the new folder location.
Syntax
PackageResult_management (in_result, output_file, {convert_data}, {convert_arcsde_data}, {extent}, {apply_extent_to_arcsde}, {schema_only}, {arcgisruntime}, {additional_files}, {summary}, {tags}, {version})
Parameter | Explanation | Data Type |
in_result [in_result,...] | The result that will be packaged. The input can be either a result added by dragging and dropping directly from the Results window or by browsing to a result file (.rlt). | File; String |
output_file | The name and location of the output package file (.gpk) . | File |
convert_data (Optional) | Specifies whether input layers will be converted into a file geodatabase or preserve their original format.
| Boolean |
convert_arcsde_data (Optional) | Specifies whether input enterprise geodatabase layers will be converted into a file geodatabase or preserve their original format.
| Boolean |
extent (Optional) | Specify the extent by manually entering the coordinates in the extent parameter using the format X-Min Y-Min X-Max Y-Max. To use the extent of a specific layer, specify the layer name.
| Extent |
apply_extent_to_arcsde (Optional) | Determines whether specified extent will be applied to all layers or only to enterprise geodatabase layers.
| Boolean |
schema_only (Optional) | Specifies whether only the schema of input and output datasets will be consolidated or packaged.
| Boolean |
arcgisruntime (Optional) | Specifies whether the package will support ArcGIS Runtime. To support ArcGIS Runtime, all data sources will be converted to a file geodatabase.
| Boolean |
additional_files [additional_files,...] (Optional) | Adds additional files to a package. Additional files, such as .doc, .txt, .pdf, and so on, are used to provide more information about the contents and purpose of the package. | File |
summary (Optional) | Adds summary information to the properties of the package. | String |
tags (Optional) | Adds tag information to the properties of the package. Multiple tags can be added or separated by a comma or semicolon. | String |
version [version,...] (Optional) | Specifies the version of the geodatabases that will be created in the resulting package. Specifying a version allows packages to be shared with previous versions of ArcGIS and supports backward compatibility.
| String |
Code sample
PackageResult example 1 (Python window)
The following Python script demonstrates how to use the PackageResult tool from within the Python window.
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 example 2 (stand-alone Python script)
The following Python script demonstrates how to use the PackageResult tool either from the Python window or from a script with the Result object of a custom tool.
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, "c:/gpks/parcelgpk.gpkx",
"PRESERVE", "CONVERT_ARCSDE", "#", "ALL",
"ALL", "DESKTOP", "#", "Summary text", "Tag1")
PackageResult example 3 (stand-alone script)
Finds and creates individual geoprocessing packages for all the result files that reside in a specified folder.
# Name: PackageResultEx1.py
# Description: Find all the result files that reside in a specified
# folder and create a geoprocessing package for each
# result file.
# import system modules
import os
import arcpy
# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:/ResultFiles"
# Loop through the workspace, find all the result files (.rlt) and
# create a geoprocessing package using the same name as the original
# result file.
for rlt in arcpy.ListFiles("*.rlt"):
print("Packaging " + rlt)
arcpy.PackageResult_management(rlt, os.path.splitext(lyr)[0] + '.gpk',
"PRESERVE", "CONVERT_ARCSDE", "#", "ALL",
"ALL", "DESKTOP", r"C:\docs\readme.txt",
"Summary text", "Tag1; tag2; tag3")
PackageResult example 4 (stand-alone script)
Finds and creates a single geoprocessing package for all the result files that reside in a specified folder.
# Name: PackageResultEx2.py
# Description: Find all the result files that reside in a specified
# folder and create a single geoprocessing package.
# import system modules
import arcpy
# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:/ResultFiles"
# Find all the result files (.rlt) in a workspace and create a single
# geoprocessing package.
rlts = arcpy.ListFiles("*.rlt")
arcpy.PackageResult_management(rlts, "all_layers.gpk", "PRESERVE",
"CONVERT_ARCSDE", "#", "ALL", "ALL", "DESKTOP",
r"C:\docs\readme.txt", "Summary text",
"Tag1; tag2; tag3")
Environments
This tool does not use any geoprocessing environments.
Licensing information
- ArcGIS Desktop Basic: Yes
- ArcGIS Desktop Standard: Yes
- ArcGIS Desktop Advanced: Yes