arcpy.mp 简介

Arcpy.mp 是一个作为 ArcPy 站点包一部分的 Python 子模块。 随 ArcGIS Pro 一同安装,并对所有许可均可用。 其设计初衷主要是用于操作现有工程 (.aprx) 和图层文件 (.lyrx) 的内容。 可以自动化工程的内容,甚至无需打开应用程序。 在某些情况下,它会提供对 ArcGIS Pro 不可用的功能,例如,需要 arcpy.mp 才能构建完整的地图册,因为它包含用于导出为、创建和管理 PDF 的函数。

通过描述 arcpy.mp 执行的一些方案来了解其功能将会更容易些。 下面是 arcpy.mp Python 脚本可帮助您完成的其中一些工作流:

  • 自动导出布局、地图视图、地图系列和报表
  • 构建多种 PDF 地图册,例如,参考地图册或具有标题页、多个地图页以及支持内容(如表格式报表和联系人列表)的众多附加页的专题地图册。
  • 操作地图上的一些元素,例如更新图片、公司徽标或更新文本字符串等。
  • 扩展地理处理脚本工具以直接使用地图、布局和其他工程元素。
  • 使用库存脚本记录有关工程、数据、断开的数据源、文件夹连接等的信息。
  • 更新、修复或替换图层数据源。
  • 管理布局、地图、报表、文件夹连接、视图等工程项目。
  • 修改图层的符号系统。
  • 自动在线执行共享要托管在组织中的工程项。

预期受众和目的

Arcpy.mp 专门面向专业的 GIS 分析人员以及开发人员而构建。 以前,以上列出的方案必须使用 .NET SDK 来完成,然而事实多次证明,对于普通 GIS 专业人员而言,该编程环境非常难学。 Arcpy.mp 是一种粗粒度对象模型,即函数的设计原则是单个函数可代替多行更细粒度的 .NET 代码。 以下简单示例显示了如何使用 arcpy.mp 通过仅仅四行代码引用工程中现有布局并将其导出至 PDF 文档。

import arcpy
aprx = arcpy.mp.ArcGISProject(r"C:\Projects\YosemiteNP\Yosemite.aprx")
lyt = aprx.listLayouts("Main Attractions*")[0]
lyt.exportToPDF(r"C:\Project\YosemiteNP\Output\Yosemite.pdf", resolution=300)

第一行将加载 arcpy 模块,这对于所有运行在 ArcGIS Pro 之外的脚本均是必需的。 第二行将引用磁盘上的 ArcGIS Pro 工程。 第三行将查找名称以 Main Attractions 一词开头的第一个布局(使用从零开始的索引)。 第四行代码将布局导出至输出分辨率为 300 的 PDF。

入门提示

最佳入门方法如下:

拓展知识

现有 arcpy.mp API 可以执行一些难以置信的功能,同时理解范围没有 .NET SDK 广泛。 如果 API 不含您需要完成的内容,这并不意味着其无法完成。 API 还允许访问内部组件,这些组件会保留在工程或图层文件中保存的所有内容。 有关详细信息,请参阅 Python CIM 访问帮助主题。

请访问 Python 地图自动化示例脚本站点,可从中下载更高级的解决方案。