一種基于不規則三角網模型的數字河網提取方法
【技術領域】
[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日