Package Layer (Data Management)
Summary
Packages one or more layers and all referenced data sources to create a single compressed .lpk file.
Illustration
Usage
A warning is issued when this tool encounters an unsupported layer type (a schematics or tool layer). The unsupported layer will not be written to the output.
The input layer must have description in order for the tool to execute. To add description, right-click the layer, click Properties, and enter a description.
When consolidating or packaging layers, the resulting layers will be renamed using the convention integer + layername (for example, 0001fGDB_Polylayer.lyr). The numbered sequence is added to maintain the ordering of the layers as they appear in the table of contents. The lower the number, the higher the layer will appear in the table of contents when the package is unpacked.
Layer packages are backwards compatible with ArcGIS 9.3.1. To create a layer package that is compatible with 9.3.1, check the 9.3.1 option in the optional Version parameter. It is important to note that due to updates and enhanced functionality for some geodatabase elements, not all layer packages will be backwards compatible with 9.3.1.
When Convert Data to File Geodatabase is checked
- Each data source will have a unique file geodatabase created in the consolidated folder.
- Compressed raster and vector formats will be converted to file geodatabase, and compression will be lost.
When Convert Data to File Geodatabase is unchecked
- The format of the input layers will be preserved with one exception; layers that reference data in a personal geodatabase are always converted to file geodatabase.
- Every data source will preserve its original format. File geodatabases will be consolidated into a version-specific folder, and all other formats will be consolidated in the commonData folder.
- Layers that point to ArcSDE data sources will preserve their connection information and remain pointing to the ArcSDE data source in the consolidated folder or package.
- 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.
- 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 the schema of the input data source(s). 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.
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.
Consolidating or packaging Coverage or VPF layers will copy the entire Coverage or VPF dataset into the consolidated folder or package.
-
To unpack a layer package, either drag the .lpk file into ArcMap or right-click on the .lpk file and select Unpack. Alternatively, you can use the Extract Package tool and specify an output folder.
Unpack will always extract the package into your user profile under:
- XP - C:\Documents and Settings\username\My Documents\ArcGIS\Packages
- Vista and Windows 7 - C:\Users\username\Documents\ArcGIS\Packages
Syntax
Parameter | Explanation | Data Type |
in_layer [in_layer,...] |
The layers to package. | Layer |
output_file |
The location and name of the output package file (.lpk) to create. | File |
convert_data (Optional) |
Specifies whether input layers will be converted into file geodatabase or preserve their original format.
| Boolean |
convert_arcsde_data (Optional) |
Specifies whether input layers will be converted into 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. Additionally, to use the extent of a specific layer, simply add the layer name for the extent parameter.
| Extent |
apply_extent_to_arcsde (Optional) |
Specifies the extent that will be used to select ArcSDE data sources.
| Boolean |
schema_only (Optional) |
Specifies whether the schema of the input layers will be consolidated or packaged.
| Boolean |
version [version,...] (Optional) |
Specifies if input layers will be converted into a file geodatabase or preserve their original format. For multiple versions, use semicolons to separate the arguments. For example: "CURRENT;9.3.1"
| String |
Code Sample
The following Python script demonstrates how to use the PackageLayer tool from within the Python window.
import arcpy arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers" arcpy.PackageLayer_management('Parcel.lyr', 'Parcel.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "AlL", "CURRENT")
Finds and creates individual layer packages for all of the layer files that reside in a specified folder.
# Name: PackageLayerEx1.py # Description: Find all the layer files that reside in a specified folder and create a layer package for each layer file. # Author: ESRI # import system modules import os import arcpy from arcpy import env # Set environment settings env.overwriteOutput = True env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers" # Loop through the workspace, find all the layer files (.lyr) and create a layer package using the same name as the original layer file. for lyr in arcpy.ListFiles("*.lyr"): print "Packaging " + lyr arcpy.PackageLayer_management(lyr, os.path.splitext(lyr)[0] + '.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL", "CURRENT")
Finds and creates a single layer package for all of the layer files that reside in a specified folder.
# Name: PackageLayerEx2.py # Description: Find all the layer files that reside in a specified folder and create a single layer package that will contain all layers found. # Author: ESRI # import system modules import os import arcpy from arcpy import env # Set environment settings env.overwriteOutput = True env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers" # Find all the layer files (.lyr) in a workspace and create a single layer package. lyrs = arcpy.ListFiles("*.lyr") arcpy.PackageLayer_management(lyrs, 'all_layers.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL", "CURRENT")