基于 ArcGIS 的 DEM 数据生成方法的研究与探讨
摘 要:DEM 数据是地形可视化表达和地形分析的基础。就目前 DEM 数据的类型、DEM
数据生成的方法进行了研究和探讨,并在 ArcGIS 平台的基础上,构建了试验环境,初步
实现了由高程数据生成格网 DEM 数据和 TIN DEM 数据的思路、方法与步骤。关键词:
DEM;等高线;格网;TIN;ArcObjects 引言 DEM 是多学科交叉与渗透的高科技
产物,已在测绘、资源与环境、灾害防治、国防等与地形分析有关的各个领域发挥着越来
越大的作用,也在国防建设与国民生产中有很高的利用价值。 ArcGIS 是美国 ESRI 公
司开发的一套功能强大的 GIS 软件。ArcObjects 是 ArcGIS 提供的一套开发组件库,可以
开发出所需要的各种 GIS 功能,同时为用户提供了更大的开发自主性,它为用户提供了一
套完整的生成 DEM 数据和进行各种 DEM 分析的对象库和接口,用户可以使用这些对象库
和接口快速创建自己的应用软件系统。 现基于 ArcObjects 生成 DEM 数据的方法进行
了初步的研究和探讨。 1 DEM 数据的常见表现形式 DEM 模型按照数据的表现形
式主要分为两种:不规则三角网(Triangulated Irregular Network 简称 TIN,也称三角网
DEM)和规则格网(简称 GRID,也称格网 DEM)。 规则格网(GRID)格式
DEM GRID 是以规则排列的正方形网格来表示地形表面。GRID 数据结构简单,数据
存储量小,还可压缩存储,适合于大规模的使用和管理。现在我们常说的 DEM 及大规模
的 DEM 数据建设,主要是指这种形式,这里所称的数字高程模型 DEM,也是指 GRID。
栅格模型支持大量丰富的空间分析,比如空间一致性分析、邻近分析、离散度分析
以及最低成本路径分析等,这些分析速度也比较快。 不规则三角网(TIN)格式
DEM TIN 采用离散数据点生成的连续的不重叠的不规则三角形网格来表示地形表面,
在地形平坦的区域,三角形较少,而在地形复杂的区域,三角形较多。因此,TIN 能较好
地顾及地形地貌特征,逼真表示复杂地形的高低起伏变化,并且能够克服地形平坦区域的
数据冗余。但 TIN 的数据结构复杂,数据量大,一般只适用于小范围大比例尺的高精度地
形建模。 由于三角形在形状和大小方面有很大的灵活性,所以这种模型能较容易表
示断裂线和地形起伏较大的区域。TIN 模型还支持很多的表面分析,如 计算 高程、坡度、
坡向、进行体积计算、创建剖面图等,因此 TIN 建模方法在地形表面建模中引起了越来越
多的注意,在 GIS 中得到了普遍使用,已成为表面建模的主要方法之一。 在 ArcGIS
中主要提供了 RASTER 和 TIN 两个类型的数据,它们分别对应 GRID 数据和 TIN 数据。在
ArcGIS 中的各种三维操作和三维分析功能都是基于这两种数据进行的。所以这里也主要研
究和探讨基于网格(GRID)和基于不规则三角网(TIN)来生成 DEM 数据。 2
RASTER(GRID)数据的生成 在实际生产中,经常要利用等高线数据直接内插生成
DEM 数据,或者利用具有高程值的一定密度的离散点内插生成相应的 DEM 数据,从用户
的角度出发,利用等高线数据直接内插生成 DEM 数据是一种经常采用的方法。 在实
际应用中,通常有两种内插方法,一种是沿预定轴方向的等高线直接内插法,首先计算预
定轴与相邻等高线的交点,然后利用这些交点通过基于点的内插方法完成内插的过程。另
一种是沿内插点最陡坡度的内插,首先搜索相邻等高线上沿最陡坡度上的两点,然后根据
这两点线性内插出格网结点的高程值。实际上,等高线内插的核心问题在于如何确定用于
内插所需要的点。
在 ArcObjects 组件库中并没有提供直接由含有高程信息的等高线直接内插来生成
GRID 数据的方法,而是提供了利用具有高程值的离散点内插生成 RASTER 数据。我们可
以利用间接的办法来实现:先将等高线数据生成 TIN 类型的 DEM 数据,然后再将 TIN 转
换成 RASTER 数据。 实现思路和步骤: (1)首先需要添加一个带有高程值的
数据,作为生成 RASTER 的源数据;(2)通过从数据集中选择它的高程字段来创建一个
FeatureClassDescriptor 对象。该对象是一个从数据集中提取了高程字段新对象,作为进
行内插操作的一个输入对象;(3)使用 IRasterAnalysisEnvironment 接口设置输出
Raster 网格的大小;(4)使用 IInterpolationOp 接口中的内插方法 IDW 进行内插操作;
(5)生成并保存输出文件。 3 TIN 数据的生成 等高线生成三角网主要有三种方
法:等高线离散点直接生成 TIN 方法、将等高线作为特征线的方法、自动增加特征点及优
化 TIN 的方法。 等高线离散点直接生成 TIN 首先将等高线上的点离散化,然
后使用从不规则点生成 TIN 的方法生成 TIN,这种方法并没有考虑等高线数据的特殊结构
,会出现各种各样的问题,如:出现三角形的三个顶点都位于同一条等高线(即所谓的平
三角形),或者三角形某一边穿过了等高线的情况,而这些情况按照 TIN 的特性来说都是
不允许的。在实际应用中,这种算法很少直接使用。 将等高线作为特征线的方法
将每一条等高线当作断裂线或结构线,对于三角形而言,至多只能从同一等高线取
两个点,并且规定在这些线上不能有三角形生成。 自动增加特征点及优化 TIN 的
方法 这种方法的实质是将等高线离散化建立 TIN,采用增加特征点的方式来消除 TIN
中的“平三角形”,并使用优化 TIN 的方式来消除不合理的三角形。 利用 ArcObjects 在
生成 DEM 的方法上,TIN 比 Raster 实现起来更容易一些,实现步骤如下: (1)加
载一个等高线数据集,用来生成 TIN;(2)将该等高线数据集的空间引用设置为要创建
TIN 的空间引用;(3)利用 ITinEdit 接口中的 InitNew 方法生成 TIN;(4)由于生成的
TIN 没有高程信息,还要利用 ITinEdit 接口中的 AddFromFeatureClass 方法添加高程信息
到 TIN 中;(5)保存 TIN 数据。 结束语 DEM 数据是 GIS 中进行地形可视化表
达和地形分析的重要基础,而 DEM 数据生成方法的选择,直接决定了 DEM 数据生成的效
率和质量,这里在对生成 DEM 数据的相关算法和技术研究的基础上,基于 ArcGIS 的
ArcEngine 二次开发平台,利用 ArcObjects 组件库提供的相关接口实现了 DEM 的生成,从
实际效果来看,其数据的表现形式和精确度还是较令人满意的,当然,这还只是对 DEM
数据的生成方法进行了试验性的研究和探讨,真正要发挥 DEM 数据的作用,还需要结合
具体的实际应用,进行结构和功能上的不断完善,尤其是在生成 DEM 数据的基础上进行
各种相关的地形分析。 参考 文献 [1]李志林,朱庆.数字高程模型[M].武汉:武汉大学出
版社,2003.[2]汤国安,刘学军,闾国年.数字高程模型及地学分析的原理与方法[M].北京
: 科学 出版社,2005.
[3]邬伦等.地理信息系统原理、方法和应用[M].北京: 科学 出版社,2001.作者简介:张
禹,2004 年毕业于中南大学地理信息系统专业,助理工程师,主要从事航测内业工作。