3.1介绍
本章介绍ArcGIS Pro中的地理处理框架,包括工具、模型和脚本的使用。理解地理处理框架有助于编写有效的Python脚本。Python和ModelBuilder经常同时使用,因此建议了解ModelBuilder,以充分利用Python脚本。
3.2 what is geoprocessing
ArcGIS Pro中的地理处理允许执行空间分析和建模,以及自动化GIS任务。典型的地理处理工具会获取输入数据(要素类、光栅或表格),执行地理处理任务,并生成输出数据。ArcGIS Pro包含一千多种地理处理工具。我认为这对于有arcgis应用学习经历的人,很好理解。关于地理处理框架的组成及各部分介绍,接下来详细展开。
3.3 地理处理工具箱和工具
这里感觉没有什么要介绍的,打开工具箱查看一下就能懂。
3.4 工具的类别与类型
内置工具:使用ArcObjects and C++等编写
脚本工具:
模型工具:
3.5 使用工具对话框执行工具
书中介绍的很详细,对于有基础的人,我认为只需要关注一下
这个操作就可以,可以打开arcgis 的支持网站,查看工具的介绍和conda等。然后还可以使用历史记录,一旦有实验思路的错误等,可以通过历史记录打开以前的参数设置等,修改参数等。
3.6 制定环境设置
第一级环境:应用程序
第二级环境:每个工具中
有许多设置,但最重要的设置之一是当前工作区。 大多数地理处理工具使用数据集作为输入,然后输出新的数据集。 工作空间由这些数据集所在的路径组成。 数据集的完整路径和文件名可能会很长,例如 C:\Data\project_A12\water\final.gdb\roads。 设置工作空间后,您只需在工具对话框中指定基本名称。您将工作空间设置为 C:\Data\project_A12\water\final.gdb,然后在指定工具参数时仅输入基本名称“roads”。 此快捷方式导致不必每次都输入这些冗长的路径(并且可能会引入拼写错误)。 设置当前工作区后,它是您在磁盘上浏览文件时的默认位置。
设置工作空间后,您可以通过仅输入要素类的基本名称来指定此工作空间内的要素类。 输入基本名称并将光标再次放在参数内后,将显示完整路径。
环境有四个层次:第一个层次是分析选项卡中,第二个是每个工具的环境,第三个层次是模型。环境可以作为模型属性的一部分创建。在模型中创建的任何设置都会覆盖应用程序设置传递的设置。模型环境保存为模型的一部分。第四级是脚本。可以将环境设置编码到Python脚本中,这些设置会覆盖应用程序或工具对话框传递的设置。这些设置作为Python代码的一部分保存在脚本文件中。
一般来说,环境在这个层次结构系统中是向下传递的,但您可以在每个级别覆盖这些设置。实际上,通常在应用程序级别设置一些环境设置,只有在有特定原因时才使用较低级别的设置。例如,当只需要一个工具的输出坐标系与分析的其他部分不同时,可以将环境设置为该工具的级别。
Python脚本工具和Python工具箱在ArcGIS Pro应用程序中运行,因此,应用程序中的环境设置会传递给这些工具。但是,与ArcGIS Pro分开运行的独立Python脚本无法识别应用程序的环境设置。因此,独立脚本可能需要代码来专门处理相关的环境设置。
3.7 批处理和动态命名
平时很少使用batch,动态命名倒是经常使用,
使用%Name%的动态命名依赖于一种称为内联变量替换的技术。态命名不仅适用于要素类或光栅数据集的名称。还可以指定输出的其他元素,包括工作空间、目录路径和文件扩展名。%Workspace Name%变量允许您指定工作区或文件夹名称。例如,这意味着每个输出都可以保存到自己的文件夹中。%Path%变量允许您指定目录位置,即路径的任何部分,而不是数据集的名称。%Extension%变量可以指定不同的文件扩展名。
可以将批处理工具保存为model。
3.8 模型构建
ModelBuilder类似于一种可视化编程语言——它使用可视化流程图对地理处理任务进行排序,而不是使用基于文本的指令。在这种情况下,模型是一系列地理处理任务的可视化表示。在ArcGIS Pro中,模型是工具,一旦创建,它们的工作方式与任何其他工具一样。
需要注意的是模型中可以添加执行其他模型,这样就能在一定程度上减少一次只能执行一个迭代带来的不便。
元素有几种类型:工具、数据变量、值变量和连接器。
地理处理工具是模型的基本构造块。工具对地理数据执行地理处理操作。数据变量引用磁盘(或地图中的图层)上的数据。数据变量可以是输入或输出。值变量是字符串、数字、布尔值(真或假)、空间引用、线性单位和范围等项。简而言之,值变量只包含对磁盘上数据的引用。变量可以用作工具的输入和输出。衍生数据或一种工具的输出成为另一种工具的输入。
数据和值通过连接器连接到工具。连接器箭头显示地理处理任务的方向。连接器有四种类型:(1)数据连接器,将数据和值变量连接到工具;(2) 环境连接器,将包含环境设置的变量连接到工具;(3) 前置连接器,将变量连接到工具;和(4)反馈连接器,将工具的输出连接回同一工具或前一工具作为输入。
通过单击ModelBuilder选项卡上的导出,可以将模型导出为Python脚本。模型可以导出到Python文件(.py),也可以发送到Python窗口。将模型导出到Python代码有助于了解Python中如何使用工具和环境,但也有一些局限性,因为ModelBuilder中并非所有功能都能完美地转换为Python。例如,某些模型工具和内联变量替换必须替换为等效的Python功能。由于这些功能上的差异,无法将Python代码导出到模型中。
关于建模、运行等内容本科阶段经常使用,就没有仔细看。
3.9 使用并运行脚本
在脚本工具上右键-编辑,就可以打开脚本工具的脚本文件
通读这段代码可以为您编写自己的代码提供一些想法。脚本太长,无法在此详细讨论。然而,基本的想法是,您可以创建一个脚本,并将其作为工具添加到工具箱中,这样它就可以成为另一个用户可以使用的脚本工具,而无需直接使用Python代码。
安排Python脚本在指定时间运行:
可以将独立脚本设置为在指定时间运行。日程安排对于执行日常数据维护任务等方面很有用。调度的步骤如下:
步骤1。在搜索栏中,键入Task Scheduler。单击搜索结果中的 Task Scheduler entry。
第二步。双击添加计划任务(或创建基本任务)。
第三步。完成向导上的选项。
配置希望脚本运行的时间。当要求单击希望Windows运行的程序时,请单击浏览按钮选择Python脚本。
许多Python脚本需要参数才能运行。这些可以设置为计划任务的一部分。在向导的最后一个对话框中,单击复选框“单击“完成”时打开此任务的属性对话框”
记住要点
ArcGIS Pro中的地理处理框架为组织和运行工具提供了强大而灵活的系统。
ArcGIS Pro有许多工具,作为地理处理框架的一部分组织在工具箱和工具集中。不同类型的工具包括内置工具、脚本工具和模型工具。
通过指定工具参数来运行工具,包括输入和输出数据集以及控制工具执行方式的其他参数。
环境还可以控制工具的执行方式,并可以在不同级别进行设置。最重要的环境设置是当前工作区。
您可以使用模型和脚本创建自己的工具。一旦你创建了自己的工具,它们的工作原理和普通工具一模一样。
ModelBuilder提供了一种可视化编程语言,用于创建一系列地理处理任务。模型就像一个流程图。
Python提供了一种基于文本的编程语言,用于创建一系列地理处理和其他任务。Python代码可以直接在ArcGIS Pro中的Python窗口中运行。Python脚本(.py文件)通常由更复杂的代码组成,可以以多种方式执行:直接从操作系统中执行,使用诸如IDLE之类的Python编辑器,或者从ArcGIS Pro中的脚本工具执行。