一种基于不规则三角网模型的数字河网提取方法

文档序号:9547987阅读:268来源:国知局
一种基于不规则三角网模型的数字河网提取方法
【技术领域】
[0001]本发明涉及地理信息系统以及分布式水文模型中基于不规则三角网的数字河网提取方法,尤其是能够应用于大河流域的数字河网提取方法。
【背景技术】
[0002]不规则三角网(TIN)是GIS领域中一种重要的数字高程模型,由于它不受分辨率的限制,数据冗余度低,在地形可视化、水文模拟模型领域具有广泛的应用前景。TIN是介于栅格和矢量之间的模型、兼具二者的优点,基于TIN单元划分方式的分布式水文模型能以相对较小的计算量实现对大尺度流域的水文模拟,并且,可以自动提取与流域水文特征有关的各种地形地貌特征变量,如坡度、水流方向、河网密度等,也能获取流域的河网结构、流域形状等。但是,TIN与栅格DEM —样,在提取流域河网信息之前,都需要把DEM中存在的很多小洼地完成填充预处理,以便疏通DEM中的水流方向,使其能够汇入主要河网,并且TIN数据结构比栅格DEM复杂得多,使它在提取数字河网模型时存在困难。目前尚没有完善的方法能够完成该任务,尤其难以完成针对大河流域的填洼预处理、河道划分和河流分级。该技术可用于GIS及水文模拟软件的设计开发中。

【发明内容】

[0003]为了正确高效地执行三角网中洼地区域的填充和河道提取步骤,以及提高不规则三角网基础上流域水系信息提取的精度,本发明提供一种基于不规则三角网DEM的数字河网模型构建方法。该方法能够正确地完成TIN中洼地填充以及河道提取步骤,并能适用于大河流域。
[0004]本发明的技术方案包括以下步骤:
1.在高程样本点集基础上构建Delaunay三角网模型;
2.修正三角网,以确保高程最低的点对尽可能被连成三角形边;
3.初始化一个按照高程升序排序、用于存放顶点的优先队列,将边界上所有顶点按照高程加入优先队列;
4.如果优先队列不空,执行5步,否则进入第6步开始划分河道级别;
5.从优先队列取出高程最小的顶点,将该顶点的高程作为当前水位;获取该顶点的所有未标记的邻接顶点,对每个找到的邻接顶点,如果其高程小于当前水位,其高程更改为当前水位值;将当前邻接顶点按照当前高程值加入优先队列;接着继续按同样的方法处理优先队列中的其它顶点;
6.为每个顶点定义一个下游累计值,用以记录当前顶点出流的水所能流经的下游顶点总数,该值初始时设为0;
7.逐个遍历所有顶点,每遍历到一个顶点V,就从该顶点V开始搜索属于该顶点下游的所有顶点,直至搜索至边界顶点为止,统计下游顶点个数赋值给顶点V的下游累计值;
8.输出所有顶点的下游累计值,这些值隐含了最终获得的河网信息。
[0005]本发明的有益效果是:
1.构建了基于不规则三角网数字高程模型的河网提取方法,能够正确获得由三角形边表达的河道网络拓扑关系。
[0006]2.由三角网模型提取的河网具有分辨率可变的优势,可以准确表达复杂地形且不受分辨率的限制,而对地形平坦区域可以降低分辨率,从而可减少数据量。
[0007]3.采用三角网的修正方法,虽然坏了 Delaunay三角网的规则,但却能更好的体现河谷特征线。
[0008]4.借助基于优先队列的洼地填充步骤,使该方法能够适应在大河流域的河网提取。
[0009]5.借助优先队列按高程的排序功能,位于优先队列最前部的顶点即为高程最小的顶点,这保证洼地填充过程具有较高的执行效率。
【附图说明】
[0010]图1、修正三角网示例,当C和d的高程之和小于a和b的高程之和时交换对角边; 图2、基于不规则三角网模型的数字河网提取方法实施流程图;
图3、按起始点序号存放边信息的二维动态数组容器;
图4、单流向示例图;
图5、多流向示例图。
【具体实施方式】
[0011]1.构建Delaunay三角网模型,可以采用任何一种快速Delaunay三角网方法来实施;构建好的三角网要求用点数组、三角形表和有向边表的三表结构来表示。其中有向边的结构定义则包含始点和终点、左侧邻接三角形,这些信息全部采用在数组中的下标表示。
[0012]2.本发明方法实施的主要流程参见图2 ;修正三角网时采用递归方法,对任意两个相邻的三角形构成的凸角四边形区域,如果这两个三角形共享的两端点的高程之和大于另外两个不相连端点的高程之和,则交换对角线。如图1,如果cd两顶点的高程之和小于ab两顶点的高程之和,则删除原有边ab,连接cd两顶点,生成相应的两个新三角形。从任意一个三角形开始处理起,该递归过程会扩散至整个三角网,直到所有的顶点连线都符合条件为止。需要说明的是,对于同一组点集,最终获得的三角网可能不唯一。
[0013]3.本发明方法的步骤(3)至步骤(5)的目的是使用基于优先队列的淹没方法来填充三角网中的洼地区域。建立优先队列时,需要将它设定为按照顶点的高程值从小到大升序排列方式,高程低的顶点应优先排在队列的前面。
[0014]4.为了标识所有顶点是否被处理过,需建立一个与顶点数长度相同的数组A,存放所有顶点的处理标记;设定标记值全部为0。凡是被从优先队列中取出后且在A中标记不为1的顶点,其在A中的标记都要更新为1。凡是由邻域顶点通过三角形边的关联而被搜索到,且其高程值被更新为当前海平面水位值的顶点,其在A中的标记值应更新为2。这种标记为2的顶点需要被加入到优先队列中,等待后续的处理。
[0015]5.本发明第(5)中获取每个顶点的邻接顶点时,需要借助于顶点与三角形边的拓扑关系,即可以直接获取到起点为当前顶点的所有边,而这些边的终点即为当前顶点的邻接顶点。顶点对三角形边的这种拓扑关系的建立是在执行洼地填充之前预先遍历有向边表中的所有边,把这些边按照其起始顶点存放在一个专门的二维动态数组容器。该容器是一种存储桶结构,参见图3,定义为一个与顶点个数等长的静态数组,数组中的每个元素包含一个表示顶点序号的整数和一个存放边的动态数组。
[0016]6.本发明方法的步骤(6)至步骤(8)用于完成下游累计值的统计。搜索每个当前顶点的下游顶点时,可以分单流向法和多流向法两种,参见图4和图5。多流向法是指所有比当前顶点高程低的邻域顶点都作为下游顶点。单流向法是指从所有比当前顶点高程低的邻域顶点中选择高程最低的像元作为下游顶点。
[0017]7.本发明步骤(8)得到的下游累计值隐含了作为河道的三角形边之间的水流拓扑关系,即水的流向是从累计值高的三角形向累计值低的三角形流动。可以将三角形各边按照该边起点的下游累计值绘制出来,用以查看本方法实施后的效果是否正确。
【主权项】
1.一种基于不规则三角网模型的数字河网提取方法,其特征在于,包括以下步骤: (1)在高程样本点集基础上构建Delaunay三角网模型; (2)修正三角网,以确保高程最低的点对尽可能被连成三角形边; (3)初始化一个按照高程升序排序、用于存放顶点的优先队列,将边界上所有顶点按照高程加入优先队列; (4)如果优先队列不空,执行5步,否则进入第6步开始划分河道级别; (5)从优先队列取出高程最小的顶点,将该顶点的高程作为当前水位;获取该顶点的所有未标记的邻接顶点,对每个找到的邻接顶点,如果其高程小于当前水位,其高程更改为当前水位值;将当前邻接顶点按照当前高程值加入优先队列;接着继续按同样的方法处理优先队列中的其它顶点; (6)为每个顶点定义一个下游累计值,用以记录当前顶点出流的水所能流经的下游顶点总数,该值初始时设为0; (7)逐个遍历所有顶点,每遍历到一个顶点V,就从该顶点V开始搜索属于该顶点下游的所有顶点,直至搜索至边界顶点为止,统计下游顶点个数赋值给顶点V的下游累计值; (8)输出所有顶点的下游累计值。2.根据权利要求1所述的方法,其特征在于:构建好的Delaunay三角网用点数组、三角形表和有向边表的三表结构表7K,其中有向边的信息米用在数组中的下标表不。3.根据权利要求1所述的方法,其特征在于:从任意一个三角形开始,对其和与之相邻的三角形构成的凸角四边形区域,如果这两个三角形共享的两端点的高程之和大于另外两个不相连端点的高程之和,则交换对角线,生成相应的两个新三角形;采用递归方法,逐步扩散至整个三角网,直到所有的顶点连线都符合条件为止。4.根据权利要求1所述的方法,其特征在于:建立优先队列时,按照顶点的高程值从小到大升序排列方式建立优先队列,高程低的顶点应优先排在队列的前面。5.根据权利要求1所述的方法,其特征在于:借助于顶点与三角形边的拓扑关系来获取每个顶点的邻接顶点;顶点对三角形边的这种拓扑关系的建立是在执行洼地填充之前预先遍历有向边表中的所有边,把这些边按照其起始顶点存放在一个专门的二维动态数组容器;该容器是一种存储桶结构,定义为一个与顶点个数等长的静态数组,数组中的每个元素包含一个表示顶点序号的整数和一个存放边的动态数组。6.根据权利要求1或4所述的方法,其特征在于:建立一个与顶点数长度相同的数组A,存放所有顶点的处理标记,设定标记值全部为0 ;所有被从优先队列中取出后且在A中标记不为1的顶点,其在A中的标记都要更新为1 ;凡是由邻域顶点通过三角形边的关联而被搜索到,且其高程值被更新为当前海平面水位值的顶点,其在A中的标记值应更新为2 ;这种标记为2的顶点需要被加入到优先队列中,等待后续的处理。
【专利摘要】一种基于不规则三角网模型的数字河网提取方法,涉及地理信息系统以及分布式水文模型中基于不规则三角网的数字河网提取方法,尤其是能够应用于大河流域的数字河网提取。先在高程样本基础上构建三角网模型。对三角网进行修正,按照三角网顶点的高程值升序排列方式建立优先队列,逐个取出高程最小的顶点,将该顶点的高程值作为当前水位。借助于顶点与三角形的拓扑关系,获取当前顶点的邻接顶点,若找到的邻接顶点高程小于当前水位,其高程更改为当前水位值。将当前邻接顶点加入优先队列。当优先队列中的点全部处理完后,再逐个遍历所有顶点,每遍历到一个顶点就搜索当前顶点的下游所有顶点,统计出下游顶点的个数并赋值给当前顶点的下游累计值。得到的所有顶点的下游累计值隐含了最终获得的河网信息。
【IPC分类】G06T15/00, G06T17/20
【公开号】CN105303612
【申请号】CN201410721851
【发明人】刘永和, 李艳利, 胡永红, 王燕平, 李艳粉
【申请人】河南理工大学
【公开日】2016年2月3日
【申请日】2014年12月3日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1