本教程将引导您了解一些常见 arcpy.mp 工作流,同时还将介绍一些重要概念。其目的在于帮助初识 Python 脚本和 arcpy.mp 的用户。本教程中的步骤适用于任何数据及所有许可级别。
注:
以下步骤从总体上概括了 arcpy.mp。在本教程中,提供了许多具体帮助主题的链接,对涉及到的概念给出了详细解释。而且,这些主题基本上都附有示例代码片段。
教程设置
您需要设置一个包含单个地图和布局的基本工程。
- 打开新的空白工程。
- 在插入选项卡的工程组中,单击新建地图并在下拉菜单中再次选择新建地图。
- 在插入选项卡上,单击新建布局并从图库中选择布局。
- 在插入选项卡的地图框组中,从地图框下拉菜单的工程中选择地图并将其添加到布局。
- 在工程选项卡上,单击保存。
Python 窗口
开始学习 arcpy.mp 的最简单方法是从 Python 窗口入手。这允许您执行基于 Python 的小型工作流,并且在大型脚本中进行细化之前可使您直接了解应用程序中的概念。Python 窗口是 ArcGIS Pro 应用程序框架的一部分,提供 intelliSense、自动完成和命令语法,因此您可以按正确顺序快速输入相应的参数信息。
- 在分析选项卡上,单击 Python。
- 在显示在此处输入 Python 代码的代码窗格中单击。
默认情况下,Python 窗口将停靠在应用程序的底部。
引用现有工程
通常,通过 arcpy.mp 脚本执行的首要操作之一即引用要处理的现有工程 () 或图层文件(.lyrx 或 .lyr)。在本节中,您将引用工程。
引用工程的方法有两种。第一种方法是通过提供 .aprx 文件的路径在磁盘上进行引用。如果要构建将在 ArcGIS 环境外部运行的脚本,则必须使用工程的完整系统路径才能对其进行引用。第二种方法是引用当前加载到 ArcGIS Pro 应用程序中的工程。在 Python 窗口中进行操作时,引用当前加载的工程十分方便,因为在应用程序中可直接看到对其执行的更改。以下步骤将介绍如何引用当前加载至 ArcGIS Pro 中的工程。
- 在 Python 窗口中,输入以下代码行,然后按 Enter。切记,Python 语法区分大小写。
- 在 Python 窗口中,输入以下内容:
- 在 Python 窗口中,继续输入以下内容,然后按 Enter。需要提供到自己现有地理数据库的路径。
- 若要查看您刚对工程做出的更改,请单击工程选项卡并选择选项。
- 单击取消。
- 在 Python 窗口中输入以下内容,然后按 Enter:
- 在 Python 窗口中输入以下内容,然后按 Enter:
>>> aprx = arcpy.mp.ArcGISProject("CURRENT")
>>> aprx.
>>> aprx.defaultGeodatabase = r"path to a geodatabase of yours" #### for example, aprx.defaultGeodatabase = r"C:\Projects\YosemiteNP\Data\Yosemite.gdb")
>>> aprx.save()
检查文件的时间戳。应将其更新到当前日期和时间。
save() 方法不含任何参数,但由于它是一种方法,因此必须包含括号。要验证工程保存的位置,请执行以下操作:>>> print(aprx.filePath)
将图层文件添加到地图
此时,您已引用了工程,接下来便可将图层文件(.lyr 或 .lyrx)添加到地图。首先,引用工程中的地图,其次引用磁盘上的图层文件;最后向地图添加图层文件。
注:
对于以下步骤,需要定位现有图层文件。如果没有图层文件,则需要创作一个。- 在 Python 窗口中,输入以下内容:
- 在 Python 窗口中,输入以下内容:
- 在 Python 窗口中,按 Backspace 删除 addLayer 方法,输入以下内容,然后按 Enter:
- 在 Python 窗口中输入以下内容,然后按 Enter:
>>> m = aprx.listMaps("Map")[0]
>>> m.addLayer(
>>> lyrFile = arcpy.mp.LayerFile(r"path to a layer file") ### for example, lyrFile = arcpy.mp.LayerFile(r"C:\Projects\YosemiteNP\LYRS\rivers.lyrx")
>>> m.addLayer(lyrFile, "TOP")
将布局导出为 PDF
将布局导出为 PDF 只需一对代码行。首先,引用要导出的布局并调用 exportToPDF 方法。
- 在 Python 窗口中输入以下内容,然后按 Enter:
- 在 Python 窗口中输入以下内容,然后按 Enter。您提供的路径很可能与以下示例不同。
>>> lyt = aprx.listLayouts("Layout")[0]
>>> lyt = aprx.listLayouts()[0]
>>> lyt.exportToPDF(r"C:\Projects\YosemiteNP\Output\Page1.pdf")
至此,您已使用 arcpy.mp 完成了一个常见工作流。接下来的步骤是将此工作流应用至您自己的工程和图层。另请参阅 arcpy.mp 帮助主题。每个主题末尾都提供了多种小代码示例,可轻松将其复制并粘贴到 Python 窗口中。