ArcGIS系列(一):DEM数字高程模型数据的生成

您所在的位置:网站首页 制作等高线地形图的软件 ArcGIS系列(一):DEM数字高程模型数据的生成

ArcGIS系列(一):DEM数字高程模型数据的生成

2023-08-24 20:27| 来源: 网络整理| 查看: 265

一、引

DEM的全称是Digital Elevation Model,非常直接的翻译,就是“数字”、“高程”、“模型”三个词的直接拼接,可谓是简单粗暴好理解,DEM不只是用高程点或者等高线产生的,还有卫星遥感数据等渠道可以获取,在ArcGIS里面用高程点或等高线生成DEM也不是直接生成,需要通过先生产TIN文件,在将TIN文件装换为DEM。

有童鞋可能要问TIN文件又是什么鬼,为什么不能直接生成DEM,而非要先生成TIN文件呢?!

TIN的全称是Triangulated Irregular Network,翻译过来就是它的中文名——“不规则三角网”,其实也是一种数字模型,当然,TIN文件可以是表达高程的数字模型,也可以是表达其他数据的数字模型本文里面的TIN文件当然就是表达高程的数字模型了,它和DEM的区别就在于他是矢量的,而DEM是栅格的!为什么会这样呢?因为我们知道CAD里面的高程点和等高线都是矢量的,我们把它们导入GIS后依然还是矢量的,我们要把矢量的点状高程点或者线状等高线高程数据转换为连续面状的DEM高程数据模型是需要插值的(什么是插值?简单理解就是在空白地方增加数据,点状、线状转换为面状就是要增加数据的过程!),而这个插值过程是不能直接将矢量插值为栅格数据的,所以要先插值生成TIN格式的矢量数字三个网络模型,再将其转化为栅格数字高程模型DEM文件。

二、生成DEM的具体操作步骤

1.CAD高程点和等高线的添加

如前文所述,需要在CAD中准备好带高程的高程点和等高线数据。通常我们的现状地形图是多种图层叠加的,需要首先将这两个数据所在图层单独分离出来(也有是所有图元被合并在一个图层的,这种比较麻烦些,后面会讲怎么操作),图层的分离可以在CAD里面提前做好了再导入GIS,也可以导入GIS转换为Shapefile后再做分层处理,此处主要讲一下如何导入GIS后做分层处理(CAD比较简单,直接单独按图层单独选择并写块即可,但是如果数据量大的话在CAD里面会比较卡顿,所以建议先导入GIS再做分离)

首先需要在CAD里面明确高程点和等高线各自的图层名,如本教程所采用数据对应的图层名分别为GCD、DGX。打开ArcGIS for Desktop中的其中一个软件ArcMAP,添加准备好的CAD现状地形图。

步骤为:

方法一:点击菜单栏“文件-添加数据-添加数据”;(图1)

↑↑↑ 图1 ArcMAP中添加数据方法

2.CAD高程点和等高线的提取

CAD添加进GIS后的数据列表如图4.2.1所示,我们可以看到一个CAD文件添加进GIS后会出现5个文件,分别是Annontation、Point、Polyline、Polygon、Multipatch(具体是什么后面会另外再讲,这里不展开,有兴趣的小伙伴也可以先自行百度),我们分别对高程点和等高线所属的Annotation和Polyline文件进行分离提取并生成对应的Shapefile文件。(注意:这一步是非常重要的一步)

↑↑↑ 图2.CAD导入GIS后的数据列表

操作步骤:

(1)通过标准工具栏打开工具箱(ArcToolbox)窗口,并依此展开至“分析工具analysis tool -提取分析extract -筛选”(图4.2.2)

↑↑↑ 图4.2.2 CAD导入GIS后的数据列表

(2)双击“筛选”工具,在弹出的筛选工具窗口的输入栏选中Annotation数据;输出要素类位置可默认,也可按自己需要输入对应文件位置;表达式一栏点击后侧SQL表达式图标弹出表达式输入框,按图4.2.3 依此双击各参数并单击相应按钮,此处的表达式含义就是将CAD中图层(Layer)名为“GCD”的高程点数据提取出来。(前面说了要明确高程点和等高线的图层名就是此处要用到!)完成后点击确定即可生成对应的高程点Shapefile文件Annotation_Select1。

↑↑↑ 图4.2.3 通过属性筛选工具提取GCD图层数据示意

按相同的方法将等高线对应的Polyline文件进行提取分离,这次的表达式为"Layer"="DGX",对应生成等高线Shapefile文件Polyline_Select1。

3.高程数据的初步修正

通过上述1、2步的操作,我们已经成功的将CAD格式的高程点和等高线数据添加到ArcGIS中并将其各自转换为ArcGIS可编辑的Shapefile格式,对应的文件分别为Aannotation_Select1、Polyline_Select1。

按一般的正常步骤到了这一步即可开始生成TIN文件了,但是通常我们导入的数据或多或少都有些问题,尤其是高程值不正常会导致生成的TIN文件出现错误,下面就介绍一下如何检查高程值的错误以及修复方法。

(1)高程点错误数据的修正

在内容列表里右键点击Aannotation_Select1图层,选择“打开属性表”,在属性表里我们找到Elevation、Text两列属性值,其中Elevation即为高程点对应的高程值,Text即为CAD里面标注的高程值,此处的Elevation值是真实值我们可以用,但是如果此处的Elevation值为空或者全部为零我们就不能用这个值来计算TIN文件了,就需要用到Text来间接计算,方法见后续章节。我们实验数据里的Elevation值非空(图4.3.1),可以使用,但要检查数据的准确性,一是要检验其数据的正确性,检验方法是通过和Text数据列对比,如果基本是能一一对应的,那数据也就基本是准确的(图4.3.1);另外是要检查是否有错误值,检查方法是在表头处双击(啥是表头?就是显示Elevation这一列表的名字的地方!),切换数据按高低顺序显示,如图4.3.2,我们可以看到当Elevation数据列按从高到低排列后,出现了部分数据出现严重偏差,和Text数据列所标注高程不对等的情况,数据值为0甚至是负数,这是明显的错误高程值,需要对错误的高程点筛选出来进行修正,方法如下:

↑↑↑ 图4.3.1检查高程点数据中Elevation和Text属性值的差异性

↑↑↑ 图4.3.2 Elevation和Text属性值存在偏差的部分

①点击属性表-表选项-按属性选择,打开属性选择对话框,如图4.3.3。

↑↑↑ 图4.3.3 在属性表中打开属性选择工具

② 在属性框中按图4.3.4所示操作顺序输入属性选择表达式“Elevation TIN ==>Delineate TIN Data Area

5、生成DEM文件

将第4步生成的TIN文件转换成DEM文件,方法比较简单,操作步骤为:

(1)在ArcToolbox中依此展开“3D Analyst工具-转换-由TIN转出-TIN转栅格”,双击打开“TIN转栅格”工具;(图4.5.1)

↑↑↑ 图4.5.1 TIN转栅格工具所在ArcToolbox工具箱列表中的位置

(2)如图xx,在“TIN转栅格”工具对话框中输入TIN文件选择第4步生成的TIN文件,采样距离选择CELLSIZE,其值设置为1。(注:此处的CELLSIZE的意思可以理解为生成DEM的精度,其取值默认不是1,设置为1的时候精度最高,当然对应数据量也最大,如果地形范围不大,建议此处尽量设置为1,如果地形范围太大可适当设置为5、10等数值)

↑↑↑ 图4.5.2 TIN转栅格工具对话框窗口选项设置

(3)点击确定,等待转换完成即可生产DEM栅格数据了,图5.5.3所示的createtin1_T图层即是我们生成的DEM原始效果,图例中945.5-1042的数值即是高程值的范围,通过双击图层进入符号系统可对其进行进一步的图示化表达。

↑↑↑ 图4.5.3 生成的DEM文件原始效果

(4)通过工具包中Conversion\From-Raster\Raster to ASCII,会自动把栅格数据中NODATA值转为-9999,在使用txt文件时,直接忽略即可

至此我们成功通过ArcGIS将CAD中的高程数据(高程点、等高线)转换生成了我们在GIS中做地形分析所需要的DEM文件,后续我们常规的高程、坡度、坡向分析都是基于这个DEM文件进行的,该部分内容留作下次再讲解。

三、插曲

有时候童鞋们会不能使用3D analyst和spatial analyst这两个工具,提示没有许可证!

这时候Customize-->Extensions-->将3D Analyst和Spatial Analyst前面打钩选中,即可以使用。

四、总结

本次教程的核心是讲解如何通过CAD高程数据生产GIS地形分析的核心数据——数字高程模型DEM文件,基于DEM的高程、坡度、坡向等其他相关地形分析在后续教程再做讲解。

从教程来看,生产DEM的核心是前期基础数据的处理,只要前面的数据处理好了,后面的生成操作是非常简单的,但是数据处理是一个相对麻烦的过程,尤其是不同来源的数据都有各自不同的问题,文中已经把我们常见的基本问题作了分析讲解,如果大家在自己操作中仍然出现了其他问题欢迎私信交流探讨。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3