APP下载

DTM下地形特征的自动提取研究与实现

2016-06-06杨帆李海博

环球人文地理·评论版 2016年3期
关键词:山脊格网山谷

杨帆 李海博

摘要:基于DTM离散点数据,使用Visual C++编程语言进行程序的设计,编写读入、写出数据程序,通过用距离倒数加权方法进行插值,建立格网DTM,获取更加详尽的地形信息。采用三阶不带权差分算法实现坡度和坡向的计算,采用直接比较当前点的高程值与其周围临近点的高程值的方法来确定特征点,选取的特征位置包含以下几个方面:山脊点、山谷点、深淵和基坑、山头点,相连的山脊点、山谷点产生山脊线以及山谷线,编程完成了格网DTM,对地貌特性的自动挖掘,生成 .scr文件后,在AutoCAD下进行三维立体显示,使其更直观,更形象的显示地形特征。提交成果为Visual C++编程实现格网DTM下地性特征的自动提取及程序。

关键词:DTM;地形特征;距离倒数加权法;坡度;坡向

1.前言

地形地貌作为地理要素之中,最为基础的部分,其对自然地理单元的产生与地面物质和能量的再分配过程,起到直接决定的作用。地形结构线,作为地貌的基本骨架线,同时也通常为自然地理局域单元的根本分界线。由此看来,基于DTM数据信息,自动完成其总所潜在的地形构造数据的挖掘,意义十分重大。根据规则格网DTM,对地貌特性进行自动挖掘,并且深入改善DTM,完成对地貌的直接、全方位的展示,从而能够让挖掘出的地貌特性数据,可以更好的服务不同的行业领域,为促进科学技术的向前发展努力。

由于GIS、DTM等研究分析技术的崛起,自动挖掘地貌特性的理论模型与基本算法,获得了国内外专家学者的密切关注。在此之中,规则格网的高程矩阵,作为DTM最为常用的矩阵模式。格网DTM无法清晰的显示出地貌的具体构造与局部特征,能够利用附加地貌特性信息,例如:地貌特征位置、山脊线、谷底线以及断裂线等,借以从而能够详细地,由数据分析处理得出地貌构造。伴随着DTM的推广与运用,关于如何快速高效的创建网格DTM,成为了本领域研究的关键。

2.数字地面模型DTM

2.1 格网DTM 。数字地面模型(Digital Terrain Models)DTM,选取某个任意坐标场之中,数据信息已知的x、y、z的坐标位置,从而实现对地貌表面简单的信息显示,为具备空间位置特性与地貌属性特性的信息表达,为一种能够较为准确的表达地貌表面特征和现象各类本质,并且在空间内部分布的数学理论模型。在数字地面模型之中,地貌特性展现为高程时,称作是DEM。DEM作为创建DTM的根本前提,有关平面坐标分布的单值连续性函数,为一种能够通过离散化信息,描绘地表特征的数学理论模型[1]。

规则格网DTM,本质上为高程矩阵。其优势在于:信息构造单一,易于管理;适用于各类数据分析,或创建空间图形等。其弊端在于:对格网点高程进行数值内插,降低了原始数据的精度;无法清晰的展示地貌构造与细部结构,能够阻碍地貌的核心特性的表达,例如山峰、洼坑、山脊等;若更换变格网的数据规模,将无法应用于起伏波动较大的区域;地貌简单区域,往往会产生大量多余信息,影响信息管理。

2.2 距离倒数插值法建立格网DTM。本文采用距离加权平均方法进行插值计算,这个方法简单,易于进行编程实现,利用地区内部的已知高程信息点,以样本点的空间距离为对象,采取加权平均处理,将所得的加权平均值,等价于未知点的高程值[3]。

在插值点之上,创建一个形状为正方形的选择框,如此一来,依据单一的坐标数值,进行对比便能够发现纳入正方形框内部的信息点。如纳入正方形框内的信息点过多,能够减少正方形框的面积;相反,提升正方形框的面积。正方形框面积的初始值的选取,由图幅之中,原始信息点的密集程度决定。

3.根据格网DTM的地貌特性提取

3.1对于坡度与坡向的提取

3.2 特征点的提取

1)算法思想。算法思想,如下图3-3显示。若某些等高线所对应的地貌特性为山谷,并且,过等高线j上的山谷点B,该点的水平线与周围区域的等高线i,相交早A点以及C点,如此便能够评估,在线段AC之上,连续点的高程值的变化幅度,为由A至B,缓慢降低,由B至C,缓慢提高。假设将B点作为山脊点,则可以判定,在线段AC之上,连续点的高程值的变化幅度,为由A至B缓慢提升,由B至C缓慢降低[6]。

根据上述推论,能够总结出基于规则格网DTM之中,自动挖掘地貌线的一种简易计算方法:对网格DTM之中,各个格网高程点,依据对比同此点八方向附近并且处于同一直线上的格网点高程值的波动状况,以计算特征点位置,然后将附近区域的特征点用光滑曲线连接,制成对应的特征线。

3.3 山谷线的提取

首先,山谷线的前提条件如下:

1)山谷线通过山谷点组成;2)由高程值极大值的山谷点(上游)出发,山谷线的数值理应逐渐变小;3)除去封闭式的盆地(较为罕见),通常地山谷线中止在:其他山谷线(河流);深渊、坑、湖泊以及海洋;网格DTM的边际。

对山谷线的跟踪,依据以上三个条件逐一追踪,并且一般由高处转向至低处进行跟踪,因此,对于每条新山谷线的跟踪,均由从每项未跟踪的山谷点之中,找到高程极值点处的山谷点,充当新山谷线的“起始点”,并且以此“起始点”出发,寻求其后继高程点,直至此条山谷线中止,然后再去跟踪其余山谷线。在所有山谷点均完成跟踪之后,即山谷线跟踪完成[5][6]。

为规避某些局域位置产生地性线不完整现象,中间发生了断裂,最终产生完备的地性线,能够在判定特征点的过程中,除去挖掘山谷点之外,还要判定网格DTM之中,局部深渊和基坑等异常地貌。一般把高程值比附近点的高程值均要低的点,判定成深基坑或深渊。

在某条山谷线开始跟踪后,上一次被确认的山谷点作为当前点,在此点为中心的八方向附近点之中,挖掘出后继点,其须要符合的前提条件如下:

1)此点为高程小于当前点的各个山谷点之中,高程值最低的位置;

2)连接此点和当前点不同所有已完成跟踪的山谷线相交。

若山谷点被判定成新的山谷线点,必须深入检测,其是否同所有已完成跟踪的山谷线相交,如是,则中止跟踪,转向跟踪新的山谷线;否则检查其是否已被跟踪,如已被跟踪,则说明两条山谷线相汇合,跟踪停止,转向跟踪新的山谷线;否则检查该山谷线点是否位于DTM边缘,如是,跟踪亦停止,转向跟踪新的山谷线;否则检查该山谷线点是否是深渊或坑点,如是,跟踪立即中止,转移以跟踪新的山谷线;若不满足上述状况,则要持续对其跟踪。

在某个山谷点完成跟踪之后,便对其进行标记处理,以显示其已完成跟踪。一般需要各个山谷点,仅存一个“下游点”,但是,也会出现一个或一个以上“上游点”的情况,因此,在对山谷点跟踪过程之中,若某山谷点八方向附近点字中,存在一个以上的“备选下游点”时,选取高程值最低的“备选下游点”,充当此点的“下游点” ,在对山谷点跟踪过程之中,若出现某一点存在一个以上的“上游点”,则显示此点为两条山谷线的相交点。此时便需中止目前对山谷线的跟踪,转至对新的山谷线进行跟踪;在对山谷点跟踪过程之中,若存在某点无“下游点”,则需要中止目前对山谷线的跟踪,转至对新的山谷线进行跟踪。

在寻求后继点的过程之中,也许存在每个山谷点均不符合上述两个条件的情况,造成此现象的原因是,山谷线和湖泊同海洋交叉,山谷线延伸至深渊个基坑,或山谷线延伸至闭合盆地,抑或是山谷线延伸至平缓区域而自动消散。无论为哪种状况,中止跟踪,转至对新的山谷线进行跟踪。在山谷点对象集合之中,各个目标均进行标记处理后,显示全部的山谷线均连接完成。

当寻求到此类特殊地形之后,对各项不为终止于上述任意状况的山谷线的下游终点位置,依据下降速率最大的方向,进行蔓延,直到蔓延到符合山谷线中止条件的位置,中止跟踪。

3.4 山脊线的提取

首先,山脊线的前提条件如下:

1)山脊点组合成了山脊线;2)在高程值极小值处的山脊点开始,山脊线的点的数值能高,能低;3)习惯上说,山脊线在下一个山脊线停止;汕头;DTM的边界。

山脊线行迹和山谷线行迹差异性较大,原因是:山脊线的高程具有起伏性,所以不可以控制只寻觅比目前点大或小的山脊点,在八相邻方向之中,全部的山脊点均处于考察范畴之内。

为了避免有些局部地方生成的地性线不完整,中间发生了断裂,最后形成一个完整的地性线,能够在选择特征点的时候,不仅需要确定山脊点之外,还需明确DTM内的山头等奇特地形。一般情况下,把高程值比附近点的高程值均高的点称为山头[5][6]。

当一个山脊线开始跟踪后,上一次被认定为山脊点的点作为当前点,并将这个点作为中心的八方向邻近点内,寻觅后继点,应该符合的要求为:

1)这个点的八方向邻近点内,仅存在一个山脊点;2)将这个点和当前点进行连接,且不和别的已跟踪的山谷线相交;3)将这个点和当前点进行连接,且不和别的已跟踪的山脊线相交。

山脊線的跟踪从极小值出发,在山脊点中确定高程值最低的、还没有被跟踪的点确定为山脊线的出发点(也为当前点),于此点为中心的八相邻方向上,寻觅山脊点,若找到一个山脊点,此山脊点则被定为新的山脊线点,应再一次检测其是否同所有已完成的跟踪的山谷线和山脊线相交,如是,则跟踪停止,转向 跟踪新的山脊线;否则检查其是否已被跟踪,如已被跟踪,则跟踪停止,转向跟踪新的山脊线;否则检查该山脊线点是否位于DTM边缘,如是,跟踪亦停止,转向跟踪新的山脊线;否则检查该山脊线点是否是山头点,如是,跟踪亦停止,转向跟踪新的山脊线;否则检查连结该点与当前点是否与任何已跟踪的山脊线交叉,如是,跟踪也停下来,而变相跟踪另一个山脊线;若上述情况均不符合,应继续跟踪[7]。

不然对目前山脊线完成跟踪后,开始下一个山脊线。例如,在此点的八相邻方向上存在较多山脊点,就表明目前山脊线位于山脊线构造的分支(结点)上,目前山脊线跟踪终止,不让目前点和别的点连接,进而跟踪下一个山脊线。这样循环,一直到全部的山脊点均完成跟踪。

将山脊线进行连接的同时,应将山脊线的关键程度纳入考虑范畴,对山脊线关键程度,做出如下假定:平均高程愈大,山脊线重要程度越高。首先,选取具备高程值极小值的山脊线,将低值点充当此条山脊线的出发点,另一端的点充当目前连结点,测查当前点位置,是否处于另外山脊线中,若是,则终止连接,从而连接下一个山脊线;否则检查当前点是否处于DTM边界,若是,则终止连接,从而连接下一个山脊线;否则检查当前点是否为山头点,若是,也将终止跟踪也,进而跟踪另一个山脊线;若上述情况均不符合,应继续跟踪。将目前点位置为中心的八相邻区域内,检测是否每条不属于此山脊线上的山脊点,然后依据具体状况,做出对应的评估:

1)假若一个这样的山脊点,连结该点与当前点,不与其它山谷线或者山脊线相交,则将改山脊点作为与当前点连结的点,继续搜索;2)若出现较多同类型的山脊点,明确所有的山脊点中的山脊线,并计算出山脊线上每个点的平均高程,选择平均高程最大的山脊点作为可能的连结点,考察是否该点与当前点的连结将与其它山谷线或者山脊线交叉;3)如果没有山脊点,向上升速率最大值的方向蔓延,直至蔓延到符合山脊线中止条件的位置,中止跟踪。

如不是,则连结该点与当前点,继续以该点所在的山脊线为连接线,考察端点情况,步骤同上;如是,则选择平均高程次大的山脊点作为可能的连结点,继续检测,直至发现符合山脊点的要求停止。

4.结论

本文以大量的离散数据点为基础,用Visual C++编程语言进行程序设计,编写读入数据程序,采用距离倒数加权方法建立格网DTM,可选择不同的格网间距,如:20米、50米、100米。写出.scr文件,进一步在AutoCAD下实现格网DTM的三维立体显示,检验提取的地形特征的准确性和真实性提供依据。

本文将手动提取地形特征的工作,完成编程,实现了地形形态的自动收集,使得工作效率进一步提升,缩短了工作时间,也降低了人们在工作时,发生错误的次数。

参考文献:

[1]李志林,朱庆.数字高程模型[M].武汉:武汉测绘科技大学出版社,2001.

[2]朱东海,刘良华,董海宁,(等).Visual C++ 6.0使用详解.北京:机械工业出版社,1999.

[3]吴焕萍,胡金星,马照亭,(等).规则格网DTM快速构建算法研究.计算机应用研究,2004.

[4]李天文,刘学军,陈正江,(等).规则格网DEM坡度坡向算法的比较分析.干旱区地理,2004,27(3):398~404.

[5]郭仁忠.空间分析.第二版.程序设计教程.北京:高等教育出版社,2004.

[6]郭明武,吴凡.基于规则格网DEM自动提取地形线的一种简便方法.测绘信息与工程.2005,30(2):33~34.

[7]郭明武,黄宇.基于规则格网DEM自动提取地形线的算法研究.测绘学院学报.2005,22(3):201~203.

猜你喜欢

山脊格网山谷
山谷里的居民
Saving the life of a wolf
睡吧,山谷
实时电离层格网数据精度评估
黄昏
山脊新能源
基于空间信息格网与BP神经网络的灾损快速评估系统
基于约束连接方向的最速上升法提取山脊线
平均Helmert空间重力异常格网构制方法
基于位置服务的地理格网编码设计