Package Layer (Data Management)

Summary

Packages one or more layers and all referenced data sources to create a single compressed .lpkx file.

Usage

  • A warning is issued when this tool encounters an unsupported layer type. The unsupported layer will not be written to the output.

  • All input layers must have a description in order for the tool to execute. To add a description, right-click the layer, click Properties, and enter a description.

  • Note:
    Layer packages created in ArcGIS Pro are not backwards compatible with ArcGIS 10 and ArcGIS 9.3.1. Packages created in ArcGIS Pro can only be used in ArcGIS Pro.
  • 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 convert enterprise geodatabase data 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 when possible.
    • 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 in a version-specific folder, and all other formats will be consolidated in 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. By default, joined or related data sources will be consolidated in their entirety or, depending on the Select Related Rows parameter, based on the extent specified using the Extent parameter.

  • 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 (schema_only = 'SCHEMA_ONLY' in Python), will only consolidate or package the schema of the input 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 appears and that layer will be skipped. If the only layer specified is unsupported for schema only, the tool will fail.

  • To unpack a layer package (.lpkx), navigate to the folder containing it from the Catalog window, right click and click Add to Current Map. Alternatively, you can use the Extract Package tool and specify an output folder.

    By default, Add to Current Map will always extract the package into your user profile under: C:\Users\<username>\Documents\ArcGIS\Packages.

Syntax

arcpy.management.PackageLayer(in_layer, output_file, {convert_data}, {convert_arcsde_data}, {extent}, {apply_extent_to_arcsde}, {schema_only}, {version}, {additional_files}, {summary}, {tags}, {select_related_rows})
ParameterExplanationData Type
in_layer
[in_layer,...]

The layers to package.

Layer
output_file

The location and name of the output package file (.lpkx) to create.

File
convert_data
(Optional)

Specifies whether input layers will be converted to a file geodatabase or preserved in their original format.

  • CONVERT Data will be converted to a file geodatabase. This option does not apply to enterprise geodatabase data sources. To convert enterprise geodatabase data, set convert_arcsde_data = 'CONVERT_ARCSDE'.
  • PRESERVEData formats will be preserved when possible. This is the default.
Boolean
convert_arcsde_data
(Optional)

Specifies whether input enterprise geodatabase layers will be converted to a file geodatabase or preserved in their original format.

  • CONVERT_ARCSDE Enterprise geodatabase data will be converted to a file geodatabase and will be included in the consolidated folder or package. This is the default.
  • PRESERVE_ARCSDE Enterprise geodatabase data will be preserved and will be referenced in the consolidated folder or package.
Boolean
extent
(Optional)

Specifies the extent that will be used to select or clip features.

  • MAXOF—The maximum extent of all inputs will be used.
  • MINOF—The minimum area common to all inputs will be used.
  • DISPLAY—The extent is equal to the visible display.
  • Layer name—The extent of the specified layer will be used.
  • Extent object—The extent of the specified object will be used.
  • Space delimited string of coordinates—The extent of the specified string will be used. Coordinates are expressed in the order of x-min, y-min, x-max, y-max.
Extent
apply_extent_to_arcsde
(Optional)

Specifies whether the specified extent will be applied to all layers or only to enterprise geodatabase layers.

  • ALL The specified extent will be applied to all layers. This is the default.
  • ARCSDE_ONLYThe specified extent will be applied to enterprise geodatabase layers only.
Boolean
schema_only
(Optional)

Specifies whether only the schema of the input layers will be consolidated or packaged.

  • ALL All features and records will be consolidated or packaged. This is the default.
  • SCHEMA_ONLY Only the schema of the input layers will be consolidated or packaged.
Boolean
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.

Note:

A package saved to a previous version may lose properties available only in the newer version.

  • ALL The package will contain a geodatabase and layer file compatible with all versions (ArcGIS Pro 1.2 and later).
  • CURRENT The package will contain a geodatabase and layer file compatible with the version of the current release.
  • 2.xThe package will contain a geodatabase and layer file compatible with version 2.0 and later.
  • 1.2The package will contain a geodatabase and layer file compatible with version 1.2 and later.
String
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
select_related_rows
(Optional)

Specifies whether the specified extent will be applied to related data sources.

  • KEEP_ONLY_RELATED_ROWSOnly related data corresponding to records within the specified extent will be consolidated.
  • KEEP_ALL_RELATED_ROWSRelated data sources will be consolidated in their entirety. This is the default.
Boolean

Code sample

PackageLayer example 1 (Python window)

The following Python script demonstrates how to use the PackageLayer tool from within the Python window.

# This code assumes the current project has a map open with a layer named "Streets"
import arcpy
outputFile = "c:/packages/streetsLayer.lpkx"
arcpy.PackageLayer_management("Streets", outputFile, "PRESERVE", 
                              "CONVERT_ARCSDE", "#", "ALL", "ALL", "CURRENT", 
                              "C:/readme.docx", "Summary of package", 
                              "parcel,montgomery")
PackageLayer example 2 (stand-alone script)

Package all feature layers in the first map of a given project to their own individual layer package files.

# import system modules
import os
import arcpy

prj = arcpy.mp.ArcGISProject(r"\\fileServe\projects\Timbuktu\Timbuktu.aprx")
maps = prj.listMaps()[0]
lyrs = maps.listLayers()
for lyr in lyrs:
    if lyr.isFeatureLayer:
        arcpy.PackageLayer_management(lyr, os.path.join("c:/temp", lyr.name + ".lpkx"))

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

Related topics