什么是制图模块

制图模块 arcpy.mp 是一个 Python 模块,用于处理现有工程文件 (*.aprx) 或图层文件 (*.lyrx) 的内容。 您可以在应用程序中或无需打开应用程序对这些文件的内容进行修改。 该模块随 ArcGIS Pro 一同安装,并对所有许可均可用。

下面是一些可以使用 arcpy.mp 脚本完成的诸多工作流示例:

  • 管理工程项目,例如布局、地图、报告、文件夹连接、数据库连接、工具箱和样式。
  • 访问和修改工程设置,例如默认数据库、默认地理数据库和抗锯齿模式。
  • 生成库存脚本以记录有关工程的信息、正在使用的图层、已损坏数据源、文件夹连接等。
  • 在工程、地图或单个图层级别下更新、修复或替换数据源。
  • 通过更改内容、添加或移除图层、更改图层符号系统或更改各种地图属性来创建或修改地图。
  • 修改诸多图层属性之一,例如定义查询、可见性、时间设置、符号系统等。
  • 自动导出布局、地图视图、地图系列和报告。
  • 创建或修改布局上的元素,例如更改页面大小或方向、更新图片、插入图例、更改文本字符串等。
  • 通过在导出过程包含用于生成页面特定更改的自定义逻辑扩展地图系列的功能。
  • 通过附加、插入或删除多页 PDF 中的页面管理 PDF 地图册。

预期受众和目的

arcpy.mp 模块是专为专业的 GIS 分析人员何开发人员打造的。 以前,以上列出的方案必须使用 .NET SDK 来完成,然而事实多次证明,对于普通 GIS 专业人员而言,该编程环境非常难学。 arcpy.mp 模块是一种粗粒度对象模型,这意味着函数的设计原则是单个函数可代替多行更细粒度的 .NET 代码。 下面提供了示例脚本。

以下脚本用于更新工程中所有图层和表的文件地理数据库数据源的完整路径。 在本示例中,对文件夹进行了重命名,将所有矢量数据移动到了新位置并且将更改保存到工程。 脚本可以在应用程序外部运行,因为工程文件是使用完整路径引用的。


import arcpy
aprx = arcpy.mp.ArcGISProject(r'C:\Projects\YosemiteNP\Yosemite.aprx')  
aprx.updateConnectionProperties(r'C:\Projects\YosemiteNP\Old_location\Yosemite.gdb',
                                r'C:\Projects\YosemiteNP\New_location\Yosemite.gdb')
aprx.save()

注:
有关如何管理数据源的更多示例,请参阅更新和修复数据源

以下是如何使用 arcpy.mp 仅通过四行代码引用工程中的现有布局并将其导出至 PDF 文档的另一个示例。 该脚本必须在应用程序内部运行,因为正在引用当前工程。


aprx = arcpy.mp.ArcGISProject("CURRENT")  
pdf = arcpy.mp.CreateExportFormat("PDF", r"C:\Project\YosemiteNP\Output\Yosemite.pdf")
lyt = aprx.listLayouts("Main Attractions*")[0]
lyt.export(pdf)

入门提示

最佳入门方法如下:

拓展知识

现有 arcpy.mp API 可以访问用于自动化的许多常用功能,但是其功能范围没有 .NET SDK 广泛。 如果 API 不含您需要完成的内容,这并不意味着其无法完成。 API 的设计允许访问内部组件,这些组件会保留在工程或图层文件中保存的所有内容。 有关详细信息,请参阅 Python CIM 访问帮助主题,了解对其他功能的更高级访问。