ArcGIS地形分析
ArcGIS地形分析的基本步骤如下:
1. 整理并添加带有高程属性的CAD等高线或者高程点;
2. 将导入的等高线或高程点数据转换为GIS可编辑的Shapefile文件;
3. 使用整理好的Shapefile生产数字高程三角模型TIN文件;
4. 将TIN文件转换为栅格数字高程模型DEM文件;
5. 基于DEM即可进一步进行基于地形的坡度、坡向、起伏度、汇水特征等专项分析了。
放轻松,按教程一步步来
先来解释两个名词
1.DEM
DEM的全称是Digital Elevation Model,非常直接的翻译,就是“数字”、“高程|”、“模型”三个词的直接拼接,可谓是简单粗暴好理解,可到底什么是“数字高程模型”。这个概念可能是经常困扰大家的问题,貌似很高大上,尤其是一些学术论文,经常只写其英文名,还是简称——DEM。其实很简单,高程这个概念不用说,“数字模型”就是把高程数字化后的模型嘛,数字化就是在电脑里面显示就是数字化咯,数字高程模型就是在电脑里面进行显示的高程数据嘛。
从某种程度上来说高程点、等高线就是高程数据的一种数字模型,DEM只是把高程进行连续面状数字化了,那对应的等高线就是线状高程数字化模型,高程点就是点状高程数字化,这样就明白为什么我们可以用等高线或者高程点生成DEM了吧
2.TIN
TIN的全称是Triangulated Irregular Network,翻译过来就是它的中文名——“不规则三角网”,其实也是一种数字模型,当然,TIN文件可以是表达高程的数字模型,也可以是表达其他数据的数字模型本文里面的TIN文件当然就是表达高程的数字模型了,它和DEM的区别就在于他是矢量的,而DEM是栅格的!为什么会这样呢?因为我们知道CAD里面的高程点和等高线都是矢量的,我们把它们导入GIS后依然还是矢量的,我们要把矢量的点状高程点或者线状等高线高程数据转换为连续面状的DEM高程数据模型是需要插值的(什么是插值?简单理解就是在空白地方增加数据,点状、线状转换为面状就是要增加数据的过程!),而这个插值过程是不能直接将矢量插值为栅格数据的,所以要先插值生成TIN格式的矢量数字三个网络模型,再将其转化为栅格数字高程模型DEM文件。
按下面的教程来~
1
整理CAD等高线或者高程点
我们常见的CAD高程数据基本就两种:高程点、等高线。做GIS地形分析对CAD高程点和等高线的要求都是必须带有高程属性!
高程点的高程属性比较简单,如下图所示,我们在CAD现状地形图中的大部分高程点都是如图这种高程点图块,图块带有一个高程点及其高程值标注,此时我们双击这个高程点标注文字是不能像传统文字那样编辑的。GIS也是不能直接识别CAD中这样的图块,所以我们不能直接将这样的高程点导入GIS,需要我们进行处理——炸块!但要注意的是此处的炸块不是用CAD中的X命令,如果用X命令对这个块进行炸裂,会发现整个图块就消失了,这是很多童鞋在处理这样高程点时会遇到的问题,正确的做法是通过湘源控规(请自行安装)里面的“工具-图块-炸属性块”对高程点图块进行炸块处理(图3.3)。输入这个工具命令后,会提示是删除还是保留隐藏属性,这里可以默认即可。炸属性块后根据不同情况会有不同显示,但标注高程点的文字肯定是会单独显示的,我们通过双击也发现是可以像传统文字那样进行编辑修改了,这正是我们需要用到的数据。
等高线的属性数据相对复杂一些,如下图所示,图中绿色的线即是我们需要提取使用的地形等高线,其中比较细的等高线叫做基本等高线,也叫首曲线,是一副地形图中按基本等高距绘制出的等高线;其中比较粗的等高线叫加粗等高线,也叫计曲线,是按每隔五条基本等高线加粗的一条等高线,主要是为了便于判读和计算高程使用。两根计曲线的高程差为2.5米,则基本等高线的高程差为0.5米。
各条等高线的高程查看方法为,在CAD中选中需要查看高程的等高线打开进入其属性查看Elevation属性值即为其高程。CAD查看图元属性可以通过PR(Properties)命令、Ctrl+1打开属性对话框或者通过LI(List)命令调取图元属性列表等方法,如下图。
如果我们所拿到的CAD现状图中具有以上特征的高程点或等高线,那我们基本就能导入GIS正确生成地形分析所需要的TIN文件和DEM数字高程模型,并做进一步的相关分析了。
接着
2
将数据转换为GIS可编辑的Shapefile文件
通常我们的现状地形图是多种图层叠加的,需要首先将这两个数据所在图层单独分离出来(也有是所有图元被合并在一个图层的,这种比较麻烦些,后面会讲怎么操作),图层的分离可以在CAD里面提前做好了再导入GIS,也可以导入GIS转换为Shapefile后再做分层处理,此处主要讲一下如何导入GIS后做分层处理(CAD比较简单,直接单独按图层单独选择并写块即可,但是如果数据量大的话在CAD里面会比较卡顿,所以建议先导入GIS再做分离)
首先需要在CAD里面明确高程点和等高线各自的图层名,如本教程所采用数据对应的图层名分别为GCD、DGX。打开ArcGIS for Desktop中的其中一个软件ArcMAP,添加准备好的CAD现状地形图。
1.点击菜单栏“文件-添加数据-添加数据”
2.CAD高程点和等高线的提取
CAD添加进GIS后的数据列表如下图所示,我们可以看到一个CAD文件添加进GIS后会出现5个文件,分别是Annontation、Point、Polyline、Polygon、Multipatch(具体是什么后面会另外再讲,这里不展开,有兴趣的小伙伴也可以先自行百度),我们分别对高程点和等高线所属的Annotation和Polyline文件进行分离提取并生成对应的Shapefile文件。(注意:这一步是非常重要的一步)
操作步骤:
(1)通过标准工具栏打开工具箱(ArcToolbox)窗口,并依此展开至“分析工具-提取分析-筛选”
(2)双击“筛选”工具,在弹出的筛选工具窗口的输入栏选中Annotation数据;输出要素类位置可默认,也可按自己需要输入对应文件位置;表达式一栏点击后侧SQL表达式图标弹出表达式输入框,按下图 依此双击各参数并单击相应按钮,此处的表达式含义就是将CAD中图层(Layer)名为“GCD”的高程点数据提取出来。(前面说了要明确高程点和等高线的图层名就是此处要用到!)完成后点击确定即可生成对应的高程点Shapefile文件Annotation_Select1。
3
使用Shapefile生产数字高程三角模型TIN文件
基于上述处理好的高程点和等高线我们即可生成TIN文件了,由于使用高程点和等高线生成TIN文件的方法是一样的,此处为了避免重复,选用等高线进行示范操作讲解。
(1)如图下图,在ArcToolbox中依此展开“3D Analyst-数据管理-TIN-创建TIN”,打开创建TIN工具;
(2)在创建TIN窗口按图4.4.2进行设置;
(3)点击确认即可生成TIN文件
说明
(1)输出TIN的路径可根据需要自定义;
(2)坐标系暂时可不管,后续教程再讲如何设置正确的坐标系;
(3)高程字段请选择我们前面步骤修正后的高程字段,即Elevation字段;
(4)在图层列表里面TIN文件对应的图层名上双击可进入“符号系统”对其进行图示化设置,此处不展开讲解,后续再做图示化表达专题。
4
将TIN文件转换为栅格数字高程模型DEM文件
(1)在ArcToolbox中依此展开“3D Analyst工具-转换-由TIN转出-TIN转栅格”,双击打开“TIN转栅格”工具;
(2)如图xx,在“TIN转栅格”工具对话框中输入TIN文件选择第4步生成的TIN文件,采样距离选择CELLSIZE,其值设置为1。(注:此处的CELLSIZE的意思可以理解为生成DEM的精度,其取值默认不是1,设置为1的时候精度最高,当然对应数据量也最大,如果地形范围不大,建议此处尽量设置为1,如果地形范围太大可适当设置为5、10等数值)
(3)点击确定,等待转换完成即可生产DEM栅格数据了,下图所示的createtin1_T图层即是我们生成的DEM原始效果,图例中945.5-1042的数值即是高程值的范围,通过双击图层进入符号系统可对其进行进一步的图示化表达。
4
坡度、坡向、起伏度、汇水特征等专项分析
高程分析
在内容列表双击DEM图层打开其属性设置对话框图,点击“符号系统”标签,在显示栏下选择“已分类”,在右侧点击“分类”按钮,进入分类设置对话框,在分类方法中设置“定义的间隔”,将间隔大小设置为“5”,此处的含义即为将高程显示定义为每5米一个间隔。点击确认,继续在图层属性设置窗口中的色带选择需要显示的颜色色带,点击确定,我们即可得到按特定高程分段进行图示化表达后的DEM高程效果。
目前为止,我们基本的高程数据已经形成,但这和我们传统看到的高程分析似乎有点不一样,缺乏立体感!立体感的效果不能通过对DEM进行直接图示化设置进行显示,需要我们基于DEM生成一个专门的山体阴影数据(如前文所述,地形相关的其他分析都是基于DEM数据的!),并将其叠置于设置半透明后的DEM下面,这样就能让我们的高程分析显示立体效果了,紧接上一步我们来生成山体阴影数据。
在ArcToolbox中依此展开“3D Analyst-栅格表面-山体阴影”,打开山体阴影工具。
在山体阴影工具对话框中按下图进行设置。其中将输入栅格勾选当前文档中的DEM,也即我们需要生成对应山体阴影的数字高程,其他选项可以默认。
点击确认,即可生成对应的山体阴影数据(HillSha_crea1) 。
完成以上步骤我们就要回到高程数据对其进行立体化的图示化表达了。如下图,首先在内容列表中调整DEM和山体阴影图层(HillSha_crea1),让DEM位于最上层显示。双击DEM图层打开图层属性对话框,在“显示”标签下将透明度修改为50。
点击确定,得到有立体感显示的高程分析图。
坡度分析
坡度分析是我们在做基地地形分析中需要考虑的另外一个重要因素,对应地面的坡度我们一般有两种度量方法,一种是斜坡和水平面之间的夹角度数,单位为度(°);另一种是是该夹角的正切值,用百分比表示(具体理论解释请自行百度)。因此,在GIS的坡度分析中对应也可以生成两种不同的结果,具体操作方法如下:
1、如下图,在ArcToolbox中依此展开并打开“3D Analyst-栅格表面-坡度”工具。
2、如下图,在坡度工具对话框中的“输入栅格”栏选择DEM数字高程数据,“输出栅格”栏可根据自己需要设置路径(新版GIS在自定义输出路径后容易出错,建议就用默认路径,如果实在需要自定义路径,建议在自定义的路径下新建一个GDB或者MDB数据库进行保存不容易出错),“输出测量单”栏有两个选项可选,分别为“DEGREE”和"PERCENT_RISE",对应的就是前文所述的两种坡度表示方法,分别为度数和百分比,根据需要自行选择。
点击确认,生成坡度分析结果数据层Slope_create1
坡向分析
做完前面的高程和坡度分析,坡向分析就是非常简单,基本没什么问题了,此处就列出操作流程,不做展开讲解了。
1、如图3.1,在ArcToolbox中依此展开“3D Analyst-栅格表面-坡向”,打开“坡向”工具。
2、在“坡向”工具对话框中如图3.2设置。“输入栅格”输入我们的DEM数字高程模型,“输出栅格”路径可自定义也可默认。
3、点击确定等待计算完成即可得到坡向分析图Aspect_creat1,图3.3。坡向分析结果图的图示化我们一般默认即可,非特殊情况一般不做修改。
至此,我们从DEM数据生成到基础地形分析,完成了一次ArcGIS基本数据处理和分析及成果输出的流程。(满满的干货啊)只要掌握了这两个基础教程,基本能完成常用小规模地块的基础地形分析,也能基本满足常规需求。