码迷,mamicode.com
首页 > 其他好文 > 详细

GIS基础软件及操作(八)

时间:2016-07-30 10:24:40      阅读:321      评论:0      收藏:0      [点我收藏+]

标签:

原文 GIS基础软件及操作(八)

练习八、地理建模

技术分享

地理建模:Model Builder 土壤侵蚀危险性建模分析

认识ModelBuilder操作界面

技术分享

1: 添加硬盘上的数据或工具到模型中,数据也可以从ArcMap或ArcCatalog从直接拖到模型中,工具可以直接从Arctoolbox直接拖到模型中

2: 显示全部模型要素,并充满ModelBuilder窗口

3: 自由缩放,点击此按钮,按住鼠标不放,向上或向下移动鼠标可以缩放ModelBuilder中的流程图

4: 选择,用以选择模型中的数据图框,工具图框

5: 添加连接,将数据和工具连接起来

6: 运行选中的处理过程或整个模型

确定目标,加载数据

目标:获取 [土壤侵蚀危险性分布图]

因子确定:坡度、土壤类型、植被覆盖

数据:矢量数据:研究区界线(Study
Area)、植被(Vegetation),栅格数据:土壤类型栅格(Soilsgrid)

(1) 在ArcMap中新建一个地图文档

(2) 添加矢量数据:StudyArea、Vegetation、栅格数据Soilsgrid(同时选中:在点击的同时按住Shift)

(3) 打开Arctoolbox,激活Spatial Analyst空间分析扩和3D分析扩展模块(执行菜单命令[工具]>>[扩展],在出现的对话框中选中“空间分析模块”和“3D分析”)

(4) 根据Vegetaion中的属性[VegTYPE]设置植被图层的符号为[唯一值渲染],根据SoilsGrid 图层中属性[Value]设置土壤类型栅格的符号为[唯一值渲染],设置图层StudyArea的边界和填充,并调整各图层的顺序得到如下下效果:

技术分享

(5) 保存地图文档为[Ex8.mxd]

创建模型

在上一步操作的基础上进行

(1) 在ArcMap中,打开Arctoolbox,执行菜单命令: [工具]>>[选项],在[选项]设置对话框中,设置[空间处理]选项页中[我的工具箱位置],将其指定为某个路径,比如[d:\arcgis],因为以下建立的模型将会被保存到后缀为[.tbx] 的文件中,而这个文件是保存在以上设定的路径下的.

技术分享

(2) 在Arctoolbox中,右键点击根目标[Arctoolbox],在右键菜单中执行[新的工具箱]命令,将会在[d:\arcgis]创建一个工具箱,将新建工具箱改名,比如[geosptial]

(3) 右键点击新建的工具箱[geosptial],在右键菜单中,执行命令:[新建]>>[模型],将打开[ModelBuilder] 应用程序窗口:

注意:对已存在的模型,右键点击模型后,选择[编辑]也可以打开[ModelBuilder]窗口,对已存在的模型进行编辑。

技术分享

编辑模型

在上一步基础上进行

(1) 在[ModelBuilder]窗口中,执行菜单命令:[模型]>>[模型属性]

技术分享

在[常规]选项页中,设置模型的名称及标签

技术分享

在[环境变量]选项页中设置分析范围为研究区范围

技术分享

通过在[环境设置]中,设定[常规设置]的[输出范围]为 [Same As Layer “StudyArea”]

(2) 在[ModelBuilder]窗口中,执行菜单命令 :[模型]>>[图属性]

技术分享

(3) 从ArcMap中,将图层[Vegetaion]、[Soilsgrid]拖放到
[ModelBuilder]窗口中;从[Arctoolbox]中将工具{转为栅格] 拖放到[ModelBuilder]窗口中(此工具在[转换工具>>[DEM转栅格下)

技术分享

(4) 在[ModelBuilder]窗口中,双击工具图框[DEM转栅格],在出现的工具设置对话框中指定输入USGSDEM文件为:[elevation.dem]-通过输入框右边的[浏览打开]按钮在硬盘上找到该文件。

技术分享

技术分享

(5) 从[Arctoolbox]中将工具[坡度]拖放到[ModelBuilder]窗口中(此工具在[3D Analyst 工具]>>[栅格表面]下),在 [ModelBuilder]窗口中,点击[添加连接]按钮(如下图红色箭头所指)将派生数据图框[DEMToRa_elev1]与工具图框[坡度]连接在一起。完成后效果如下图所示:

技术分享

右键点击图框[输出栅格]将其改名为: [坡度图]

(6) 从[Arctoolbox]中将工具[重分类]拖放到[ModelBuilder]窗口中(此工具在[Spatial Analyst工具]>>[ 重分类]下),在 [ModelBuilder]窗口中,点击[添加连接]按钮将派生数据图框[坡度图]与工具图框[重分类]连接在一起。完成后效果如下图所示:

技术分享

(7) 在[ModelBuilder]窗口中,双击工具图框[重分类],在[重分类]工具属性对话框中将坡度重分类:

技术分享

在这里我们通过INFO数据表[slopereclass]实现重分类,在上图中,点击[加载]按钮,找到数据表[slopereclass],将根据此数据表中的设定值将坡度分为10类。

[Slopereclas]中有特殊的字段[FROM]、[TO]、[OUT]、[MAPPING],可以用于重分类:

技术分享

在[ModelBuilder]窗口中,右键点击工具图框[重分类]后面的
[输出栅格]将其改名为: [重分类坡度图]

(8) 从[Arctoolbox]中将工具[要素转栅格] 拖放到[ModelBuilder]窗口中(此工具在[转换工具]>>[转为栅格]–下),在 [ModelBuilder]窗口中,点击[添加连接]按钮将数据图框[vegetaion]与工具图框[要素到栅格]连接在一起。完成后效果如下图所示:

技术分享

将工具图框[要素到栅格]后的[输出栅格]改名为 [植被栅格]。

双击与[Vegetaion]相连的工具图框[要素到栅格],在出现的对话框中,设置字段为[VEGTYPE],确定。

技术分享

在[ModelBuilder]中右键选中图框[要素转栅格],执行[运行]命令。[注:此步骤比较重要]

(9) 从[Arctoolbox]中将工具[加权叠加]拖放到[ModelBuilder]窗口中(此工具在[Spatial Analyst工具>>[叠加分析]下),右键点击工具图框[加权叠加]后的结果数据图框改名为[土壤侵蚀栅格],完成后效果如下图所示:

技术分享

(10) 在[ModelBuilder]窗口中,双击工具图框[加权叠加],在出现的[加权叠加]工具设置对话框中点击[Add Raster Row]按钮 (下图红色箭头所指)

技术分享

在[添加加权叠加图层]对话框中,按下图所示指定各参数,将因子[SOILSGRID]加入加权叠加分析过程:

技术分享

在[加权叠加]对话框再次点击[Add Raster
Row]按钮,将下图所示设置参数,将因子[植被栅格]加入到加权叠加分析过程:

技术分享

在[加权叠加]对话框再次点击[Add Raster
Row]按钮,将下图所示设置参数,将因子[重分类坡度图]加入到加权叠加分析过程:

技术分享

三个因子添加完成后,回到[加权叠加]工具设置对话框,分别将因子[Soilsgrid]、[植被栅格]、[重分类坡度图]的权重设置为:[25%]、[25%]、[50%]

技术分享

(11) 设置因子[Soilsgrid]:根据不同土壤类型对土壤侵蚀危险性的影响力,不同的土壤类型给定不同的的数值,数值1表示改天土壤侵蚀危险度较低,

技术分享

(12) 设置因子[植被栅格]:根据不同植被类型对土壤侵蚀危险性的影响力,不同的植被类型给定不同的的数值,数值1表示改天土壤侵蚀危险度较低,

技术分享

(13) 设置因子[重分类坡度图]:根据不同坡度低的区域发生土壤侵蚀的危险系统较小,坡度较大的区域发生土壤侵蚀的危险系数较大,不同坡度对应不同数值,数值1表示改天土壤侵蚀危险度较低,

技术分享

最终完成的模型图如下:

技术分享

执行模型,查看结果

(1) 在[ModelBuilder]窗口中执行菜单命令:[模型]>>[运行整个模型]。请耐心等待计算结果:需要(3-5s)

技术分享

(2) 在[ModelBuilder]窗口中,右键点击图框[土壤侵蚀栅格]在出现的右键菜单中选中[添加到显示窗口]。于是土壤侵蚀危险性分级栅格数据[Hazrad]表示研究区内土壤侵蚀的危险级别,1表示发生土壤侵蚀的可能性较小,6表示发生土壤侵蚀的可能性极大。

技术分享


作者: 王顺利 
发表于: 2016-01-14 14:56:23 
更新于: 2016-04-28 21:40:56 
原文链接: http://www.wshunli.com/2016/01/14/GIS基础软件及操作-八/ 
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

GIS基础软件及操作(八)

标签:

原文地址:http://www.cnblogs.com/lonelyxmas/p/5720316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!