ArcGIS空间分析模块学习指南.docx
《ArcGIS空间分析模块学习指南.docx》由会员分享,可在线阅读,更多相关《ArcGIS空间分析模块学习指南.docx(21页珍藏版)》请在冰豆网上搜索。
![ArcGIS空间分析模块学习指南.docx](https://file1.bdocx.com/fileroot1/2023-3/28/ea021305-5d72-474a-a1ab-7f95edece61f/ea021305-5d72-474a-a1ab-7f95edece61f1.gif)
ArcGIS空间分析模块学习指南
ArcGIS空间分析模块学习指南
(一)
作者:
兔八哥文章来源:
本站原创点击数:
7356更新时间:
2006-6-28
栅格数据和非栅格数据的复合应用是GIS应用中的一个趋势,目前多数GIS软件关注的是矢量数据的分析和应用。
随着GIS和遥感以及DEM的不断发展,栅格数据在GIS中将扮演越来越重要的角色。
这几天,兔八哥认真的学习了一些这方面的知识,并正在学习ArcGISSpatialAnalyst,下面将学习心得和大家共享。
对于这个模块,兔八哥也是初学,难免会出现问题,请大家指正!
第一节 空间分析扩展模块简介
1.1简介
ArcGIS空间分析扩展模块提供了功能强大的空间建模和分析工具。
利用这个扩展模块可以创建基于栅格的数据,并对其查询,分析,绘图。
在空间分析模块中我们可以采用的数据包括影像,Grid以及其他的栅格数据集。
1.2 空间分析扩展模块功能
下面列举一些使用该模块可以实现的功能:
·根据要素生成ArcinfoGrid
·从要素按照一定距离或临近关系生成Raster
·由点状要素生成密度栅格图
·由离散要素点生成连续表面
·根据要素派生出等高线,坡度图,坡向图和山体阴影
·进行基于栅格数据的分析
·同时在多个栅格数据上进行逻辑查询和代数运算
·进行临域和区域分析
·进行栅格分类和显示
·支持很多标准格式
1.3空间模型
模型就是把源域的组成部分表现在目标域中的一种结构。
源域中被表现的部分可以是实体,关系,过程或者其他感兴趣的现象。
建模的目的就是对源域的简单化和抽象化。
因此空间建模就是对地面上的地理实体进行简单和抽象化进行表示的过程。
模型有两类:
表征模型和过程模型。
前者是用来描述物体,而后者则关注是物体间的相互作用和描述过程。
GIS过程模型,它可以使用一个流程图来表示。
本篇文章来源于GIS空间站转载请以链接形式注明出处网址:
ArcGIS空间分析模块学习指南
(二)
作者:
兔八哥 文章来源:
本站原创 点击数:
更新时间:
2006-6-28
第二节在ArcGIS中进行空间分析
2.1分析环境设置
在进行空间分析前,必须对设定分析范围,存储形式,存储使用的坐标系统,输出Grid的大小,缺省的输出目录。
下面将一一对此进行说明(这些设置是在SptialAnalyst工具条---->SpatialAnalyst菜单---->Options中设置)
∙坐标系统
和矢量数据类似,没有校准的栅格数据是没有太大使用价值的。
很多基本的空间分析操作都要求你的数据指定坐标系统。
同时可以指定输出结果的坐标系统。
如下图所示,分析输出将可以采用输入数据的坐标系统或者当前数据框的坐标系统。
∙输出栅格形式
缺省情况下,大多数的空间分析操作生成的栅格是ArcInfo的Grid格式,生成的Grid有临时和永久两种形式。
这个在后面的部分中将详细讲到。
Grid的名称最多12个字符,而且在中间不允许空格,只允许包括A~Z和0~9,这些字符(这个和Coverage的存储类似,经常我们生成的Coverage有问题,可能就是因为名称或者路径中出现了空格,兔八哥注)。
∙设置分析范围
在空间分析Options中,可以设置空间分析的范围,可以用户指定坐标范围,一般情况是选择等同于某个图层的空间范围或者当前显示范围
∙设置Cell大小
在空间分析中,分析结果缺省的cell大小为输入数据的最大cell的大小,用户可以指定cell大小或者指定输出cell等同于输入的某个数据的cell大小。
兔八哥提示你,减小cell的大小可以提高数据的精度,但是数据量会以二次方增长。
如果你指定的输出cell大小小于输入分析数据的cell大小,得到的所谓精度是没有意义的。
∙除了上述设置外,还要对工作目录进行设置和分析Mask(掩码),分析掩码是用来标识分析中操作的部分,所以分析掩码中的空值单元将被屏蔽掉。
ArcGIS空间分析模块学习指南(三)
作者:
兔八哥 文章来源:
本站原创 点击数:
5202 更新时间:
2006-6-28
2.2表面分析工具
在ArcGIS提供的空间分析工具中,最常用的就是表面分析工具,首先和兔八哥一起看看表面分析吧。
ArcGIS提供了我们常用的表面分析功能:
生成等值线(Contour),坡度(Slope),坡向(Aspect),山体阴影(hillshade),可视范围(Viewshed)以及工程上常用的计算土方量(Cut/Fill),这些功能的原理大家可以参考《地理信息系统基础》龚健雅科学出版社2002.
2.2.1生成等值线(Contour)
首先我们一起看看什么是等值线,所谓等值线就是连接等值点的线段,比如我们常见的等高线,等温线等等。
关于等值线的详细情况大家可以随便找一个GIS书看看就明白了。
使用等值线可以很容易的看出趋势变化,比如从等高线上很容易看出山谷,山脊以及地形的起伏。
下面我们一起看看如何利用Raster(Grid)生成等高线。
Step1:
首先,打开下载数据中的surface.mxd这个地图文档。
地图文档中有两个图层,其中可视的为elevgrid图层,它是Gird格式,用来表示地面高程。
我们就要根据它来创建等值线。
Step2:
设置分析环境在进行空间分析前,必须对设置分析环境。
在SpatialAnalyst工具条中,SpatialAnalyst菜单下,点击Options。
设置你的工作目录;设置Extent为"SameasLayerelevgrid";设置CellSize"SameasLayerelevgird".
Step3:
生成等值线在SpatialAnalyst菜单--->SurfaceAnalysis---->Contour,出现下面这个控制面版,在InputSurface中选择输入的Raster,Contourinterval表示等高线间的差值,Basecontour表示启始等高线,一般采用却省0。
Zfacotor表示方向控制,兔八哥从来没用过。
下面就是输出的位置和文件名了。
Step4:
等几秒后,结果出来了,如下图所示。
呵呵,是不是很简单呀。
ArcGIS空间分析模块学习指南(四)
作者:
兔八哥 文章来源:
本站原创 点击数:
3988 更新时间:
2006-6-28
2.2.2生成山体阴影(Hillshade)
在前面2.2.1中,我们通过Grid生成了等高线,现在我们来一起利用该Grid生成山体阴影,增加数据的显示的真实感。
在生成阴影前,首先需要对方位角和太阳高度角有一定的了解,二者的示意图如下:
左图:
来自ESRI的电子文档,说明方位角和太阳高度角的意义。
在ArcGIS中缺省的方位角为315度(西北方向),缺省的太阳高度角为45度。
下面我们一起进行操作吧:
Step1:
首先,打开下载数据中的surface.mxd这个地图文档。
我们将对elevgrid这个栅格数据创建山体阴影。
Step2:
设置分析环境 在SpatialAnalyst工具条中,SpatialAnalyst菜单下,点击Options。
设置你的工作目录;设置Extent为"SameasLayerelevgrid";设置CellSize"SameasLayerelevgird".
Step3:
创建山体阴影 在SpatialAnalyst菜单--->SurfaceAnalysis---->Hillshade,出现下面这个控制面版,在InputSurface中选择输入的Raster,Azimuth表示方位角,Altitude表示高度角。
下面都使用缺省值。
(大家注意Outputraster中为,也就是生成的栅格数据为临时的。
)
Step4:
稍等,结果就出来了,如下图所示,还是蛮专业的吧。
Step5:
别忘了,这个栅格数据是临时的,还需要把他永久保存下来。
如下图所示,选择保存的路径和文件名就OK了。
ArcGIS空间分析模块学习指南(五)
作者:
兔八哥 文章来源:
本站原创 点击数:
4469 更新时间:
2006-6-28
2.2.3生成坡度(Slope)
坡度是地形描述中常用的参数,在各类工程中也有很多的用途,比如在农业用地开发中,坡度大于25度的土地一般是不适宜开发的。
在其他的很多选址方面,坡度也是必须考虑的问题。
利用ArcGIS空间分析扩展模块,我们可以非常容易的提取出地面的坡度信息。
下面我们一起进行操作吧:
Step1:
首先,打开下载数据中的surface.mxd这个地图文档。
我们仍然根据elevgrid来派生出需要的坡度信息。
Step2:
设置分析环境 在SpatialAnalyst工具条中,SpatialAnalyst菜单下,点击Options。
设置你的工作目录;设置Extent为"SameasLayerelevgrid";设置CellSize"SameasLayerelevgird".
Step3:
生成坡度 在SpatialAnalyst菜单--->SurfaceAnalysis---->Slope,出现下面这个控制面版,在InputSurface中选择输入的Rasterelevgrid;选择输出坡度方式,生成的坡度可以是坡度度数或者坡度百分比,在本例中选择Degree;OutputcellSize为定义输出cell大小,缺省值为输入Grid的Cell大小。
(大家注意Outputraster中为,也就是生成的栅格数据为临时的。
)
Step4:
输出结果按照不同的颜色显示坡度,红色的坡度较大。
大家可以对输出结果进行重分类(在后面部分将学习到)。
Step5:
别忘了,这个栅格数据是临时的,还需要把他永久保存下来。
如下图所示,选择保存的路径和文件名就OK了。
ArcGIS空间分析模块学习指南(六)
作者:
兔八哥 文章来源:
本站原创 点击数:
3747 更新时间:
2006-6-28
2.2.4坡向计算(Aspect)
坡向和坡度是互相关联的两个参数,坡度反映斜坡的倾斜程度,而破向则反映斜坡所面对的方向。
当基于DEM计算坡向时,通常定义坡向为:
过格网单元所拟合的曲面上某点的切平面的法线的正方向在平面上与正北方夹角。
即法方向水平投影向量的方位角。
(龚健雅《地理信息系统基础》)
下面我们一起进行操作吧:
Step1:
首先,打开下载数据中的surface.mxd这个地图文档。
我们将根据elevgrid这个栅格数据生成坡向图。
Step2:
设置分析环境 在SpatialAnalyst工具条中,SpatialAnalyst菜单下,点击Options。
设置你的工作目录;设置Extent为"SameasLayerelevgrid";设置CellSize"SameasLayerelevgird".
Step3:
计算坡向 在SpatialAnalyst菜单--->SurfaceAnalysis---->Aspect,出现下面这个控制面版。
感觉坡向中要求输入的参数较少。
在InputSurface中选择输入的Raster,输出的CellSize使用缺省值。
(注意Outputraster中为,也就是生成的栅格数据为临时的。
)
Step4:
结果如下图所示,不同的颜色表示不同的坡向(见Toc)。
Step5:
别忘了,这个栅格数据是临时的,还需要把他永久保存下来,选择保存的路径和文件名就OK了。
相信大家也都会了,兔八哥就不用图示了。
ArcGIS空间分析模块学习指南(七)
作者:
兔八哥 文章来源:
本站原创 点击数:
3720 更新时间:
2006-6-28
2.2.5可视域分析(Viewshed)
可视域分析又称通视分析,它属于根据地形进行最优化处理范畴,比如建设一个电视发射站,设置雷达站以及在航海,航空,军事上面都被广泛的应用。
下面我们一起进行操作吧:
Step1:
首先,打开下载数据中的surface.mxd这个地图文档。
前面我们做了一个山体阴影生成了一个Grid(兔八哥生成的命名为HillShade),把该数据增加到地图文档中。
在地图文档中有一个“哨所”的图层,将该图层可视。
本小节中我们将研究一下,这些哨所的可视范围。
Step2:
设置分析环境 在SpatialAnalyst工具条中,SpatialAnalyst菜单下,点击Options。
设置你的工作目录;设置Extent为"SameasLayerelevgrid";设置CellSize"SameasLayerelevgird".
Step3:
生成哨所的可视域 在SpatialAnalyst菜单--->SurfaceAnalysis---->Viewshed,出现下面这个控制面版,在InputSurface中选择elevgrid,ObserverPoints为观察点图层。
其他使用缺省值。
Step4:
生成可视域非常的慢,可要有耐心哦。
生成后,如下图所示,显得不很直观。
下面我们将对他进行符号化。
Step5:
在ArcMap目录表中,将NotVisible设置为无色填充,而Visible设置为红色填充。
在ArcMap中增加Effects工具条,设置"Viewshedof哨所"30%透明。
处理后结果如下,其中红色区域就是两个哨所的可视区域。
而其他区域不可视。
Step5:
如果对你的作品感到满意,别忘记把他永久保存下来哦。
ArcGIS空间分析模块学习指南(八)
作者:
兔八哥 文章来源:
本站原创 点击数:
3658 更新时间:
2006-6-28
2.2.6计算土方量工具(Cut/Fill)
兔八哥第一次使用ArcGIS扩展模块就是用来计算土方量的,当时在新疆煤田灭火处,他们手头有挖方前和挖方后的地表GPS数据。
希望能计算出工程的实际土方量。
当时使用的版本上ArcGIS8.1,好象这个工具还是在3D扩展模块中,Spatial扩展模块中没有的(记不清楚了!
)
计算土方量的方法
因为兔八哥手头没有合适的数据只能将大概步骤写下来:
Step1:
一般情况下,我们手头的数据都是用GPS采集的x,y,z文本数据。
首先我们需要根据这些数据生成一个点状的Shapefile,当然挖方前后各自生成一个(如果不会,GIS空间站上有这方面的步骤)。
Step2:
利用3D扩展模块,利用Shapefile分别生成挖方前后的Tin。
(其实这个时候,你会发现3D模块中也有Cut/fill工具,呵呵,这个和Spatial模块中完全相同)。
Step3:
利用SpatialAnalyst工具条中SurfaceAnalysis---->Cut/Fill,在BeforeSurface和AfterSurface中分别选择挖方前后的Tin。
Step4:
处理后,结果如下图所示。
用不同的颜色显示土方变化,红色表示土方增加,兰色表示土方减少,其他的为没有变化的区域。
step5:
在处理结果的属性表中,对Volume字段中正负属性值分别选择,进行统计,在这就不详细讲解了。
ArcGIS空间分析模块学习指南(九)
作者:
兔八哥 文章来源:
本站原创 点击数:
更新时间:
2006-6-28
2.2Distance分析
在网络分析,我们经常分析最短路径,最优路径,这些操作是对矢量数据进行操作的。
现在我们将一起学习,如何对利用栅格数据生成最优路径。
下面这个例子是ESRI电子文档上的例子,兔八哥实在找不到更合适的数据。
(本部分数据下载)
下面我们将任务简单说明一下,假设某地新建了一个小学。
考虑到学生上学放学交通问题,打算修建一条公路与已有公路连接起来。
如下图所示,绿色表示学校,红色旗帜为公路的起点,现在将修筑一条连接这两个区域的公路,在修建公路的时候需要考虑地形坡度问题和公路经过地区的土地利用情况,从而减少成本和工程难度。
在本例子中我们将使用SpatialAnalyst模块中的StraightLine,CostWeighted,ShortestPath三个功能,首先我们一起来了解一些这三个工具的作用和使用方法。
2.2.1生成直线距离(StraightLine)
生成直线距离是用来给出栅格中每个单元距离最进的源的距离。
使用该功能可以帮助选择合适的补给源。
如下图所示,生成的到公路尽头的直线距离。
2.2.2成本加权(CostWeighted)
使用上面的直线距离功能,我们可以很容易的生成各栅格单元到源的直线距离,但是在实际工作中,远没有这么简单。
比如本例子的修路,选择合适的地区,我们不可能简单的选择连接公路源头和学校的一条直线(大家应该都是非常清楚这一点的)。
我们就需要针对不同的坡度和土地利用类型进行考虑,给从而能够使得选择的公路的通行成本最小。
在考虑这两个影响因素时候,根据他们的影响程度和重要性,给它们赋予一定的影响百分比。
比如赋予公路60%的影响百分比,而赋予土地利用40%的百分比。
2.2.3最短路径(ShortestPath)
有了前面的铺垫,最短路径就很简单了。
它就是用来生成一条最小成本的路径。
下面我们就开始利用已有的数据来生成一条连接公路源头和学校的最短路径。
(兔八哥觉得这儿称为最优路径更为合适)
ArcGIS空间分析模块学习指南(十)
作者:
兔八哥 文章来源:
本站原创 点击数:
4376 更新时间:
2006-6-28
2.2.4Sample:
生成连接公路源头和学校的最优路径
Step1:
打开Distance.mxd地图文档,在兔八哥_Distance数据框下有五个图层:
公路起点,已有公路,学校,土地利用,高程。
我们将利用这些数据来分析出一条连接公路起点和学校的新的公路。
Step2:
设置分析环境:
在Option中设置Extent"SameasLayer高程",CellSize"SameasLayer高程",此外还要设置工作路径。
首先我们做一些数据准备工作:
在分析中我们需要利用坡度数据,而我们当前“高程”的是地形数据,首先我们利用他生成坡度:
Step3:
利用表面分析的Slope来生成坡度(如有问题,请参照前面生成坡度)。
结果如下图,修改图层名称为"坡度"。
下面我们将对坡度和土地利用进行重分类,从而为后面的成本加权做准备:
Step4:
在SpatialAnalyst工具条中选择Reclassify,在Inputraster中选择土地利用,Reclassfield选择Landuse.分别给各类土地赋予下面的新值:
Agriculture4,Barrenland6,Brush/transitional5,Builtup9,Forest8,Water10,WetlandNoData,点击OK确定。
Step5:
使用相同的方法对坡度进行重分类,点击Classify按钮,在分类方法中选择EqualInterval(等分方法),将坡度分为十类。
ArcGIS空间分析模块学习指南(十一)
作者:
兔八哥 文章来源:
本站原创 点击数:
3722 更新时间:
2006-6-28
Step6:
合并数据集 下面我们将利用坡度数据和土地利用数据来产生一个成本数据,考虑到修筑公路时候,坡度占有更为重要的作用,赋予坡度60%的权重,赋予土地利用40%的权重。
在SpatialAnalyst工具条中,点击RasterCalculator,创建下面的语句:
Step7:
修改生成的图层名称为"成本",它表示经过每个Cell的成本。
该图层有很多空白处,他就是处理过程中的空值区域(比如我们前面将wetland设置为空值),在显示上不美观,可以在图层符号化中将空值显示为黑色。
下面计算各Cell到达学校的距离成本:
Step8:
在SpatialAnalyst工具条中,点击Distance--->CostWeighted,Distanceto选择“学校”图层,Costraster选择"成本"图层,选择Createdirection复选框。
Step9:
这样生成了两个图层,"CostDistanceto学校"和"CostDirectionto学校",分别将这两个图层分别重命名为"距离成本"和"方向"。
ArcGIS空间分析模块学习指南(十二)
作者:
兔八哥 文章来源:
本站原创 点击数:
5005 更新时间:
2006-6-28
Step10:
执行最优路径选择 在SpatialAnalyst工具条中,点击Distance--->ShortestPath。
如下土所显示,Pathto选择“公路起点”,Costdistanceraster选择"距离成本",Costdirectionraster选择"方向",Outputfeatures中选择你输出的文件名称。
Step11:
执行操作,你会惊奇的发现,在地图中增加了一条连接“公路起点”和“学校”的线,就是我们要找的最优路径,如下图所显示。
哈哈,我们这个公路选址问题就解决了,由于限于篇幅,很多问题没有展开讨论,比如为什么要使用方向,重分类等等,大家可以自己考虑考虑。
有问题欢迎和兔八哥讨论!
限于时间和水平,兔八哥只能在此搁笔了,ArcGIS空间分析的常用内容多数已经接触到了,空间插值请参考萧萧幕雨的地统计模块学习指南。
部分内容,大家可以参考电子文档。
在此给大家推荐一本书《ArcGIS空间分析实用指南》,兔八哥也是按照这本书学习ArcGIS空间分析扩展模块的。
(如果大家有空间分析方面的实际问题,兔八哥非常愿意和你进行探讨,一起学习进步。
只有通过解决实际问题,才能对学习的东西加以巩固。
)