CN110457771A - 一种基于高程偏差传递的dem水流方向计算方法 - Google Patents

一种基于高程偏差传递的dem水流方向计算方法 Download PDF

Info

Publication number
CN110457771A
CN110457771A CN201910655040.2A CN201910655040A CN110457771A CN 110457771 A CN110457771 A CN 110457771A CN 201910655040 A CN201910655040 A CN 201910655040A CN 110457771 A CN110457771 A CN 110457771A
Authority
CN
China
Prior art keywords
unit
flow
array
dem
elevation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910655040.2A
Other languages
English (en)
Other versions
CN110457771B (zh
Inventor
吴鹏飞
刘金涛
费俊源
刘杨洋
姚杰夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN201910655040.2A priority Critical patent/CN110457771B/zh
Publication of CN110457771A publication Critical patent/CN110457771A/zh
Application granted granted Critical
Publication of CN110457771B publication Critical patent/CN110457771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Geometry (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种基于高程偏差传递的DEM水流方向计算方法,属于数字地形分析技术领域。其技术方案为:一种基于高程偏差传递的DEM水流方向计算方法,采用水流方向组成的水流路径接近水流在地表的真实移动路径;对数值模拟水和污染物输移过程的水文物理模型使用了DEM获取更高精度水流路径的方法。本发明的有益效果为:本发明通过使用水流到达下游单元的真实高程和下游单元中心高程的高度偏差作为传递参数校正水流方向的方法;相较于D8方法,本发明提供了水流方向组成的水流路径更接近水流在地表的真实移动路径。

Description

一种基于高程偏差传递的DEM水流方向计算方法
技术领域
本发明涉及数字地形分析技术领域,具体涉及一种通过使用水流到达下游单元的真实高程和下游单元中心高程的高度偏差作为传递参数校正水流方向的方法。
背景技术
水流方向是一个重要的水文地貌参数,广泛应用于许多对水流和污染物进行输移过程模拟的数值模型。目前的水流方向计算主要基于数字高程模型(Digital ElevationModel,DEM)进行。DEM是对地形的一种概化描述,将地形简化为大量正方向栅格单元,每个单元赋予一个高程值视为该单元平均高度。在目前的水流方向计算的研究中,主要将每个单元的高程作为该单元中心点的高度。
目前最经典的水流方向计算方法是O’Callaghan和Mark(1984)提出的D8方法,该方法将DEM栅格单元的水流方向指向相邻单元中与中心单元坡度最大者,但是由于这种方法只考虑了局部坡度,而且水流的真实方向可能并非8个允许方向之一,因此从整体上看D8方法提供的水流方向连接成的完整水流路径存在较大偏差。尽管Quinn等(1991)提出了允许一个单元具备多个水流方向的方法,但该方法计算更为复杂且不适用于流域划分、流动距离计算等领域。目前广泛接受的是允许水流方向从0°到360°之间任意方向的无穷流向方法(Tarboton,1997),但是由于每个单元的流向都起始于单元中心,如果水流方向不是8方向之一,当水流沿着该方向流动后就没有了进一步的移动方向,因此该方法在实现上仍是一种多流向算法,同样存在前面所说的问题。
因此,为了更好地服务于流域划分、流动距离计算,需要有一种改进的八方向方法。考虑到水流实际应该是沿0°到360°之间任意方向流动,其实际到达位置的高度也并非DEM栅格单元中心的高程,因此使用这部分高度偏差对下游的水流方向进行修正是一个很好的想法。
发明内容
本发明要解决的技术问题在于,解决现有的应用于DEM地形的单流向方法中只考虑局部坡度,忽略的地形整体变化,水流路径偏差较大的问题,而提供一种基于高程偏差传递的DEM水流方向计算方法。
本发明是通过如下措施实现的:一种基于高程偏差传递的DEM水流方向计算方法,主要包括以下步骤:
步骤S1:加载DEM数据,DEM为二维数组格式,构建3个与DEM数据尺寸相同的数组A、B、C,数组A用于保存最低相邻单元方向、数组B用于保存第二可能流动方向、数组C用于保存最终确定的流向,并且3个数组中所有位置的初始值都设为0,再构建一个能保存栅格单元三维坐标信息,并根据栅格高程从低到高依次排列的优先队列Q,以及另一个从高到低排列栅格单元三维坐标信息的优先队列T,两个优先队列中同一高程的不同单元按插入先后顺序先后排列,新插入的单元排在同一高程单元的最后;
步骤S2:扫描DEM,将DEM中的有效地形单元加入优先队列T排序,同时将位于有效地形边缘的单元加入优先队列Q进行排序,并同时在数组A、B、C中赋予相同的流向,该流向指向DEM有效地形外侧;
步骤S3:不断取出优先队列Q头部的单元,检索该头部单元的8个相邻单元中的未在数组A中赋予流向的有效单元,为其在数组A中赋予指向此头部单元的方向并加入队列Q,若该未赋流向值的单元高程值不高于P,还需为其在数组B与C中赋予指向此头部单元的方向;如果该单元在数组B中对应方向值为初始值0,则比较该单元邻近其最低相邻单元的另外两个相邻单元的高程,将其中较低者所在方向作为第二可能流向并存入数组B,重复此步骤至队列Q为空队列;
步骤S4:读取优先队列T的头部单元K,若单元K在数组C中对应的流向为初始值0,则从单元K开始在最低下坡单元和第二可能方向间使用传递的高程偏差判断从K开始到某个已经具有最终流向的单元的流动路径上各单元的水流方向,然后将K从队列T中移除,重新读取队列T的头部单元以重复此步骤,直至队列T为空队列。
作为本发明提供的一种基于高程偏差传递的DEM水流方向计算方法进一步优化方案,所述步骤S4中,从单元K开始在最低下坡单元方向和第二可能方向间使用传递的高程偏差判断从K开始到某个已经具有最终流向的单元的流动路径上各单元的水流方向,其具体包括如下步骤:
步骤S4-1:初始化高程偏差传递的参数,以单元K为当前计算单元,以K的高程为h0,初始高程偏差d为0,K的最低下坡单元方向和第二可能方向指向的两个单元相邻,二者一个在K的正方向,一个在K的斜方向,设其中正方向单元高程为h1,斜方向单元高程为h2
步骤S4-2:构建h0、h1、h2这3个点组成的三角形平面,确定如果水流从点h0出发到达平面底部边界时目标点的高度h3;如果三角形平面的坡度方向超出三角面边缘,水流沿与坡度方向最邻近的三角面边缘方向,否则就沿着坡度方向直线移动,移动线路跟h1、h2连接线的交点所在高程即为h3,具体计算方程如下:
步骤S4-3:由于单流向方法是从上游单元中心指向下游单元中心,上游单元水流到达下游单元时到达点的高度并不一定是下游单元中心点的高程值(即该单元对应的DEM栅格值),水流从自上游到达本单元时的真实高度出发,下降高度与自本单元中心流至下游单元时下降高度h3相同,如此到达的高度作为最终下降高度,比较最低相邻单元与第二可能流动方向对应的单元高程,选取其中高程与最终下降高度最接近的单元作为下游单元,由于在地形走向发生旋转时的水流方向过于复杂,只在上下游单元的最低相邻单元方向和第二可能方向都相同时如此考虑,如果不同则认为水流到达最低相邻单元,到达高程为最低相邻单元中心点高程;
步骤S4-4:若最终流向指向的单元L在数组C中对应的流向不是初始值0,则步骤结束,否则以该被指向的单元L为当前计算单元,以L在数组A、B中对应方向指向的两个单元中,位于正向的单元高程作为新的h1值,斜向的单元高程作为新的h2值,以下文所述的d*的值作为d的值,返回步骤4-2重新进行。
作为本发明提供的一种基于高程偏差传递的DEM水流方向计算方法进一步优化方案,所述步骤S2具体内容为:从左到右、从上到下逐个检索DEM栅格单元,如果某一单元的高程不是无效值,则将其加入优先队列T,并根据两个原则判断该有效值单元是否为边缘单元;
步骤S2-1:若该单元位于整个矩形DEM数组的第一行、最后一行、第一列、最后一列,则将该单元加入优先队列Q,并将其在数组A、B和C中对应的单元的流向指向DEM外;
步骤S2-2:若该单元位于DEM范围的上下左右边缘志之外,就按中从P1到P8的顺序检索当前单元P0周围8个相邻单元,若存在某个相邻单元高程为无效地形值,则将该单元加入优先队列Q,并将该单元的流向指向无效值相邻单元,同时记入数组A、B和C对应位置,如果存在多个相邻单元为无效值,则最终流向指向第一个检索到的单元。
作为本发明提供的一种基于高程偏差传递的DEM水流方向计算方法进一步优化方案,所述步骤S3具体内容为:读取优先队列Q头部的栅格单元P,检索其周边的8个相邻栅格,比较与其在数组A中的方向相邻的两个方向对应的相邻单元的高程,将其中高程较低者所在方向作为第二可能水流方向存入P在数组B中对应的单元,并将所有高程值不是无效值且在数组A中对应的流向是初始值0的相邻单元加入队列Q,同时将他们在数组A中对应的流向指向P,随后将P从优先队列Q中移除,之后重新读取Q头部的单元并重复此步骤直至队列Q中不再存有单元,此时DEM中的有效地形单元都在数组A和B中被赋予了指向最低相邻单元的流向和第二可能流向;在DEM中存在部分洼地或者平原,这类地形指的是部分DEM栅格的8个相邻单元的高程都不低于中心单元,赋予这类地形向外流的水流路径,对这类地形不做基于偏差传递的处理,直接以此处的方向作为最终方向,即当P的邻近单元对应的流向是初始值0且高程值不高于P时,同时将他们在数组A、B、C中对应的流向都指向P。
作为本发明提供的一种基于高程偏差传递的DEM水流方向计算方法进一步优化方案,所述步骤S4-3中,最终下降高度与下游单元中心高程间的差值d进行数学表示,比较h3加上传递高程偏差d的综合高度与h1和h2高度中点的比值,若则最终流向指向h1并计入数组C,新的传递偏差为则最终流向指向h2并计入数组C,新的传递偏差为
所述DEM流向即为数字高程模型水流方向。
本发明的有益效果为:本发明通过使用水流到达下游单元的真实高程和下游单元中心高程的高度偏差作为传递参数校正水流方向的方法;相较于D8方法,本发明提供了水流方向组成的水流路径更接近水流在地表的真实移动路径;对数值模拟水和污染物输移过程的水文物理模型使用了DEM获取更高精度水流路径的方法,此方法同样以8个方向作为输出,具备简单的数据处理结构;具体是使用水流到达下游单元的真实高程与下游单元中心高程间的高度偏差作为传递参数校正水流方向,本方法提供的水流方向连接成的完整水流路径更为合理,本发明为水文地貌模型,尤其是只允许单个DEM栅格单元具备唯一流向的模型提供了获取更高精度水流方向的方法。
附图说明
图1为本发明的整体流程图。
图2为本发明的中心单元及其周围8个单元位置示意图。
图3为本发明的8个方向数字指代示意图,其中1代表正北,其他方向顺时针旋转。
图4为本发明从中心单元中点出发的三角形平面上的水流示意图。
图5为本发明实施例1使用的DEM示意图。
图6为本发明实施例1处理步骤S3的示意图A、B、C数组结果示意图。
图7为本发明实施例1处理步骤S4的第一条流动路径最终流向和处理完步骤S4的最终结果示意图。
图8(a)、图8(b)为本发明的倾斜平面和锥形面三维图。
图9(a)、图9(b)、图9(c)和图(d)为可视化后的等高线和D8方法及本发明得到的最终水流路径示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,对本方案进行阐述。
参见图1至图8,本发明是:一种基于高程偏差传递的DEM水流方向计算方法,主要包括以下步骤:
步骤S1:加载DEM数据,DEM表现为二维数组格式,构建3个与DEM数据尺寸相同的数组A、B、C,数组A用于保存最低相邻单元方向、数组B用于保存第二可能流动方向、数组C用于保存最终确定的流向,并且3个数组中所有位置的初始值都设为0,再构建一个能保存栅格单元(径度X,纬度Y,高程Z)三维坐标信息,并根据栅格高程从低到高依次排列的优先队列Q,以及另一个从高到低排列栅格单元三维坐标信息的优先队列T,两个优先队列中同一高程的不同单元都按插入先后顺序先后排列,新插入的单元排在同一高程单元的最后;
步骤S2:扫描DEM,将DEM中的有效地形单元加入优先队列T排序,同时将位于有效地形边缘的单元加入优先队列Q进行排序,并同时在数组A、B、C中赋予相同的流向,该流向指向DEM有效地形外侧,具体为:
从左到右、从上到下逐个检索DEM栅格单元,如果某一单元的高程不是无效值,则将其加入优先队列T,并根据两个原则判断该有效值单元是否为边缘单元:
(1)若该单元位于整个矩形DEM范围的上下左右边缘(即DEM数组的第一行、最后一行、第一列、最后一列),则将该单元加入优先队列Q,并将其在数组A、B和C中对应的单元的流向指向DEM外;
(2)若该单元不位于DEM范围的上下左右边缘,就按图2中从P1到P8的顺序检索当前单元P0周围8个相邻单元,若存在某个相邻单元高程为无效地形值(一般DEM中设为-9999),则将该单元加入优先队列Q,并将该单元的流向指向无效值相邻单元,同时记入数组A、B和C对应位置,如果存在多个相邻单元为无效值,则最终流向指向第一个检索到的单元;
上述过程中所指的流向指8个相邻单元所在的东、南、西、北4个正方向和东南、西南、西北、东北4个斜方向,这里以图3所示的数字1-8指代8个方向记录入数组;
步骤S3、不断取出优先队列Q头部的单元,检索该头部单元的8个相邻单元中的未在数组A中赋予流向的有效单元,为其在数组A中赋予指向此头部单元的方向并加入队列Q,若该未赋流向值的单元高程值不高于P,还需为其在数组B与C中赋予指向此头部单元的方向;此外,如果该单元在数组B中对应方向值为初始值0,则比较该单元邻近其最低相邻单元的另外两个相邻单元的高程,将其中较低者所在方向作为第二可能流向并存入数组B,重复此步骤至队列Q为空队列,具体为:
读取优先队列Q头部的栅格单元P,检索其周边的8个相邻栅格,比较与其在数组A中的方向相邻的两个方向对应的相邻单元的高程,将其中高程较低者所在方向作为第二可能水流方向存入P在数组B中对应的单元,并将所有高程值不是无效值且在数组A中对应的流向是初始值0的相邻单元加入队列Q,同时将他们在数组A中对应的流向指向P,随后将P从优先队列Q中移除,之后重新读取Q头部的单元并重复此步骤直至队列Q中不再存有单元,此时DEM中的有效地形单元都在数组A和B中被赋予了指向最低相邻单元的流向和第二可能流向;
值得注意的是,在DEM中存在部分洼地或者平原的现象,这类地形指的是部分DEM栅格的8个相邻单元的高程都不低于中心单元,这类地形无法简单得到向外流的水流方向,因此需要强行赋予其向外流的水流路径,因此对这类地形不做基于偏差传递的处理,直接以此处的方向作为最终方向,即当P的邻近单元对应的流向是初始值0且高程值不高于P时,同时将他们在数组A、B、C中对应的流向都指向P;
步骤S4,读取优先队列T的头部单元K,若单元K在数组C中对应的流向为初始值0,则从单元K开始在最低下坡单元和第二可能方向间使用传递的高程偏差判断从K开始到某个已经具有最终流向的单元的流动路径上各单元的水流方向,然后将K从队列T中移除,重新读取队列T的头部单元以重复此步骤,直至队列T为空队列。
进一步地,所述从单元K开始在最低下坡单元方向和第二可能方向间使用传递的高程偏差判断从K开始到某个已经具有最终流向的单元的流动路径上各单元的水流方向的步骤包括:
步骤S4-1:初始化高程偏差传递的参数,以单元K为当前计算单元,以K的高程为h0,初始高程偏差d为0,易知K的最低下坡单元方向和第二可能方向指向的两个单元相邻,也就是二者一个在K的正方向,一个在K的斜方向,设其中正方向单元高程为h1,斜方向单元高程为h2
步骤S4-2:如图4,构建h0、h1、h2这3个点组成的三角形平面,确定如果水流从点h0出发到达平面底部边界时目标点的高度h3。这里如果三角形平面的坡度方向超出三角面边缘则认为水流沿与坡度方向最邻近的三角面边缘方向,否则就沿着坡度方向直线移动,移动线路跟h1、h2连接线的交点所在高程即为h3,具体计算方程如下:
步骤S4-3:由于单流向方法只能从上游单元中心指向下游单元中心,但上游单元水流到达下游单元时到达点的高度并不一定是下游单元中心点的高程值也就是该单元对应的DEM栅格值,这里认为水流从自上游到达本单元时的高度出发,下降高度与自本单元中心流至下游单元时下降高度相同,如此到达的高度作为最终下降高度,比较最低相邻单元与第二可能流动方向对应的单元高程,选取其中高程与最终下降高度最接近的单元作为下游单元,由于在地形走向发生旋转时的水流方向过于复杂,这里只在上下游单元的最低相邻单元方向和第二可能方向都相同时如此考虑,如果不同则认为水流到达最低相邻单元,到达高程为最低相邻单元中心点高程,这里使用最终下降高度与下游单元中心高程间的差值d进行数学表示,具体为:
比较h3加上传递高程偏差d的综合高度与h1和h2高度中点的比值,若则最终流向指向h1并计入数组C,新的传递偏差为则最终流向指向h2并计入数组C,新的传递偏差为
步骤S4-4:若最终流向指向的单元L在数组C中对应的流向不是初始值0,则步骤结束,否则以该被指向的单元L为当前计算单元,以L在数组A、B中对应方向指向的两个单元中,位于正向的单元高程作为新的h1值,斜向的单元高程作为新的h2值,以d*的值作为d的值,返回步骤S4-2重新进行。
为了更好地实现本发明的目的,发明进行水流方向计算的过程以及发明的优越性,下面以实例进行说明。
使用图5所示的DEM,其中A5为无效值单元,这里用null表示无效值,根据步骤S1创建数组A、B、C和优先队列Q和T。根据步骤S2,将位于DEM边缘和有效地形边缘的非无效值单元加入队列Q按高程排序,同时赋予指向无效值单元或者区域外的初始流向值,并同时存入数组A、B、C,如图6(a)所示,图中在此步骤中已处理单元被以箭头覆盖,箭头方向是数组A的数值决定的流向。
位于队列Q最前端的是单元D1,检索D1的相邻单元,其中C2和D2在数组A中对应值为0,于是为其赋予指向D1的流向值存入数组A。由于D1在数组B中对应值不为0,故不再判断第二方向。将单元D1从队列Q中移除,并将C2和D2插入队列Q中(图6(b))。此时位于队列Q最前端的单元为D5,于是开始检索D5的相邻单元,重复步骤3,直至队列Q里不再包含任何单元。此后的数组A、B、C如图6(d)、6(e)、6(f)所示,图6(c)为数组A的方向表示。
队列T是根据栅格高程进行从高到低的排序,这里未做图示,总之,步骤S4从最高的单元C3开始,数组A中的最低邻近单元方向为6,B中的第二方向为5,即最低邻近单元方向指向D2,第二方向指向D3,故h0为7,h1为4,h2为2,且d=0;可知所以最终流向指向h1即D3方向,在数组C的C3处记录该方向值5,根据传递偏差值为1.333,由于下游单元D3的最低邻近单元方向和第二方向值与C3相同,故D3从C3继承传递偏差,D3的d值依然为1.333。随后计算D3,同样对应A中最低邻近单元方向为6,B中的第二方向为5,即最低邻近单元方向指向E2,第二方向指向E3,故h0为4,h1为3,h2为2,且d=1.333,于是故D3的最终方向指向h2所在E2单元,在数组C的C3处记录该方向值6。由于E2在数组C中已有最终流向,故从C3单元开始的独立水流路径已结束,此时的最终流向数组C见图7(a)。从队列T中移除C3,再次检索队列T头部单元,即DEM中第二高的单元B2,从步骤S4-2开始重复循环,如此往复直至T中不再包含任何单元。此时的数组C(图7(b))即为使用本发明得到的最终水流方向成果。
以图8(a)中的倾斜平面和图8(b)中的锥形面和为例,倾斜平面的理想流动路径应该是垂直于等高线的直线,锥形面的理想流动路径应该是发源于圆锥顶点的直线并垂直于等高线,使用1m分辨率的DEM,图9(a)是使用传统D8方法得到的流向结果可视化出的倾斜平面流动路径,图9(b)是使用本发明得到的流向结果可视化出的倾斜平面流动路径,图9(c)是使用传统D8方法得到的流向结果可视化出的锥形面流动路径,图9(d)是使用本发明得到的流向结果可视化出的锥形面流动路径。可见本发明得到的流动路径在两种地形DEM上大致与等高线垂直,较传统D8方法更为准确。
本发明未经描述的技术特征可以通过或采用现有技术实现,在此不再赘述,当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

Claims (5)

1.一种基于高程偏差传递的DEM水流方向计算方法,其特征在于,包括以下步骤:
步骤S1:加载DEM数据,DEM为二维数组格式,构建3个与DEM数据尺寸相同的数组A、B、C,数组A用于保存最低相邻单元方向、数组B用于保存第二可能流动方向、数组C用于保存最终确定的流向,并且3个数组中所有位置的初始值都设为0,再构建一个能保存栅格单元三维坐标信息,并根据栅格高程从低到高依次排列的优先队列Q,以及另一个从高到低排列栅格单元三维坐标信息的优先队列T,两个优先队列中同一高程的不同单元按插入先后顺序先后排列,新插入的单元排在同一高程单元的最后;
步骤S2:扫描DEM,将DEM中的有效地形单元加入优先队列T排序,同时将位于有效地形边缘的单元加入优先队列Q进行排序,并同时在数组A、B、C中赋予相同的流向,该流向指向DEM有效地形外侧;
步骤S3:不断取出优先队列Q头部的单元,检索该头部单元的8个相邻单元中的未在数组A中赋予流向的有效单元,为其在数组A中赋予指向此头部单元的方向并加入队列Q,若该未赋流向值的单元高程值不高于P,还需为其在数组B与C中赋予指向此头部单元的方向;如果该单元在数组B中对应方向值为初始值0,则比较该单元邻近其最低相邻单元的另外两个相邻单元的高程,将其中较低者所在方向作为第二可能流向并存入数组B,重复此步骤至队列Q为空队列;
步骤S4:读取优先队列T的头部单元K,若单元K在数组C中对应的流向为初始值0,则从单元K开始在最低下坡单元和第二可能方向间使用传递的高程偏差判断从K开始到某个已经具有最终流向的单元的流动路径上各单元的水流方向,然后将K从队列T中移除,重新读取队列T的头部单元以重复此步骤,直至队列T为空队列。
2.根据权利要求1所述的基于高程偏差传递的DEM水流方向计算方法,其特征在于,所述步骤S4中,从单元K开始在最低下坡单元方向和第二可能方向间使用传递的高程偏差判断从K开始到某个已经具有最终流向的单元的流动路径上各单元的水流方向,其具体包括如下步骤:
步骤S4-1:初始化高程偏差传递的参数,以单元K为当前计算单元,以K的高程为h0,初始高程偏差d为0,K的最低下坡单元方向和第二可能方向指向的两个单元相邻,二者一个在K的正方向,一个在K的斜方向,设其中正方向单元高程为h1,斜方向单元高程为h2
步骤S4-2:构建h0、h1、h2这3个点组成的三角形平面,确定如果水流从点h0出发到达平面底部边界时目标点的高度h3;如果三角形平面的坡度方向超出三角面边缘,水流沿与坡度方向最邻近的三角面边缘方向,否则就沿着坡度方向直线移动,移动线路跟h1、h2连接线的交点所在高程即为h3,具体计算方程如下:
步骤S4-3:由于单流向方法是从上游单元中心指向下游单元中心,上游单元水流到达下游单元时到达点的高度并不一定是下游单元中心点的高程值该单元对应的DEM栅格值,水流从自上游到达本单元时的真实高度出发,下降高度与自本单元中心流至下游单元时下降高度h3相同,如此到达的高度作为最终下降高度,比较最低相邻单元与第二可能流动方向对应的单元高程,选取其中高程与最终下降高度最接近的单元作为下游单元,由于在地形走向发生旋转时的水流方向过于复杂,只在上下游单元的最低相邻单元方向和第二可能流动方向都相同时,如果不同则认为水流到达单元为最低相邻单元,到达高程为最低相邻单元的中心点高程;
步骤S4-4:若步骤S4-3中确定的最终流向指向的单元L在数组C中对应的流向不是初始值0,则步骤结束,否则以该被指向的单元L为当前计算单元,以L在数组A、B中对应方向指向的两个单元中,位于正向的单元高程作为新的h1值,斜向的单元高程作为新的h2值,以d*的值作为d的值,返回步骤S4-2重新进行。
3.根据权利要求1所述的基于高程偏差传递的DEM水流方向计算方法,其特征在于,所述步骤S2具体内容为:从左到右、从上到下逐个检索DEM栅格单元,如果某一单元的高程不是无效值,则将其加入优先队列T,并根据两个原则判断该有效值单元是否为边缘单元;
步骤S2-1:若该单元位于整个矩形DEM数组的第一行、最后一行、第一列、最后一列,则将该单元加入优先队列Q,并将其在数组A、B和C中对应的单元的流向指向DEM外;
步骤S2-2:若该单元位于DEM范围的上下左右边缘志之外,就按中从P1到P8的顺序检索当前单元P0周围8个相邻单元,若存在某个相邻单元高程为无效地形值,则将该单元加入优先队列Q,并将该单元的流向指向无效值相邻单元,同时记入数组A、B和C对应位置,如果存在多个相邻单元为无效值,则最终流向指向第一个检索到的单元。
4.根据权利要求1所述的基于高程偏差传递的DEM水流方向计算方法,其特征在于,所述步骤S3具体内容为:读取优先队列Q头部的栅格单元P,检索其周边的8个相邻栅格,比较与其在数组A中的方向相邻的两个方向对应的相邻单元的高程,将其中高程较低者所在方向作为第二可能水流方向存入P在数组B中对应的单元,并将所有高程值不是无效值且在数组A中对应的流向是初始值0的相邻单元加入队列Q,同时将他们在数组A中对应的流向指向P,随后将P从优先队列Q中移除,之后重新读取Q头部的单元并重复此步骤直至队列Q中不再存有单元,此时DEM中的有效地形单元都在数组A和B中被赋予了指向最低相邻单元的流向和第二可能流向;在DEM中存在部分洼地或者平原,这类地形指的是部分DEM栅格的8个相邻单元的高程都不低于中心单元,赋予这类地形向外流的水流路径,对这类地形不做基于偏差传递的处理,直接以此处的方向作为最终方向,即当P的邻近单元对应的流向是初始值0且高程值不高于P时,同时将他们在数组A、B、C中对应的流向都指向P。
5.根据权利要求1所述的基于高程偏差传递的DEM水流方向计算方法,其特征在于,所述步骤S4-3中,最终下降高度与下游单元中心高程间的差值d进行数学表示,比较h3加上传递高程偏差d的综合高度与h1和h2高度中点的比值,若则最终流向指向h1并计入数组C,新的传递偏差为则最终流向指向h2并计入数组C,新的传递偏差为
CN201910655040.2A 2019-07-19 2019-07-19 一种基于高程偏差传递的dem水流方向计算方法 Active CN110457771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910655040.2A CN110457771B (zh) 2019-07-19 2019-07-19 一种基于高程偏差传递的dem水流方向计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910655040.2A CN110457771B (zh) 2019-07-19 2019-07-19 一种基于高程偏差传递的dem水流方向计算方法

Publications (2)

Publication Number Publication Date
CN110457771A true CN110457771A (zh) 2019-11-15
CN110457771B CN110457771B (zh) 2022-09-23

Family

ID=68481569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910655040.2A Active CN110457771B (zh) 2019-07-19 2019-07-19 一种基于高程偏差传递的dem水流方向计算方法

Country Status (1)

Country Link
CN (1) CN110457771B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125893A (zh) * 2019-12-12 2020-05-08 河海大学 一种基于dem和流量汇集的非弥散水流路径模拟方法
CN112989639A (zh) * 2019-12-12 2021-06-18 河海大学 一种基于平均化处理的dem栅格局部排水方向确定方法
CN114547531A (zh) * 2022-02-25 2022-05-27 中国水利水电科学研究院 一种城市不透水面有效性量化方法
CN117172142A (zh) * 2023-06-27 2023-12-05 长江水利委员会水文局 考虑地形影响的水文模型水流沿程再分配方法
CN117629147A (zh) * 2024-01-25 2024-03-01 北京易控智驾科技有限公司 一种障碍物的检测方法、云控平台及无人车

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279317A (zh) * 2015-09-30 2016-01-27 西北农林科技大学 一种基于dem的平地河网水流方向估算方法
CN105303612A (zh) * 2014-12-03 2016-02-03 河南理工大学 一种基于不规则三角网模型的数字河网提取方法
CN106981092A (zh) * 2017-03-28 2017-07-25 南京师范大学 基于Priority‑Flood的内流流域提取方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105303612A (zh) * 2014-12-03 2016-02-03 河南理工大学 一种基于不规则三角网模型的数字河网提取方法
CN105279317A (zh) * 2015-09-30 2016-01-27 西北农林科技大学 一种基于dem的平地河网水流方向估算方法
CN106981092A (zh) * 2017-03-28 2017-07-25 南京师范大学 基于Priority‑Flood的内流流域提取方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125893A (zh) * 2019-12-12 2020-05-08 河海大学 一种基于dem和流量汇集的非弥散水流路径模拟方法
CN112989639A (zh) * 2019-12-12 2021-06-18 河海大学 一种基于平均化处理的dem栅格局部排水方向确定方法
CN112989639B (zh) * 2019-12-12 2022-09-16 河海大学 一种基于平均化处理的dem栅格局部排水方向确定方法
CN114547531A (zh) * 2022-02-25 2022-05-27 中国水利水电科学研究院 一种城市不透水面有效性量化方法
CN114547531B (zh) * 2022-02-25 2022-09-06 中国水利水电科学研究院 一种城市不透水面有效性量化方法
CN117172142A (zh) * 2023-06-27 2023-12-05 长江水利委员会水文局 考虑地形影响的水文模型水流沿程再分配方法
CN117172142B (zh) * 2023-06-27 2024-05-17 长江水利委员会水文局 考虑地形影响的水文模型水流沿程再分配方法
CN117629147A (zh) * 2024-01-25 2024-03-01 北京易控智驾科技有限公司 一种障碍物的检测方法、云控平台及无人车
CN117629147B (zh) * 2024-01-25 2024-03-26 北京易控智驾科技有限公司 一种障碍物的检测方法、云控平台及无人车

Also Published As

Publication number Publication date
CN110457771B (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
CN110457771A (zh) 一种基于高程偏差传递的dem水流方向计算方法
Douglas Experiments to locate ridges and channels to create a new type of digital elevation model
CN107220285B (zh) 面向海量轨迹点数据的时空索引构建方法
CN104199986B (zh) 基于hbase和geohash的矢量数据空间索引方法
CN104239750B (zh) 基于高通量测序数据的基因组从头组装方法
US4777606A (en) Method for deriving an interconnection route between elements in an interconnection medium
CN103093114B (zh) 一种基于地形和土壤特性的分布式流域缺水量测算方法
CN107180450A (zh) 一种基于dem的河谷横断面形态的算法
CN106981092B (zh) 基于Priority-Flood的内流流域提取方法
CN109739585B (zh) 基于spark集群并行化计算的交通拥堵点发现方法
CN107092978B (zh) 一种面向虚拟地球的最短路径分层规划方法
CN107169301B (zh) 一种分而治之航迹关联方法
Neto et al. The role of climate and topography in shaping the diversity of plant communities in Cabo Verde Islands
CN108709561B (zh) 一种基于全局路网特征的不同尺度数据的匹配算法
CN104729509B (zh) 一种基于非支配排序遗传算法ii的航迹规划方法
Kalkhan et al. Technical note Assessing the accuracy of Landsat Thematic Mapper classification using double sampling
CN109767624A (zh) 一种考虑路段交通流相关性的控制子区划分方法
CN111222742A (zh) 基于农田景观分区的土壤新增采样点补充布设方法
Charitonidou et al. An orchid in retrograde: Climate-driven range shift patterns of ophrys helenae in Greece
CN114910980A (zh) 基于主观路径强度预报和参数化风场模型的热带气旋大风风圈预报方法
CN108765560A (zh) 一种将dem数据转化为网格模型的方法及装置
CN111951350B (zh) 一种夷平面级数与高度的自动判别方法
Smartt Sampling for vegetation survey: a flexible systematic model for sample location
CN111125893B (zh) 一种基于dem和流量汇集的非弥散水流路径模拟方法
Huang et al. Diversity and distribution of aphids in the Qinghai–Tibetan Plateau–Himalayas

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant