麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

ArcGIS for Desktop操作手册(6-4)基于 Geoprocessing 进行地理分析案例

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

1.创建工具箱以及模型

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

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

这时会弹出 ModelBuilder 界面,选择 Model 菜单下的 Model Properties。

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

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

2.编辑模型

右键单击 Catalog 窗口的 Habitat 模型,在弹出菜单中选择 Edit,打开 ModelBuilder 界面,开始编辑 Habitat 模型。

模型的组成元素主要有工具、数据、数值和连接器(Connect)。数据是指 地理数据,包括输入数据和输出的派生数据;数值是指非地理数据,如某个常数; 工具是指对输入数据进行处理的操作,由黄色长方形表示;连接器(connect) 是一条表示过程顺序的线条。数据元素和工具元素由此相连,连接器的箭头指明 过程的方向。另外,在 ModelBuilder 中,输入数据经过工具处理得到派生数据 的这样一个流程,称为过程(process)。模型可繁可简。最简单的模型可能只有一个过程,但一般模型都是由多个过程组合而成。

工具的添加可以直接从 ArcToolbox 窗口拖拽到 ModelBuilder 窗口来,地 理数据的添加可以直接从 ArcCatalog 拖拽。另外,也可以用 ModelBuilder 界 面工具栏中的 Add Data or Tool… 来添加工具和数据,还可以打开工具对 话框进行输入参数的设置。

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

点击添加植被类型数据 vegtype,添加后如下图。

点击 ModelBuilder 窗口里工具栏上的连接器(connect)按钮 ,先在 数据 vegtype 上点击一下,然后在工具 Select 上单击一下,就在两者之间添加 了连接,使得 vegtype 成为 Select 工具的输入参数。此时工具和派生数据都填 充了颜色,表明工具已经是一个可以运行的状态。

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

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

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

3.针对公路影响来创建过程

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

用第 2 步中的方法添加道路数据 majorrds,用连接器连接道路数据和 Buffer 工具。

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

4.剔出无效数据

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

往模型中添加 Erase 工具,然后用连接器依次将 vegtype_select(选择作为 Input Features)和 majorrds_Buffer(选择作为 Erase Features)与 Erase 工具连接。

5.找出坡度小于 40 度的区域

第 5 步是在第 4 步结果的基础上再添加第 2 个条件,即在第 4 步结果里找出坡度小于 40 度的区域。

因为已经有了小于 40 度的区域数据,这个操作的实质就是找出小于 40 度 的区域和和第 4 步结果区域中公共的部分。这里使用 Intersect 工具来完成这个 操作。从 ArcToolbox 窗口添加 Intersect 工具到模型,添加小于 40 度的额区域 数据 slopelt40,

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

6.面积必须大于 1089000 平方英尺

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

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

这样就完成了整个模型,点击菜单 Model —> Save 保存,如下图:

7.运行模型。

点击 Model 菜单下的 Run Entire Model 按钮,运行 模型。模型运行过程中,各种状态会有不同的显示。例如运行完的结果显示中增 加灰色阴影,当前正在运行的工具显示为红色。全部运行完成后,右键单击结果 选择 Add To Display,用来将结果数据添加到地图文档中进行显示。

模型运行完后查看结果 Result,与 7.2 中的结果一致。

完整ArcGIS Desktop操作手册

ArcGIS Desktop操作手册的全部内容章节: ArcGIS for Desktop 10.1操作手册

相关阅读

麻辣GIS-Christina

作者:

地理小学生。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

已有 4 条评论

  1. 麻辣GIS-leo侠侠侠
    1#
    leo侠侠侠  · 2019-07-24 16:35

    请问练习数据在哪里下载呢,公众号里也没有啊

      1. 麻辣GIS-Sailor
        Sailor  · 2019-07-24 20:52

        你需要什么数据呢?

  2. 麻辣GIS-leo侠侠侠
    2#
    leo侠侠侠  · 2019-07-31 16:00

    操作手册6-4的实验数据,请问有没有呢?这个操作手册的配套数据在哪里下载呢

      1. 麻辣GIS-Sailor
        Sailor  · 2019-07-31 23:41

        实验数据需要自己找类似数据。

留言板(小编看到第一时间回复) 取消回复