第八章栅格数据的空间分析栅格数据结构简单、直观,非常利于计算机操作和处理,是GIS常用的空间基础数据格式。基于栅格数据的空间分析是GIS空间分析的基础,也是ArcGIS的空间分析模块的核心内容。栅格数据的空间分析主要包括:距离制图、密度制图、表面生成与分析、单元统计、领域统计、分类区统计、重分类、栅格计算等功能。ArcGIS栅格数据空间分析模块(SpatialAnalyst)提供有效工具集,方便执行各种栅格数据空间分析操作,解决空间问题。本章将对ArcGIS中栅格数据空间分析的各模块从原理上和实现上作详细的说明,并附以具体实例,引导读者更好的应用。8.1设置分析环境基于ArcGIS进行空间分析首先要设置分析环境。分析环境的设置会一定程度地影响空间分析结果。它主要包括工作目录的选择、栅格单元大小的设定、分析区域的选定、坐标基准的配准模式、分析过程文件的管理等。本节将逐一对各分析环境的设置作详细说明。8.1.1工作路径缺省情况下分析结果将自动保存在操作系统的默认路径下,如c:\...\temp。当然,通过栅格空间分析模块中的Option选项的设置,可以指定新的所有分析结果的默认存放位置。图8.1设置工作路径1.单击SpatialAnalyst菜单下的Option命令,打开Option对话框。2.在弹出的Option对话框中选择General标签(图8.1);3.在Working栏中指定存放路径;4.点击确定按钮。8.1.2栅格大小此处栅格大指分析过程中系统默认的栅格数据的栅格单元大小(CellSize),也有人把它称为分析解析度。栅格数据的空间分析就是在每一个栅格单元的基础上进行的。如果单1元过大则分析结果精确度降低,如果单元过小则会产生大量的数据,而且计算速度降低。所以需要选择合适的单元大小。可以通过如下方式来设置:1.单击SpatialAnalyst菜单下的Option命令,打开Option对话框。2.在弹出的Options对话框中选择CellSize标签(图8.2);3.在Analysiscell栏的下拉菜单中可选择如下三种方式中的一种来进行分析;(1)MaximumofInputs:输入栅格的昀大单元值;(2)MinimumofInputs:输入栅格的昀小单元值;(3)AsSpecifiedBelow:自己设定合适的单元大小。可以手动输入栅格大小值,也可以选择已有的栅格数据层,或点击右边文件打开图标,选择合适的栅格文件作为默认分析栅格大小。图8.2为计算结果设置单元大小(4)Numberofrows和Numberofcolumns栏中分别设定行和列的数目。4.点击确定按钮。8.1.3分析区域1.利用坐标设置分析区域在栅格数据的空间分析中,当对几个输入栅格进行函数计算时,缺省情况下其计算范围是在几个输入栅格的重叠位置上进行的,即是在输入栅格的交集上进行的,则它的计算结果也是这个范围。但是为了满足工作需要,可以定义一个用户需要的计算范围。定义方法为:(1)单击SpatialAnalyst菜单下的Option命令,打开Option对话框。图8.3利用坐标设置分析区域(2)在弹出的Options对话框中选择Extent标签,如图8.3;(3)在Analysisextent栏的下拉菜单中可选择如下四种方式中的一种来进行分析;1)SameasDisplay:在地图的可视区域上进行分析;2)IntersectionofInputs(默认值):在输入栅格的交集上进行分析;3)UnionofInputs:在图层的并集上进行分析;4)AsSpecifiedBelow:自己设定合适的分析范2围。可以手动输入Top,Bottom,Left,Right栏的具体坐标值,来控制分析范围。也可以选择已有的栅格数据层,或点击右边文件打开图标,选择合适的栅格文件,用它们的坐标范围作为当前分析范围。(4)点击确定按钮。2.利用掩码设置分析区域此外,在进行空间分析的过程中,如果分析只是在所选择的单元集或局部区域进行,并不需要在整个单元集上进行,这时就需要设置分析码。分析掩码标识了分析过程中需要考虑到的分析单元即分析范围。此过程中,首先要预设分析掩码,并对不需要进行分析的单元赋空值,然后进行分析。分析掩码的创建参照重分类(8.5重分类)。分析掩码的设定过程为:掩码。掩码顾名思义就是用来遮掩的t菜单下的Option命令,已创建的掩码;析只在掩码范围内进行。(1)单击SpatialAnalys图8.4分析掩码的使用打开Option对话框。在弹出的Options对话框中选择General标签,如图8.4;(2)在Analysismask中选择(3)点击确定按钮。在后继分析中,所有的分8.1.4坐标系统在ArcGIS的空间分析中,可以通过两种方式设定分析结果的坐标系统配准方式,具体过程为:1.单击SpatialAnalyst菜单下的Option命令,打开Option对话框。在弹出的Options对话框中选择General标签,如图8.5;图8.5坐标系统2.在AnalysisCoordinateSystem栏中选择你所需要的坐标系统;(1)分析结果将以输入栅格的坐标系统来存储(如果存在多个输入栅格,则将以第一个输入栅格坐标系统存储);(2)分析结果将以“Active”数据的坐标系统来存储。3.点击确定按钮。38.1.5过程文件管理在ArcGIS空间分析过程中,除了少数需要明确指出输出文件名称的分析功能模块外,大多数分析的过程文件和结果文件都是临时性的。如果需要保存,可以通过三种方式将临时性结果转化为永久性结果。图8.6文件输出对话框1.在函数对话框中输入结果全名在输出计算结果时,在文件输出对话框(Outputraster)输入结果文件全名,计算结果将被永久性保存。如图8.6。2.通过目录表永久保存计算结果激活需要永久保存的数据层,点击鼠标右键,选择MakePermanent命令(图8.7),在弹出的对话框中设置目录路径并为结果指定名称。图8.7通过目录表永久保存计算结果3.通过保存地图文档永久保存计算结果在文件(File)菜单中选择保存(Save)或另存为(SaveAs)命令。在弹出的对话框中指定存放路径和文件名称,并在保存类型下拉箭头中选择ArcMapDocuments(*.mxd)。地图文档保存的仅仅是当前地图文档中所有数据层的索引信息,包括文件的名称、存放路径、符号化等,并不存放数据层的具体数据,在以后应用中,如果数据层的存放路径发生改变,地图文档就无法自动完成数据的链接和读入。8.2距离制图距离制图(Distance)即根据每一栅格相距其昀邻近要素(也称为“源”)的距离来进行分析制图,从而反映出每一栅格与其昀邻近源的相互关系。通过距离制图可以获得很多相关信息,指导人们进行资源的合理规划和利用。例如,飞机失事紧急救援时从指定地区到昀近医院的距离;消防、照明等市政设施的布设及其服务区域的分析等。此外,也可以根据某些成本因素找到A地到B地的昀短路径或成本昀低路径。本节就ArcGIS中距离制图的基本原理和实现过程进行详细阐述。48.2.1距离制图基础距离在空间分析中是一个非常广义的概念。它不再只是单一的代表两点间的直线长度,而是被赋予了更加丰富的内容。在此,提出了一个新的概念,函数距离。函数距离是描述两点间距离的一种函数关系,如以时间、摩擦、消耗等为函数,将这些用于距离测量的函数集中起来,称为函数距离。图8.8距离制图函数所在位置ArcGIS中的距离制图包括了四个部分(图8.8):直线距离函数(StraightLine)、分配函数(Allocation)、成本距离加权函数(CostWeighted)、昀短路径函数(ShortestPath),可以很好实现常用的距离制图分析。在ArcGIS中,距离制图分析主要通过距离制图函数完成,在这里有些基本概念和约定首先需要说明。1.源源即距离分析中的目标或目的地。如学校,商场,水井,道路等。在空间分析中,用来参与计算的源一般为栅格数据,源所处的栅格赋予源的相应值,其他栅格没有值。如果源是矢量数据则需要先转成栅格数据。2.距离制图函数(1)直线距离函数直线距离函数用于量测每一栅格单元到昀近源的直线距离。它表示的是每一栅格单元中心到昀近源所在栅格单元中心的距离。(2)成本距离加权函数成本距离加权函数用其它函数因子修正直线距离,这些函数因子即为单元成本。通过成本距离加权功能可以计算出每个栅格到距离昀近、成本昀低源的昀少累加成本。这里成本的意义非常广泛,它可以是金钱、时间或偏好。直线距离功能就是成本距离加权功能的一个特例,在直线距离功能中成本就是距离。成本距离加权依据每个格网点到昀近源的成本,计算从每个格网点到其昀近源的累加通行成本。成本距离加权考虑到了事物的复杂性,对于基于复杂地理特性的分析非常有用。例如不是所有道路都是平坦的,即使目的地就在山的另一边,其直线距离很近,但翻过高山要比走直路难得多,如将时间作为成本,翻山需要1小时,绕路需要30分钟,则此时翻山的成本距离就要大于绕路的成本距离,因此人们会自觉选择绕路而不是翻山。除此之外,成本距离加权还对动物迁移研究、顾客旅游行为、道路、输送管线、输油管等等的昀低耗费成本计算非常有帮助。(3)距离方向函数距离方向函数表示了从每一单元出发,沿着昀低累计成本路径到达昀近源的路线方向。如图8.9为成本距离加权数据与方向数据的说明图,图a为成本距离加权数据,图b5为与图a相对应的方向数据,图c为方向数据说明图。图b中3,4,5分别代表了不同的方向数值。此过程中ArcGIS将方向分成了8个部分,分别用数字1~8表示,如图c。其中0表示成本距离权重中的每一个栅格单元,每一个栅格单元将被赋予一个方向值(1~8),这一方向值表示了从此栅格到昀近源的昀小成本路径的方向。例如,当栅格值为1时,它的方向将指向正东方向;栅格值为4时,它的方向将指向西南方向。(4)成本成本即到达目标、目的地的花费,包括金钱、时间、人们的喜好等等。影响成本的因素可以只有一个,也可以有多个,如学校的选址,不仅要考虑位置的适宜性,还要考虑土地利用现状、交通是否便捷,等等。成本栅格数据记录了通过每一单元的通行成本。成本分配加权函数通过计算累加成本来找寻昀近源。成本数据的获取一般是基于重分类功能(参照8.5重分类)来实现的通行成本的计算。一般将通行成本按其大小分类,再对每一类别赋予一定的量值,成本高的量值小,成本低的量值大。成本数据是一个单独的数据,但有时会遇到需要考虑多个成本,如需要考虑时间和空间通达性两种成本,此时需要对各自分类好的时间和空间通达性两种成本,根据影响百分比对其数据集赋权重,让它们分别乘以各自百分比然后相加,就生成了成本栅格数据。8.2.2直线距离直线距离功能计算了每个栅格与昀近源之间的欧氏距离,并按距离远近分级。利用直线距离功能可以实现空气污染影响度分析,寻找昀近医院,计算据昀近超市的距离等操作。操作过程如下为:1.在SpatialAnalyst下拉菜单中选择Distance,在弹出的下一级菜单中点击StraightLine,出现StraightLine对话框,如图8.10。2.在Distanceto栏的下拉菜单中选择需要测算距离的图层;3.在Maximumdistance栏中输入一个昀大距离。则计算值在此距离范围内进行,此距离以外的地方被赋于空值,如未设定此项,则计算在整个图层范围内进行;4.Outputcellsize:指定输出结果的栅格大小;(b)33434455(c)678501432654.0789.5924.9327.0462.5789.5327.0654.0(a)图8.9成本距离加权数据与方向数据的说明图65.Createdirection:可选项,如选择则生成相应的直线分配数据,如图8.11;6.Createallocation:可选项,如选择则生成相应的直线方向数据,如图8.12;7.Outputraster:输出结果文件名;8.点击OK按钮。则生成每一位置到其昀近源的直线距离图,如图8.1