什么是 arcpy.mapping?
Arcpy.mapping 是一个作为 ArcPy 站点包一部分的Python 脚本模块。随 ArcGIS Desktop 一同安装,并对所有许可均可用。其设计初衷主要是用于操作现有地图文档 (.mxd) 和图层文件 (.lyr) 的内容。此外,还提供自动执行导出和打印的功能。Arcpy.mapping 可用于自动执行地图生产;它扩展了数据驱动页面的功能,同时,因其包含导出至 PDF 文档、创建和管理 PDF 文档的函数,而为构建完整地图册所必需。最后,可将 arcpy.mapping 脚本发布为地理处理服务,并将脚本功能提供给 Web 应用程序。
通过描述 arcpy.mapping 执行的一些方案来了解其功能将会更容易些。以下是 arcpy.mapping 脚本可完成的众多方案中的一小部分:
- 创建有关地图文档中所含信息(如数据框坐标系、图层数据源、数据源损坏的图层或布局元素位置)的报告。
- 更新、修复或替换地图文档或图层文件中的图层数据源。
- 更新图层符号系统而无需实际打开地图文档。
- 查找并替换文件夹内所有地图文档的文本字符串。
- 将地图文档保存至之前的 ArcGIS 版本,以便分发。
- 更新地图文档元数据(例如,关键字、摘要和描述)。
- 使用地图导出命令批量创建地理数据,例如,由数据框中要素列表驱动的一系列 GeoTIFF 图像。
- 自动创建和管理要通过 ArcGIS Server 发布的地图服务。
- 构建多种 PDF 地图册:
- 含标题页、多个地图页面以及任意数量含辅助内容(如表格式报表和联系人列表)的附加页面的专题或时态地图册。
- 基于数据驱动页面输出的参考地图册。
arcpy.mapping 面向哪些人群?构建 arcpy.mapping 的初衷何在?
Arcpy.mapping 专门面向专业的 GIS 分析人员(以及开发人员)而构建。以前,以上列出的方案必须使用 ArcObjects 来完成,然而事实多次证明,对于普通 GIS 专业人员而言,该编程环境非常难学。Arcpy.mapping 是一种粗粒度对象模型,也即函数的设计原则是单个 arcpy.mapping 函数可代替多行 ArcObjects 代码。以下这个简单示例显示了如何使用 arcpy.mapping 通过仅仅两行代码引用现有地图文档并将其导出至 PDF 文档。
mxd = arcpy.mapping.MapDocument("C:/Project/Watersheds.mxd")
arcpy.mapping.ExportToPDF(mxd, "C:/Project/Output/Watersheds.pdf")
Arcpy.mapping 不是 ArcObjects 的替代品,而是作为其支持的不同情景的一种备选方案。对于细粒度开发和应用程序自定义来说,ArcObjects 仍是必不可少的,而 arcpy.mapping 主要用于自动处理现有地图文档和图层文件的内容。
入门的最佳方法
- 参考 arcpy.mapping 教程入门。
- 查看按字母顺序排序的 arcpy.mpping 函数列表和按字母顺序排序的 arcpy.mpping 类列表以了解可用的功能。在使用 arcpy.mpping 编写脚本时,可将这些资料打印出来作为参考。
- 所有 arcpy.mapping 函数和类的帮助主题都有详细的说明,并提供了可直接复制并粘贴到 Python 窗口中的代码片段示例。
- 在“ArcGIS 资源中心”搜索“地理处理模型和脚本工具库”以获得更多高级的 arcpy.mapping 示例应用程序。