基于栅格dem的大河流域洼地填充预处理方法

文档序号:8224226阅读:1523来源:国知局
基于栅格dem的大河流域洼地填充预处理方法
【技术领域】
[0001]本发明涉及地理信息系统以及分布式水文模型中基于栅格数字高程模型的流域数字水系提取方法,尤其是能够应用于大河流域的洼地填充预处理方法。
【背景技术】
[0002]基于数字高程模型(DEM)提取流域水系信息是实现分布式水文模型数值模拟的重要方法。流域水系信息的提取包括计算流向、累积流向、水系分级以及汇水网络等。目前常用八向方法(简写为D8方法)来获得上述信息,然而这些信息能否成功提取还取决于对洼地及平地像元的预处理。目前已有许多可用于这些任务的软件工具,如著名GIS商业软件ArcGIS中的空间分析工具,ENVI的插件River Tools, Global Mapper软件等,这些软件对于较小的规模或者地理空间范围不大的流域可以成功提取出完整的水系。由于大河流域涉及范围较广,数据量较大,DEM中会存在大量高程误差,以及高程完全相同的“平地”像元,即使经过洼地填充处理的DEM仍难以正确提取出完整的水系。事实证明,对于黄河中上游流域,采用上述软件工具仍无法正确提取,其输出结果是一堆“断头河”。米用 Plachon&Doubarx (2002) [ Planchon, 0.and Darboux, F.,2002.A fast,simple and versatile algorithm to fill the depress1ns of digital elevat1nmodels.CATENA, 46 (2-3): 159-176.]方法及其各种变形,也得到的是类似的“断头河”。Liu [Liu Yonghe, 2009.Another Fast and Simple DEM Depress1n-Filling AlgorithmBased on Pr1rity Queue tructure.Atmospheric and Oceanic Science Letters,2(4):214-219.]提出了一种洼地填充方法,该方法具有较强的适应性,但对于黄河流域这样的大流域,经过洼地填充同样无法获得完整的水系信息。如何在数据量较大、空间跨度大的DEM中正确提取水系信息仍是一个需要解决的问题。

【发明内容】

[0003]为正确高效的在栅格DEM基础上提取大河流域的水系信息,本发明提供一种以洼地填充步骤为核心的处理方法。其基本思想是借助基于优先队列的洼地填充方法来从DEM边缘最低像元处开始向内逐个“海水淹没”像元,记录每个像元被淹没的次序。由于每个像元可拥有一个不同的次序编号,而且高程愈高的像元,获得的次序编号愈大;高程相同的多个像元,淹没时间愈晚,其次序编号愈大。用淹没次序编号矩阵来代替原DEM高程矩阵来完成流向矩阵、累积流向矩阵、水系分级矩阵,以及其它汇水网络信息。
[0004]本发明的技术方案包括以下步骤:
1.创建并初始化一个以浮点数为关键字的优先队列对象;
2.将栅格DEM四条外边界上的像元按照高程从低到高的顺序加入优先队列;
3.当优先队列不空时,继续执行第4步;否则从第12步开始执行;
4.弹出排在最前面的像元,它是优先队列中存放的所有像元中高程最低的,把它作为当前像元,它的高程作为当前海平面高度; 5.借助计数器为当前像元设置淹没次序编号,并将此编号存入淹没次序矩阵中的相应位置上;
6.若当前像元已是淹没状态,则返回第3步执行,否则将其标记为淹没状态后执行第7
I K
少;
7.找出当前像元周围8个方向上的所有未被淹没的邻域像元;
8.将低于海平面的邻域像元执行步骤9-10;高于海平面的邻域像元直接加入优先队列,之后返回至第3步;
9.将尚未淹没的邻域像元加入优先队列,并将其标记为临岸状态;
10.当前邻域高程改设为当前海平面的高度;返回第8步将其它邻域像元完成同样的操作;
11.返回至第3步;
12.输出淹没次序矩阵。
[0005]本发明的有益效果是基于优先队列的处理方法完成了 DEM中填充洼地像元以及无数据像元的同时,且获取了淹没次序号矩阵,用它代替原有DEM高程来完成后续的流向及水系网络信息的提取,可有效避免原DEM中高程相同像元所造成的“平地”像元阻碍水系提取的问题,能获得与真实水系一致的数字水系模型,可用于任何大小的流域提取。
[0006]本发明方法已成功的实现了黄河中上游流域的水系正确提取,表明该方法能够正确完成DEM中洼地及无数据区域的填充,并能提取出大河流域的完整水系网络。
【附图说明】
[0007]图1是该发明方法的执行流程。
[0008]图2 marks数组示例(I表示未处理像元,O表示被水淹没像元,2表示临岸像元)。
[0009]图3是一个小型DEM示例。
[0010]图4挂地填充之后的示例DEM (〇像元原来为挂地像元)。
[0011]图5执行本方法后输出的淹没次序矩阵(即orders数组)。
[0012]图6是淹没次序矩阵基础上提取的黄河流域水系。
【具体实施方式】
[0013]完整的实施流程见图1。
[0014](I)栅格DEM数据集的准备
栅格DEM数据集中可能存在一些无数据区,需要扫描出这些无数据像元。对由遥感方式获取的DEM数据集,这类像元通常存在于山区或湖泊位置。可以将它们的高程设为一个极小的值,如-9999,这样相当于是将它作为DEM中存在的洼地来对待。在实施本发明方法之后,所有洼地像元被填充,实现了对数据的插补,从而不影响对主要河流的提取。
[0015](2)优先队列的创建
需要自行编写一个优先队列结构类型,或利用现成优先队列结构类型。优先队列的关键字为浮点型,对应DEM的高程值,每个关键字所关联的存储信息为DEM像元的地址,即行列号位置。优先队列中的关键字以升序排序,处于优先队列中最前面的元素(即像元)对应最小的键值(即高程)。当在优先队列中任意插入一个元素时,应该根据关键字的值来按序插入,以保证优先队列一直保持
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1