arcpy.mp 简介

什么是 arcpy.mp

Arcpy.mp 是一个作为 ArcPy 站点包一部分的 Python 子模块。随 ArcGIS Pro 一同安装,并对所有许可均可用。其设计初衷主要是用于操作现有工程 (.aprx) 和图层文件 (.lyr.lyrx)的内容。此外,还提供自动执行导出和打印的功能。Arcpy.mp 可用于自动执行地图生产,同时因其包含导出、创建和管理 PDF 文档的功能,而为构建完整地图册所必需。

通过描述 Arcpy.mp 执行的一些方案来了解其功能将会更容易些。以下是 arcpy.mp Python 脚本可完成的众多方案中的一小部分:

  • 创建有关工程中所含信息(如图层及其数据源、数据源损坏的图层、显示的数据范围或布局元素属性)的报告。
  • 更新、修复或替换地图或图层文件中的图层数据源。
  • 查找并替换工程内所有布局的文本字符串。
  • 自动在线执行共享要托管在组织中的工程项。
  • 使用地图导出命令批量创建地理数据,例如,由地图中的一列要素驱动的一系列 GeoTIFF 图像。
  • 构建多种 PDF 地图册,例如,参考地图册或具有标题页、多个地图页以及支持内容(如表格式报表和联系人列表)的众多附加页的专题地图册。

arcpy.mp 面向哪些用户? 构建 arcpy.mapping 的初衷何在?

Arcpy.mp 专门面向专业的 GIS 分析人员以及开发人员而构建。以前,以上列出的方案必须使用 ArcObjects 来完成,然而事实多次证明,对于普通 GIS 专业人员而言,该编程环境非常难学。Arcpy.mp 是一种粗粒度对象模型,即函数的设计原则是单个 arcpy.mp 函数可代替多行 ArcObjects 代码。以下简单示例显示了如何使用 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。

入门的最佳方法