Consolidate Project (Data Management)

Summary

Consolidates a project (.aprx file) and referenced maps and data to a specified output folder.

Usage

  • All elements of a project will be consolidated and included in the .aprx file, including maps, the data referenced by the layers, toolboxes, styles, layouts, and connections when appropriate.

  • The Share outside of organization parameter controls whether the data will be consolidated to the folder.

    • Unchecked—This will create packages for your internal environment, meaning the data will not be consolidated. UNC paths and enterprise geodatabase layers, styles, and connections will remain referenced in your consolidated project. (In Python, set the sharing_interal parameter to INTERNAL.)
    • Checked—This will copy all required data sources for the package to the consolidated folder. (In Python, set the sharing_interal parameter to EXTERNAL.) Items that would not be available outside your network, such as enterprise geodatabase connections and paths to UNC folders, will not be included. However, if data from these sources is included in a map or layout in the project, it will be copied to the output folder.

    Note:

    Data and maps will be consolidated if the project references them from a local path, such as c:\gisdata\landrecords.gdb\, regardless of the Share outside of organization parameter setting.

  • Templates can be created using the Consolidate as template parameter. A project template can help you create a project by defining layers, maps, and data as well as required connections.

    Learn more about project templates

  • Toolboxes that are part of a project are analyzed using the Analyze Tools For Pro tool before the consolidation routines are performed. Errors that are identified will stop the consolidation process. You must either fix these errors or remove the tool from the project. Input data the tools require will be consolidated regardless of whether the data is part of a map in the project.

  • Connections such as folder, server, database, workflow, and data reviewer will only be included in an internal package. These items are removed if the package is created to be shared outside your organization.

  • Items such as attachments, styles, and tasks will be referenced for internal packages if they were part of the project from a UNC path. These items will be copied and packaged in all other situations.

  • 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.

Syntax

arcpy.management.ConsolidateProject(in_project, output_folder, {sharing_internal}, {extent}, {apply_extent_to_enterprise_geo}, {package_as_template}, {preserve_sqlite}, {version}, {select_related_rows})
ParameterExplanationData Type
in_project

The project (.aprx file) to be consolidated.

File
output_folder

The output folder that will contain the consolidated project and data. If the specified folder does not exist, a new folder will be created.

Folder
sharing_internal
(Optional)

Specifies whether the project and all data will be consolidated to the output folder so it can be shared externally.

  • INTERNAL The project and its data sources will not be consolidated to the output folder. This is the default.
    Note:

    This parameter applies to enterprise geodatabase data sources, including enterprise geodatabases and folders referenced via a UNC path.

  • EXTERNALThe project and its data sources will be consolidated (copied) to the output folder when possible.
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_enterprise_geo
(Optional)

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

  • ALL The extent is applied to all layers. This is the default.
  • ENTERPRISE_ONLYThe extent is applied to enterprise geodatabase layers only.
Boolean
package_as_template
(Optional)

Specifies whether the project will be consolidated as a template or a regular project. Templates can include maps, layouts, connections to databases and servers, and so on. A project template allows you to standardize a series of maps for use in a project and ensure that the correct layers are immediately available for everyone to use in their maps.

Learn more about project templates

  • PROJECT_PACKAGEThe project will be consolidated as a project into a folder. This is the default.
  • PROJECT_TEMPLATEThe project will be consolidated as a template into a folder
Boolean
preserve_sqlite
(Optional)

Specifies whether SQLite geodatabases will be preserved or converted to file geodatabases.

Note:

This parameter applies only to .geodatabase files, used primarily for offline workflows in ArcGIS Runtime apps. SQLite databases with .sqlite or .gpkg file extensions will be converted to file geodatabases.

  • CONVERT_SQLITESQLite geodatabases will be converted to file geodatabases. This is the default.
  • PRESERVE_SQLITESQLite geodatabases will be preserved.
Boolean
version
(Optional)

Specifies the ArcGIS Pro version the consolidated project will be saved as. Saving to an earlier version will ensure tool backward compatibility. If you attempt to consolidate a toolbox to an earlier version and capabilities that are only available in the newer version are included, an error will occur. You must remove tools that are incompatible with the earlier version, or specify a compatible version.

  • CURRENT The consolidated folder will contain geodatabases and maps compatible with the version of the current release.
  • 2.1The consolidated folder will contain geodatabases and maps compatible with version 2.1.
  • 2.2 The consolidated folder will contain geodatabases and maps compatible with version 2.2.
  • 2.3The consolidated folder will contain geodatabases and maps compatible with version 2.3.
  • 2.4The consolidated folder will contain geodatabases and maps compatible with version 2.4.
  • 2.5The consolidated folder will contain geodatabases and maps compatible with version 2.5.
  • 2.6The consolidated folder will contain geodatabases and maps compatible with version 2.6.
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

ConsolidateProject example 1 (Python window)

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

import arcpy
arcpy.ConsolidateProject_management('c:\\projects\\SE_Pipelines\\PipeDevelopment.aprx', 'E:\\gisShare\\projects\\Pipelines\\SE_Pipeline', 'INTERNAL')
ConsolidateProject example 2 (stand-alone script)

The following script takes an input directory in which project files (.aprx) reside on a UNC share and consolidates the project onto a local drive. The data will still be accessible to the now local project as the INTERNAL keyword is used.

import os
import arcpy

enterpriseProjectDir = "\\\\centralFileServer\\gisData\\ArcGISProProjects"
localProjectDir = "c:\\GISdata\\localProjects"

walk = arcpy.da.Walk(enterpriseProjectDir, datatype="Project")

for dirpath, dirnames, filenames in walk:
    for fname in filenames:
        project = os.path.join(dirpath, fame)
        outputFolder = os.path.join(localProjectDir, os.path.splitext(os.path.basename(project))[0])
        print("Consolidating: {0} to {1}".format(project, outputFolder))
        arcpy.ConsolidateProject_management(project, outputFolder, "INTERNAL")

Environments

Licensing information

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

Related topics