ArcGIS for Desktop 基于Geoprocesing进行地理分析

 基于Geoprocesing进行地理分析

  • Geoprocessing即地理处理,是核心的GIS操作——从现有的或者提取出来的数据中创建新的空间数据
  • GIS中除了地图绘制、数据创建和编辑、数据库方案管理和可视化外,几乎所有的基本功能都可以规划到Geoprocessing中。
  • ArcGIS 10.4中有许多Geoprocessing工具(简称GP工具),几乎包括了所有ArcGIS桌面的功能,其中包括很多分析工具。因此要进行地理分析,也可以通过Geoprocessing进行,非常方便。

Geoprocessing框架中有三种常用环境:内置工具、环境工具和脚本工具。

  • 内置工具,即对话框工具能让用户更明白每一个工具以及参数的功能和意义。
  • 模型工具以及脚本工具都具有对工具进行重用和组合的能力,比简单的使用对话框工具可以更有效的完成分析任务。
  • 脚本是唯一可以实现批处理操作的Geoprocessing环境,也就是说,脚本可以同时处理多个输入数据。

使用Geoprocessing工具最常用的方式是通过ArcToolbox窗口调用。在ArcMap或ArcCatalog中都可以通过点击工具栏上的图标,

在ArcToolbox中,有很多工具箱、工具集和工具。工具箱是一个存放工具和工具集的容器。工具集则是一个存放工具和其它工具集的逻辑容器

ArcGIS for Desktop 基于Geoprocesing进行地理分析

要执行一个工具,直接在ArcToolbox窗口中双击此工具,就打开了工具的对话框。在对话框中,可以点击右下角的Show/Hide Help按钮来切换显示帮助。每个工具都有需要填充的参数,其中必填参数前面会带一个绿色的小圆点。填充好参数后,点击OK,工具就会执行。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

如果一个数据处理或分析的过程需要调用多个工具来完成的话,一个一个的打开工具太麻烦,而且流程也不清晰,这种情况下可以考虑使用模型工具ModelBuilder,即通过创建执行模型的方式来使用Geoprocessing工具。
ModelBuilder是ArcGIS中使用Geoprocessing的一种方式,可以通过直接拖拽的方式把工具组织成完整的流程并执行,对于要使用多个工具的操作过程来说非常方便快捷,而且可以得到清晰生动的流程图,有助于理解整个操作过程。
 


下面以本章开头的生态区选择分析为例子,举例说明此分析在ModelBuilder中如何实现。

1. 创建工具箱以及模型

模型是放在工具箱中的。调出ArcToolbox的时候,可以看到在ArcToolbox窗口有很多系统工具箱。这些工具箱是系统提供的,里面的工具也是固定的,无法更改。如果要创建模型,就必须在自定义的工具箱中创建。因此在创建模型之前,首先要创建一个工具箱。在ArcMap右侧的Catalog窗中找到实验数据所在的文件夹(Analysis),右键点击选择New > Toolbox。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析

在新建的HabitatTool工具箱上右键单击,弹出菜单中选择New > Model,便新建一个模型。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析

在Model Properties对话框里是关于整个模型的一些设置。选择General选项卡,在Name和Label中均输入Habitat,点击确定。Name是模型的名称,如果在Geoprocessing中使用到这个模型的时候,用name来引用;而Label是模型显示在工具箱里的显示名称

ArcGIS for Desktop 基于Geoprocesing进行地理分析

然后点击工具栏上的 保存模型。一个空的模型就创建完成了,现在可以关闭ModelBuilder界面。此时在ArcToolbox窗口的Habitat工具箱下就可以看到刚才创建的Habitat模型了。

ArcGIS for Desktop 基于Geoprocesing进行地理分析


2. 从第2步开始,就是编辑模型的过程了。右键单击Catalog窗口的Habitat模型,在弹出菜单中选择Edit,打开ModelBuilder界面,开始编辑Habitat模型。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

模型的组成元素主要有工具、数据、数值和连接器(Connect)。

  • 数据是指地理数据,包括输入数据和输出的派生数据;
  • 数值是指非地理数据,如某个常数;
  • 工具是指对输入数据进行处理的操作,由黄色长方形表示;
  • 连接器(Connect)是一条表示过程顺序的线条。

数据元素和工具元素由此相连,连接器的箭头指明过程的方向。另外,在ModelBuilder中,输入数据经过工具处理得到派生数据的这样一个流程,称为过程(Process)。模型可繁可简。最简单的模型可能只有一个过程,但一般模型都是由多个过程组合而成。

工具的添加可以直接从ArcToolbox窗口拖拽到ModelBuilder窗口来,地理数据的添加可以直接从ArcCatalog拖拽。另外,也可以用ModelBuilder界面工具栏中的Add Data

ArcGIS for Desktop 基于Geoprocesing进行地理分析

来添加。

首先创建选择满足第一个条件——植被类型的过程。在ArcToolbox窗口点击Analysis Tools工具箱打开,里面有4个工具集,点击打开Extract工具集,在此工具集中点击Select工具。此时的工具是没有填充颜色的,说明这个工具还不是一个可以运行的状态,往往是缺少必填参数。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析

点击

ArcGIS for Desktop 基于Geoprocesing进行地理分析

添加植被类型vegtype数据,添加后如下图所示。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析

点击 ModelBuilder 窗口里工具栏上的连接器(connector)按钮

ArcGIS for Desktop 基于Geoprocesing进行地理分析

,先在数据vegtype 上单击一下,然后在工具Select上单击一下,就在两者之间添加了连接,选择Input Feature,使得vegtype成为Select工具的输入参数。此时工具和派生数据都填充了颜色,表明工具已经是一个可以运行的状态。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析

Select工具是用基于要素类属性的表达式去选择输入数据中的某些要素,然后把选中的要素作为派生数据输出为一个新的要素类。所以在此工具中还需要输入选择表达式。右键点击(或双击)模型中的Select工具,在弹出菜单中选择Open,打开此工具的对话框。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

可以在弹出的工具对话框中直接填写其他参数,此时可以看到Input Feature这个参数已经有值,就是刚才用连接器连接的vegtype。点击Expression参数下的SQL图标。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

可以在弹出的工具对话框中直接填写其他参数,此时可以看到Input Feature这个参数已经有值,就是刚才用连接器连接的vegtype。点击Expression参数下的SQL图标。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

在弹出的Query Builder对话框中设置选择表达式如下,点击OK。针对第一个条件——植被类型的过程就创建好了。
 

ArcGIS for Desktop 基于Geoprocesing进行地理分析


第3步创建针对第三个条件——公路影响来创建过程。用上面提到的拖拽方法添加Analysis Tools工具箱里的Buffer工具。此工具可以对输入的要素类产生制定缓冲距离的缓冲区。

ArcGIS for Desktop 基于Geoprocesing进行地理分析
用第2步中的方法添加道路数据majorrds,用连接器连接道路数据和Buffer工具。
ArcGIS for Desktop 基于Geoprocesing进行地理分析

指定输入数据后,就要确定缓冲距离,即道路影响的距离。右键单击Buffer工具,弹出菜单中选择Open打开工具对话框。在Distance参数的选项中,选择Field,即用字段值作缓冲距离,因为在道路要素类的属性中有一个Distance字段表示每条路的影响距离,所以此处使用字段值来作为缓冲距离。然后设定缓冲字段为Distance,点击OK。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

设置完后模型如下图。Buffer工具的派生数据为道路影响的缓冲区。

ArcGIS for Desktop 基于Geoprocesing进行地理分析


4. 第4 步是要把第3 步的结果从第2步结果中去除,即找出满足植被条件又不在道路影响范围内的区域。可以使用Erase工具。这个工具有两个输入地理数据参数,一个是Input Features,一个是Erase features,工具的输出结果要素类为Input Features中不与Erase Features相交的部分(即相交部分被丢弃)。在这里把植被数据设定为Input Features,道路影响缓冲区数据作为Erase Features。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

往模型中添加Erase工具,然后用连接器依次将vegtype_select和majorrds_Buffer和Erase工具连接。
在连接vegtype_select时,选择Input Features;在连接majorrds_Buffer时,选择Erase Features。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析

连接后可以右键单击Erase工具打开工具对话框,查看Input Features和Erase Features两个参数是否设置正确,如果不正确可以修改。完成后如下图。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析


5. 第5步是在第4步结果的基础上再添加第2个条件,即在第4步结果里找出坡度小于40度的区域。因为已经有了小于40度的区域数据,这个操作的实质就是找出小于40度的区域和和第4步结果区域中公共的部分。这里使用Intersect工具来完成这个操作。

从ArcToolbox窗口添加Intersect工具到模型,添加小于40度的区域数据slopelt40。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

用连接器分别将坡度数据及第4步的输出结果与Intersect工具连接。Intersect工具有多个输入要素类,输出结果为输入要素类的公共部分。连接后模型如下图。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

还需要做一步图形拆分的操作,从ArcToolbox窗口添加Multipart To Singlepart工具到模型。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析


6. 第6步是在第5步的基础上再增加第4个条件,即面积必须大于1089000平方英尺。

用第1步中的方法添加Select工具,添加到模型后此工具显示名称为Select(2),因为在同一个模型中已经有一个Select工具。用连接器连接第5步的结果和select(2)工具,然后右键单击select(2)工具打开工具对话框,设置最终输出要素类和选择表达式如下:

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析


7. 运行模型。点击Model菜单下的Run Entire Model或点击工具栏中的按钮,运行模型。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

模型运行过程中,各种状态会有不同的显示。例如运行完的结果显示中增加灰色阴影,当前正在运行的工具显示为红色。

ArcGIS for Desktop 基于Geoprocesing进行地理分析

ArcGIS for Desktop 基于Geoprocesing进行地理分析

全部运行完成后,找到生成的shp文件,拖拽到内容列表中,

ArcGIS for Desktop 基于Geoprocesing进行地理分析

完美重合!!!

ArcGIS for Desktop 基于Geoprocesing进行地理分析