资源描述
栅格数据的适宜性分析 ArcGIS World 第四期 ArcGIS中国培训中心(ArcGIS Training Center China)1 栅格数据的适宜性分析 编译:孙朝阳 校稿:张俊 ArcGIS Spatial Analyst 扩展模块,为我们提供了强大的分析和处理栅格数据的工具和平台。在此基础之上,可以结合空间分析的建模理论,对我们所面临的空间问题建立模型,以理解、简化和解决此类复杂的问题。本文以一垃圾场选址的问题,介绍了利用 ArcGIS 空间分析工具进行适宜性分析的方法。如何使用 ArcGIS Spatial Analyst 扩展模块来处理栅格图层?在此,我们虚拟了一个场景,使用 GIS 来为一个垃圾掩埋场所选址。选址时要考虑到该地区的土地、水文和土壤特征。在这个过程中,我们要创建和转换 grid 图层,并将它们输入到分析模型中去。图 1 处理 Grid 数据的基础知识 Grid 是一些文件的集合。最好不要在Windows 资源管理器里进行移动、更名、拷贝、删除或其它的修改操作,一定要使用ArcCatalog。Grid 的名称不能超过 11 个字符,而且任何 grid 文件夹、shapefile、表格或其它文件的名称都只能包含字母、数字或下划线。数据安装 首先创建一个名为 landfill 的文件夹,将下载的数据解压到其中。栅格数据的适宜性分析 ArcGIS World 第四期 ArcGIS中国培训中心(ArcGIS Training Center China)2 图 2 子文件夹 If_analysis 还包含多个子文件夹。Results 文件夹用来存储所有分析步骤的结果。在开始练习之前,先在 ArcCatalog 和 Windows 资源管理器里检查一下这些文件的内容。定义研究区域 在这一步里,要使用 ArcGIS 空间分析的 Options 对话框保存处理数据时的步骤。栅格数据分析会生产大量新的 grid。必须指定新的 grid 的像元大小和地图范围。不用单独为每个grid 指定这些值,你可以在 Options 对话框里设置一个缺省的像元大小和地图范围。这也可以保持你创建的数据的一致性。1 打开 ArcMap。激活空间分析扩展模块。选择 ToolsExtensions,选中 Spatial Analyst。接下来,从 ViewToolbars 选中 Spatial Analyst,显示工具条。2 打开 landfillIf_analysis下的 landfill_analysis.mxd。从空间分析工具条,选择 Options。在 Options 对话框,点击 General 标签,将工作空间设置为 landfillIf_annlysisanalysis。3 分析环境是为所有 grid 操作设置 x,y 坐标范围。尽管可以用另一图层、图层的交集或并集以及手动输入来设置,分析范围始终是一个矩形。但是,分析掩膜可以用图层的真实形状来替代矩形范围。我们将会使用一个分析掩膜。在 General 标签,从下拉列表中选择 county_bnd 作为分析掩膜。4 点击 Extent 标签。选择 Same as Layer county_bnd。点击 Cell Size标签,选择 As Specified Below,输入 1000。制作坡度图 高程表面是一个连续值的表面。可以从这个表面派生出山体阴影图、等高线、坡度等信息。坡度在定位垃圾掩埋场时是一个有重要意义的因素,因为一个地区的地形对于挖掘是个重要的因素。1 使高程图层可视。在空间分析工具条上,选择 SurfaceSlope。将输入表面设置为Elevation,输出测量为 Percent。接受其它的缺省设置。生成一个新的图层,形状是县的边界。像元值的范围是 0.07 到 28.51。2 右键点击 Slope of Elevation 图层,选择 Properties。在 Properties 对话框,点击 Source 标签。这个 grid 图层是一个连续的、临时的数据集。点击 Extent、Display 和 Symbology标签查看 grid 的相关属性。3 因为这个 grid 要用作进一步的分析,将它转换成永久的。右键点击选择 Make Permanent。以 slopemap 保存在 landfillIf_analysisd_analysis文件夹。为了演示分析掩膜的效果,选择 Spatial AnalystOptions,点击 General 标签。将分析掩膜改为空。运行 slope 和 hillshade 操作,生成的 grid 不再与县界一致了。将分析掩膜改回栅格数据的适宜性分析 ArcGIS World 第四期 ArcGIS中国培训中心(ArcGIS Training Center China)3 county_bnd,删除刚刚生成的临时栅格。创建分析缓冲区 图层 可见 图例 landfills No Show streams Yes Show county_bnd No Hide elevation No Hide Slope of elevation No Hide Coverclass No Hide 表 1 表 1 反映的是目录表的图层的设置情况。与河流和已有的垃圾掩埋场之间的距离也是定位新的掩埋场的因素。ArcGIS 的核心功能包含一个 Buffer Wizard,用于创建缓冲区。尽管已有一些掩埋场建在了河岸上,这在今天是不可取的,因此与水路的距离要在选址时作为重要的原则。激活 streams 图层,选择 ToolsBuffer Wizard。使用表 2 中的参数建立河流的缓冲区。1 为 streams 图层创建缓冲区 2 确定距离单位为千米。选择 Choose As Multiple Buffer Rings,4 个环的间隔均为 1 千米 3 选择 Yes 融合缓冲区之间的重叠。将缓冲区保存为新的 shapefile,放在landfillIf_analysisd_analysis,名称为缺省的 Buffer_of_streams.shp 表 2 河流缓冲区图层会被添加到地图中。右键点击图层,选择 Open Attribute Table,检查图层的属性表。有哪些字段?包含多少记录?关闭表格。图 3 图 4 一个要素类(无论是 geodatabas 还是 shapefile)的数据结构与 grid 不同。在对要素类执行空间分析之前必须转换成 grid。选择 Spatial AnalystConvertFeatures to Raster。选择Buffer_of_streams.shp作 为 输 入 图 层,字 段 为ToBufDist。将grid保 存 为landfillIf_analysisd_analysisbuff_temp,点击确定。得到一个新的浮点型 grid。右键点击选择 Properties,点击 Source 标签。因为分析掩膜应用到了这个图层,county_bnd 图层定义了 grid 的形状。有两种类型的 grid 图层浮点型和整型。浮点型 grid 描述连续的数据,像高程,以十进制的小数存储,没有属性表,因为可能的像元值数目太大。Buff_temp 是浮点型 grid。为避免在后面的分析中出问题,要先用 Raster Calculator(栅格计算器)将其转换成整型的。栅格数据的适宜性分析 ArcGIS World 第四期 ArcGIS中国培训中心(ArcGIS Training Center China)4 图 5 1 从 Spatial Analyst 工具条选择 Raster Calculator。输入下面的表达式:int(Buff_temp)2 点击 Evaluate,生成新的 grid。右键点击图层,选择 Make Permanet,将它保存为landfillIf_analysisd_analysisstrmbuff。3 右键点击 strmbuff 图层,选择属性。点击 General 标签将名称改为 Stream Buffers。4 从目录表中删除 buff_temp 和 buffer_of_stream.shp,保存地图。从已有的掩埋场计算距离 接下来,将为每个像元计算到该地区现有掩埋场的距离。图 6 栅格数据的适宜性分析 ArcGIS World 第四期 ArcGIS中国培训中心(ArcGIS Training Center China)5 1 确定 landfills 图层在最上层,并且显示。2 只处理开放的 landfill,选择 SelectionSelect by Attributes,在属性查询对话框,将图层设置为 Landfills,选择create a new selection,创建表达式:”STATUS”=0。点击Apply。有三个 landfill 被选中。3 在 Spatial Analyst 工具条,选择 DistanceStraight Line,将图层设置为 landfills,接受其它缺省的设置。点击 ok。没必要设置最大距离,因为分析掩膜会定义搜索区域。4 生成了新的栅格图层。将新的 grid 挪到 landfill 图层下,让它们均可见。像元值表示该点到最近的开放的 landfill 的距离,以米为单位。5 右键点击图层选择 Make Permanent。保存为 landfillIf_analysisd_analysissl_dist。再次右键点击图层,选择属性,将其更名为 sl_dist。保存地图。添加土壤排水 grid 土壤数据在选址分析中也很重要,因为它通常包括描述湿地、岩石深度和排水等数据。点击 Add Data 按钮,漫游到 landfillIf_analysisd_analysis,将 soildrain.lyr 添加到地图。这个 grid 是从一个多边形要素类转换过来的。原始数据是在 landfillIf_analysisd_gallatin county_data.mdbsoils。准备分析的数据 接下来要准备用于分析的数据。图 7 1 右键点击 Data Frame,选择 Properties,点击 General标签。将名称改为 Suitability Analysis。2 右键点击 Suitability Analysis,选择 New Group Layer。右键点击 New Group Layer,选择Properties,点击 General 标签,将名称改为 Final Proposal。3 将 landfills、county_bnd 和 Slope of elevation 图层拖到 Final Proposal 图层组,关闭图层组。4 删除 streams 和 elevation 图层。5 激活 Suitability Analysis。该数据框里的图层按表 3 的顺序摆放在目录表里。将所有图层的图例隐藏。Final Proposal 图层组提供背景数据。其它图层是用于适宜性分析的。6 保存地图文档。模型预览 大部分的模型设计过程决定相关因素、获取数据和制作过程的流程图已经完栅格数据的适宜性分析 ArcGIS World 第四期 ArcGIS中国培训中心(ArcGIS Training Center China)6 善。接下来要对数据重新分类(reclassify),合并各种影响选址的因素,最终得到合适的垃圾掩埋场。适宜度的确定 我们要将每个数据图层重新分类到 1 到 5 的范围,5 作为最适宜的位置,1 是最不适宜的位置。在现实中,为这些因素分级会受到多方面的影响。在这篇文章里,这些因素的取值都已给出,但是我们可以更改他们以反映我们自己所确定的原则。比如将一部分区域重分类为 NoData 以将其排除。重新分类 对每个图层可能会用到不同的方法来重新分类。我们可以将重分类过程生成的结果新的 grid,根据像元值分成 5 类,用分级颜色显示,就能很容易查看数据的分类情况。每个分类过的图层用不同的色阶显示。1.打开 landfill_analysis.mxd。确定 ArcGIS Spatial Analyst 扩展模块已被激活。从 ToolsExtensions,将 Spatial Analyst 选中。并且打开 Spatial Analyst 工具条。2.从 Spatial Analyst 下拉菜单中选择 Reclassify。选择 Slope of elevation 作为输入栅格。在Reclassify 对话框,点击 Classify 按钮,将分类方法设置为 Equal Interval,分成 5 类。点击 OK。图 8 表 3 3.在 Reclassify 对话框,按照表 3 所示修改值。注意:要在每个值和破折号之间空格。修改后点击 OK。会生成一个名为 Reclass of Slope of elevation 的图层。4.右键点击新图层。选择 Properties,在 Symbology 标签,使用classified 方式,分成 5 类,选择一个色阶。点击 OK。原始值 新值 0-1 2 1-2 5 2-5 4 5 12 3 12 30 1 NoData NoData 栅格数据的适宜性分析 ArcGIS World 第四期 ArcGIS中国培训中心(ArcGIS Training Center China)7 图 9 5.右键点击图层,从环境菜单选择 Make Permanent。将数据保存在if_analysisd_reclass文件夹下,名称为 slope_rl。使用已有的分类 距离已有的垃圾掩埋场越近的地方就越不适合建新的掩埋场。而且,如果路线太远也会造成管理和维护的不便。在前面我们根据已有的垃圾掩埋场创建了距离表面,保存为 sl_dist。1.从 Spatial Analyst 下拉菜单中选择 Reclassify。选择 sl_dist 为输入栅格。2.点击 Load 按钮,从If_analysistables 文件夹下选择 distance_reclass。在 Reclassify 对话框点击 OK。生成名称为 Reclass of sl_dist 的新的 grid。3.右键点击图层,选择 Properties,按照前面的方案进行符号化。右键点击图层,选择 Make Permanent,将数据保存为If_analysisd_reclassdistance_rl。添加土壤排水数据 点击 Add Data 按钮,从If_analysisd_reclass 添加 soildrain_rl 图层。右键点击图层,选择 Properties。在 General 标签将图层名称修改为 Reclass of soildrain。将河流缓冲区重分类成独立值 1.从 Spatial Analyst 下拉菜单中选择 Reclassify。在 Reclassify 对话框,选择 Stream Buffers作为输入栅格。2.点击 Unique 按钮。接受所有缺省的新值,只把 NoData 的新值改为 5。距离河流 4km 以外的区域是垃圾掩埋场的最合适区域。距离河流越近越不适宜。将 NoData 替换成 5,就会排除掉距离河流比较近的区域。3.右键点击图层,选择 Properties,按照前面的方案进行符号化。右键点击图层,选择 Make Permanent,将数据保存为If_analysisd_reclassbuffers_rl。重新分类土地覆盖 土地覆盖分类是这个分析里要考虑的最后一个因素。原来的值是编码值,从 S_VALUE字段可以识别出来。我们要用前面使用的适宜度范围来对它进行重新分类。1.在 TOC 中让 coverclass 图层显示。2.根据表 4 来确定你的分类方案。考虑各种土地类型的自然和经济价值,改变土地利用类栅格数据的适宜性分析 ArcGIS World 第四期 ArcGIS中国培训中心(ArcGIS Training Center China)8 型的花销,以及土地类型的相对丰富和不足(查看 count 字段)。最后的方案应该是 5类。有些土地类型可能是完全不适宜的,应该用 NoData 进行排除。原始值 新值 S_VALUE COUNT 理由 1 Deciduous/Mixed Forest 3739 2 Coniferous Forest 11904 3 Cropland 2974 4 Grassland 4880 5 Desert Shrub and Savanna 2157 6 Water 27 7 Alpine,Tundra,Barren 169 表 4 3.在确定了分类之后,从 Spatial Analyst 下拉菜单选择 Reclassify。以 coverclass 为输入栅格。点击 Unique 按钮。输入你的分类方案。点击 OK。生成名为 Reclass of coverclass的新数据。图 10 4.按照前面的方案进行符号化,并永久化,保存为If_analysisd_reclasscover_rl。运行模型 在运行模型之前,使用记事本或写字板创建一个名为 landfillmodel.txt 的文本文件,保存在If_analysis。在这个模型里,每个 grid 的权重在决策时是相同的。使用栅格计算器 1.从 Spatial Analyst 下拉菜单选择 Raster Calculator。在栅格计算器的左边有个 grid 图层的栅格数据的适宜性分析 ArcGIS World 第四期 ArcGIS中国培训中心(ArcGIS Training Center China)9 列表。2.双击图层名称和运算符建立如图所示的表达式,注意空格。将表达式拷贝到landfillmodel.txt。并且注上“第一个数学模型”。图 11 3.在栅格计算器中,点击 Evaluate。生成新的名为 Calculation 的临时 grid。值的范围在 7到 23 之间。4.右键点击图层,选择 Properties。在 Symbology 标签以独立值的方式分类显示。保存地图文档,再另存为 model_a23。5.在 landfillmodel.txt 中,记录下模型的相关信息。注意有什么数据进入模型、分析的目的、像元大小和使用的测量单位、模型的地理范围、运行模型的时间,以及开发此模型的单位名称等。可选操作 在现实世界中,适宜性模型中的某些因素要比其它因素更重要。我们可以对坡度和突然进行加权,重新运行模型,来反映它们的影响力。语法与前面的数学模型略有不同。每个grid 都有个小数的权重,而且权重的总和等于 1。在栅格计算器里创建如图 5 的表达式。将表达式拷贝到 landfillmodel.txt 中,注上“第一个加权模型”。点击 Evaluate。对新生成的图层符号化,并将地图另存为 weighted.mxd。制作分析过程图 过程图会显示分析所涉及的因素。当前地图文档里只有一个数据框叫 Suitability Analysis,包含了分类后的 grid 和最后的分析结果。为了在一幅地图同时表现各个 grid,需要将它们各自放在数据框里。用数据框组织数据 栅格数据的适宜性分析 ArcGIS World 第四期 ArcGIS中国培训中心(ArcGIS Training Center China)10 1.从主菜单选择 InsertData Frame。将新的数据框命名为 Landcover Reclass。2.用左键将 Reclass of Coverclass 图层拖到 Landcover Reclass 数据框。3.用同样的过程为其它各个 grid 创建新的数据框,最后一共是七个数据框。4.保存地图文档。图 12 创建版面 下一步是在版面视图下摆放数据框的位置。当地图有多个数据框时,同时只能有一个是被激活的。右键点击数据框选择 Activate 就能激活数据框。在制版过程中要经常保存你的工作。1.从主菜单中,选择 ViewLayout view。现在就从地图坐标空间切换到了纸张坐标空间,layout 工具条也会弹出。它有着与 Tools 工具条类似的缩放和漫游工具,但这些工具用于版面视图对版面的操作。2.在版面上,数据框是堆在一起的。使用 layout 工具条上的放大工具,放大版面,直到能看到它们之间的空隙。3.在 TOC 中,右键点击 Final Proposal 数据框选择 Activate。周围出现蓝色虚线框的数据框表明它是被激活的。4.使用 Select Elements 工具可以“抓起”数据框,在版面上移动。右键点击数据框选择Properties。点击 Size and Position 标签,将宽度设置为 2 英寸,高度为3 英寸。点击 OK。在主工具条上将比例尺设置为 3,000,000。5.对每个数据框重复这一步骤。在版面上整齐地摆放每个数据框。确保它们具有相同的比例尺和尺寸。(如图)制作富有表现力的地图 栅格数据的适宜性分析 ArcGIS World 第四期 ArcGIS中国培训中心(ArcGIS Training Center China)11 在摆放好数据框之后,开始修改它们的属性,并添加标准的地图元素。1.将数据框逐个激活,分别选择 InsertLegend,插入图例,并修改它们的显示属性。2.选择 InsertTitle,为每个数据框添加标题。输入数据框的名称,将它们移动到对应的数据框附近。修改字体等属性。3.对每个数据框重复操作之后保存地图文档。然后为整个版面添加元素:标题、比例尺条、指北针、其它文本信息。4.查看整个地图,对摆放位置、尺寸或其它属性做一些必要的调整。保存地图文档。总结 在这个练习里,我们从收集、转换和修改数据,直到创建模型来为垃圾掩埋场选址。涉及的内容有定义研究区域、制作坡度图和缓冲区图、计算距离表面、重新分类各个 grid,在栅格计算器里合并这些 grid,得到研究区域内每个像元的适宜度。最后是制作表现分析过程和结果的地图。编译:孙朝阳 校稿:张俊 ArcGIS World刊物系 ArcGIS 中国培训中心发行的内部刊物,如果您想获取刊物,或对刊物有任何建议或意见,请和我们联系。E-mail: Tel:010-64855687 Web: 版权声明任何单位及个人,转载文章或引用文章,必须声明出处。
展开阅读全文