描述
将引用地图和数据的工程 (.aprx 文件) 合并并打包到已打包的工程文件 (.ppkx) 中。
使用方法
将工程的所有元素合并到工程包 (.ppkx) 中,这些元素包括地图和 3D 视图、位于地图中的数据和图层、工具箱、地理处理历史项目、样式、布局以及文件夹或连接(服务器、工作流等)(如果适用)。
默认情况下,创建的工程包供内部使用。在组织外共享参数可用于控制是创建供内部使用(组织网络内)的包,还是创建供外部使用的包。如果选中在组织外共享,则通过 UNC 路径引用的企业级地理数据库图层和数据将包括在工程包内。
注:
必须通过企业级地理数据库或 UNC 文件路径引用数据源才能创建保持引用数据的内部包。将始终合并和打包本地数据路径。如果要在环境外部共享内部包(其中的数据为引用数据)或将其共享给不具有企业级地理数据库或 UNC 数据共享访问权限的同事,则在创建该包时将打开损坏的链接。
可使用打包为模板参数创建模板。工程模板(.aptx 文件)可帮助您通过定义图层、地图和数据以及所需的连接来创建新工程。
在执行合并进程之前,将使用针对 Pro 分析工具工具分析属于工程一部分的工具箱。识别出的错误将停止合并进程。您需要修复这些错误,或从工程中删除工具。无论数据是否属于工程中的地图,都将合并工具所需的输入数据。通过取消选中包括工具箱参数可以将工具箱从输出工程包中排除。
与工程工具箱类似,地理处理历史(来自执行地理处理工具的结果信息)将包含在包中。执行历史项目所需的数据将包括在输出包中,而无论其是否存在于地图或场景中。任何无效(在执行过程中失败)或者无法找到数据的历史项目都将导致打包过程停止。您将需要移除或修复有问题的历史项目。通过取消选中包括历史项目参数可以将历史项目从输出工程包中排除。
连接(例如文件夹、服务器、数据库以及工作流)将仅包括在内部包中。如果创建包的目的是要在组织外共享,则将删除这些项目。
如果项目(例如附件、样式和任务)为 UNC 路径中的工程的一部分,则将对内部包引用项目。在所有其他情况下,都将对这些项目进行复制和打包。
对于要素图层,范围参数用来选择将要合并的要素。对于栅格图层,范围参数用来裁剪栅格数据集。
记录地图和数据或提供详细信息的文件可包括在包中。通过附加文件参数引用图像、PDF、word 文档 和 .zip 文件,可将其包括在包中。
警告:
只能通过 ArcGIS Pro 创建和打开工程包 (.ppkx 文件)。
语法
arcpy.management.PackageProject(in_project, output_file, {sharing_internal}, {package_as_template}, {extent}, {apply_extent_to_arcsde}, {additional_files}, {summary}, {tags}, {version}, {include_toolboxes}, {include_history_items}, {read_only}, {select_related_rows})
参数 | 说明 | 数据类型 |
in_project | 要打包的工程(.aprx 文件)。 | File |
output_file | 输出工程包(.ppkx 文件)。 | File |
sharing_internal (可选) | 指定是针对内部环境合并工程,还是移动所有数据元素以便在外部共享工程。
| Boolean |
package_as_template (可选) | 指定是否创建工程模板或工程包。模板可以包含地图、布局、数据库和服务器的连接等。通过工程模板,您可以轻松标准化不同工程的一系列地图并可确保正确的图层可供所有人直接用于他们的地图中。
| Boolean |
extent (可选) | 指定用于选择或裁剪要素的范围。
| Extent |
apply_extent_to_arcsde (可选) | 指定是将指定范围应用到所有图层,还是仅应用到企业级地理数据库图层。
| Boolean |
additional_files [additional_files,...] (可选) | 将附加文件添加到包中。诸如 .doc、.txt、.pdf 等附加文件可用于提供有关打包内容和目的的详细信息。 | File |
summary (可选) | 将摘要信息添加到包的属性中。 | String |
tags (可选) | 将标签信息添加到包的属性中。可以添加多个标签,标签之间用逗号或分号进行分隔。 | String |
version [version,...] (可选) | 指定将在结果包中创建的地理数据库版本。指定版本可实现与之前版本的 ArcGIS 共享包,并可支持向后兼容。 注:保存为之前版本的包可能会丢失仅适用于较新版本的属性。
| String |
include_toolboxes (可选) | 指定是否合并工程工具箱并将其包括在输出包中。所有工程都需要默认工具箱,因此无论如何设置,默认工具箱都将包括在内。
| Boolean |
include_history_items (可选) | 指定是否合并地理处理历史项目并将其包括在输出包中。包括的历史项目将合并重新执行所述历史项目所需的数据。
| String |
read_only (可选) | 指定工程是否为只读。无法修改或保存只读工程。
| Boolean |
select_related_rows (可选) | 指定是否将指定的范围应用至相关数据源。
| Boolean |
代码示例
以下 Python 脚本演示了如何在 Python 窗口中使用 PackageProject 工具。
import arcpy
p = arcpy.mp.ArcGISProject("CURRENT")
arcpy.PackageProject_management(p.filePath, 'E:\\gisShare\\projects\\Pipelines\\SE_Pipeline.ppkx', 'INTERNAL')
以下 Python 脚本将目录中文件名带有 oil 的所有工程转到工程包 (.ppkx) 中。
import os
import arcpy
enterpriseProjectDir = "\\\\centralFileServer\\gisData\\ArcGISProProjects"
sharedProjectDir = "c:\\publicFiles\\sharedProjects"
walk = arcpy.da.Walk(enterpriseProjectDir, datatype="Project")
for dirpath, dirnames, filenames in walk:
for filename in filenames:
if "OIL" in filename.upper():
project = os.path.join(dirpath, filename)
outputFile = os.path.join(sharedProjectDir, os.path.splitext(os.path.basename(project))[0] + ".ppkx")
print("Packaging: {0} to {1}".format(project, outputFile))
arcpy.PackageProject_management(project, outputFile, "EXTERNAL")
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是