合并工程 (数据管理)

摘要

ArcGIS Pro 工程(.aprx 文件)与引用的地图和数据合并到文件夹。

使用情况

  • 工程的数据和元素都将合并,并包括在 .aprx 文件中,这些元素中包括地图、图层引用的数据、工具箱、样式、布局和连接(如果适用)。

  • 组织外共享参数控制是否将从网络资源引用的数据合并到文件夹中。

    • 未选中 - 将为内部环境创建包,表示将不合并数据。 在 UNC 路径上存储的数据、企业级地理数据库图层、要素服务、样式和连接仍将在合并工程中引用。
    • 选中 - 将包的所有所需数据源复制到合并文件夹。 网络外部不可用的项目(例如企业级地理数据库连接、要素服务和存储在共享文件夹中的数据)将被转换或复制到输出文件夹。

    注:

    如果工程通过本地路径(例如 c:\gisdata\landrecords.gdb\)引用数据和地图,则将合并这些数据和地图(不考虑在组织外共享参数值)。

  • 可使用合并为模板参数创建模板。 使用工程模板,可以定义图层、地图和数据以及创建工程时所需的连接。

    了解有关创建工程模板的详细信息

  • 使用 Pro 分析工具版本分析工具箱工具来分析合并之前属于工程的工具箱。 发现的错误可能会停止合并过程。 您必须修复这些错误,或从工程中移除工具。

  • 连接 - 例如文件夹、服务器、数据库、工作流以及 data reviewer - 将仅包括在内部包中。 如果创建包的目的是要在组织外共享,则将移除这些项目。

  • 如果项目(例如附件、样式和任务)为 UNC 路径中的工程的一部分,则将对内部包引用项目。 在所有其他情况下,都将对这些项目进行复制和打包。

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

参数

标注说明数据类型
输入工程

要合并的工程(.aprx 文件)。

File
输出文件夹

此输出文件夹将包含合并的工程和数据。 如果指定的文件夹不存在,将创建一个文件夹。

Folder
在组织外共享
(可选)

指定是将工程和所有数据合并到单个文件夹(在组织外共享)还是引用网络数据(在组织内共享)。

注:

如果工程通过本地路径(例如 c:\gisdata\landrecords.gdb\)引用数据和地图,则将对这些数据和地图进行合并和打包(不考虑此参数值)。

  • 未选中 - 将按原样引用存储在网络资源(例如企业级地理数据库、要素服务和文件共享(UNC 路径))上的数据。 数据将不会被转换或包含在包中。 这是默认设置。
  • 选中 — 存储在网络资源上的数据将转换或复制到包中。 数据的格式将在可能的情况下被保留。
Boolean
范围
(可选)

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

  • 当前显示范围 地图视图 - 范围基于活动地图或场景。
  • 绘制范围 构造直角并完成草图 - 范围将基于在地图或场景上绘制的矩形。
  • 图层范围 图层 - 范围基于活动地图图层。 选择可用图层或者使用所有图层中的数据范围选项。 每个地图图层具有以下选项:

    • 所有要素 全选 - 所有要素的范围。
    • 选定要素 基于选定要素的区域 - 选定要素的范围。
    • 可见要素 Extent Indicator - 可见要素的范围。

  • 浏览 浏览 - 范围将基于数据集。
  • 输入的交集 相交 - 范围将为所有输入的相交范围。
  • 输入的并集 联合 - 范围将为所有输入的合并范围。
  • 剪贴板 粘贴 - 可在剪贴板中复制和粘贴范围。
    • 复制范围 复制 - 将范围和坐标系复制到剪贴板。
    • 粘贴范围 粘贴 - 从剪贴板粘贴范围和坐标系。 如果剪贴板不包含坐标系,则范围将使用地图的坐标系。
  • 重置范围 重置 - 将范围重置为默认值。

当手动提供坐标时,坐标必须为数值,并且位于活动地图的坐标系中。 地图可能使用与提供的坐标不同的显示单位。 在南纬和西经坐标中使用负号。

Extent
仅将范围应用于企业级地理数据库图层
(可选)

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

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

Boolean
合并为模板
(可选)

指定将工程作为模板工程还是规则工程进行合并。 模板可以包含地图、布局、数据库和服务器的连接等。 通过工程模板,您可以标准化一系列地图以在工程中使用,并确保人们可立即使用正确的图层。

  • 未选中 - 该工程将被作为工程合并到文件夹中。 这是默认设置。
  • 选中 - 该工程将被作为模板合并到文件夹中。

Boolean
保留移动地理数据库
(可选)

用于指定是保留移动地理数据库还是将其转换为文件地理数据库。

注:

该参数仅适用于移动地理数据库 (.geodatabase),主要用于 ArcGIS Runtime 应用程序中的离线工作流。 文件扩展名为 .sqlite.gpkgSQLite 数据库将转换为文件地理数据库。

  • 未选中 - 移动地理数据库将被转换为文件地理数据库。 这是默认设置。
  • 选中 - 将保留移动地理数据库。

Boolean
版本
(可选)

指定工程、地图和图层等对象将保留到的 ArcGIS Pro 版本。 如果工程将与早期版本的 ArcGIS Pro 一起使用,则保存为早期版本很有用。

注:

保存为早期版本的工程可能会丢失仅在更高版本中可用的功能或属性。

  • 当前版本合并文件夹的内容将与 ArcGIS Pro 的当前版本相匹配。
  • ArcGIS Pro 2.2合并文件夹的内容将为 ArcGIS Pro 2.2 版本。
  • ArcGIS Pro 2.3合并文件夹的内容将为 ArcGIS Pro 2.3 版本。
  • ArcGIS Pro 2.4合并文件夹的内容将为 ArcGIS Pro 2.4 版本。
  • ArcGIS Pro 2.5合并文件夹的内容将为 ArcGIS Pro 2.5 版本。
  • ArcGIS Pro 2.6合并文件夹的内容将为 ArcGIS Pro 2.6 版本。
  • ArcGIS Pro 2.7合并文件夹的内容将为 ArcGIS Pro 2.7 版本。
  • ArcGIS Pro 2.8合并文件夹的内容将为 ArcGIS Pro 2.8 版本。
  • ArcGIS Pro 2.9合并文件夹的内容将为 ArcGIS Pro 2.9 版本。
  • ArcGIS Pro 3.0合并文件夹的内容将为 ArcGIS Pro 3.0 版本。
  • ArcGIS Pro 3.1合并文件夹的内容将为 ArcGIS Pro 3.1 版本。
  • ArcGIS Pro 3.2合并文件夹的内容将为 ArcGIS Pro 3.2 版本。
  • ArcGIS Pro 3.3合并文件夹的内容将为 ArcGIS Pro 3.3 版本。
  • ArcGIS Pro 3.4合并文件夹的内容将为 ArcGIS Pro 3.4 版本。
String
仅保留与范围内要素相关的行
(可选)

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

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

arcpy.management.ConsolidateProject(in_project, output_folder, {sharing_internal}, {extent}, {apply_extent_to_enterprise_geo}, {package_as_template}, {preserve_sqlite}, {version}, {select_related_rows})
名称说明数据类型
in_project

要合并的工程(.aprx 文件)。

File
output_folder

此输出文件夹将包含合并的工程和数据。 如果指定的文件夹不存在,将创建一个文件夹。

Folder
sharing_internal
(可选)

指定是将工程和所有数据合并到单个文件夹(在组织外共享)还是引用网络数据(在组织内共享)。

  • INTERNAL将按原样引用存储在网络资源(例如企业级地理数据库、要素服务和文件共享(UNC 路径))上的数据。 数据将不会被转换或包含在包中。 这是默认设置。
  • EXTERNAL存储在网络资源上的数据将转换或复制到包中。 数据的格式将在可能的情况下被保留。
Boolean
extent
(可选)

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

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

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

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

指定将工程作为模板工程还是规则工程进行合并。 模板可以包含地图、布局、数据库和服务器的连接等。 通过工程模板,您可以标准化一系列地图以在工程中使用,并确保人们可立即使用正确的图层。

了解有关创建工程模板的详细信息

  • PROJECT_PACKAGE该工程将被作为工程合并到文件夹中。 这是默认设置。
  • PROJECT_TEMPLATE该工程将被作为模板合并到文件夹中
Boolean
preserve_sqlite
(可选)

用于指定是保留移动地理数据库还是将其转换为文件地理数据库。

注:

该参数仅适用于移动地理数据库 (.geodatabase),主要用于 ArcGIS Runtime 应用程序中的离线工作流。 文件扩展名为 .sqlite.gpkgSQLite 数据库将转换为文件地理数据库。

  • CONVERT_SQLITE移动地理数据库将转换为文件地理数据库。 这是默认设置。
  • PRESERVE_SQLITE将保留移动地理数据库。
Boolean
version
(可选)

指定工程、地图和图层等对象将保留到的 ArcGIS Pro 版本。 如果工程将与早期版本的 ArcGIS Pro 一起使用,则保存为早期版本很有用。

注:

保存为早期版本的工程可能会丢失仅在更高版本中可用的功能或属性。

  • CURRENT合并文件夹的内容将与 ArcGIS Pro 的当前版本相匹配。
  • 2.2合并文件夹的内容将为 ArcGIS Pro 2.2 版本。
  • 2.3合并文件夹的内容将为 ArcGIS Pro 2.3 版本。
  • 2.4合并文件夹的内容将为 ArcGIS Pro 2.4 版本。
  • 2.5合并文件夹的内容将为 ArcGIS Pro 2.5 版本。
  • 2.6合并文件夹的内容将为 ArcGIS Pro 2.6 版本。
  • 2.7合并文件夹的内容将为 ArcGIS Pro 2.7 版本。
  • 2.8合并文件夹的内容将为 ArcGIS Pro 2.8 版本。
  • 2.9合并文件夹的内容将为 ArcGIS Pro 2.9 版本。
  • 3.0合并文件夹的内容将为 ArcGIS Pro 3.0 版本。
  • 3.1合并文件夹的内容将为 ArcGIS Pro 3.1 版本。
  • 3.2合并文件夹的内容将为 ArcGIS Pro 3.2 版本。
  • 3.3合并文件夹的内容将为 ArcGIS Pro 3.3 版本。
  • 3.4合并文件夹的内容将为 ArcGIS Pro 3.4 版本。
String
select_related_rows
(可选)

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

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

代码示例

ConsolidateProject 示例 1(Python 窗口)

以下 Python 脚本演示了如何在 Python 窗口中使用 ConsolidateProject 函数。

import arcpy
arcpy.management.ConsolidateProject(r'c:\projects\SE_Pipelines\PipeDevelopment.aprx',
                                    r'E:\gisShare\projects\Pipelines\SE_Pipeline',
                                    'INTERNAL')
ConsolidateProject 示例 2(独立脚本)

以下脚本采用输入目录(其中工程文件 (.aprx) 位于 UNC 共享中)并将工程合并到本地驱动器。 由于使用了 INTERNAL 关键字,该数据现在仍可供本地工程访问。

import os
import arcpy

enterpriseProjectDir = r"\\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.management.ConsolidateProject(project, outputFolder, "INTERNAL")

环境

特殊情况

并行处理因子

如果未指定环境,该工具将使用可用内核的二分之一。

许可信息

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

相关主题