一種基於三角網的等高線高程自動賦值方法
2023-07-06 18:27:21 1
一種基於三角網的等高線高程自動賦值方法
【專利摘要】本發明涉及一種基於三角網的等高線高程自動賦值方法,屬於地理信息【技術領域】。本發明根據等高線與高程註記點構造的三角網模型,建立其外包矩陣,劃分成網格,遍歷每根等高線,針對每根等高線,根據等高線與網格的相交特點,確定等高線通過的網格,遍歷三角網模型的每一個三角形,獲取三角形每條邊所需分析的網格,根據網格內存儲的等高線標識ID,確定該邊通過的等高線條數,根據該邊兩端點處的高程差值與等高距完成等高線高程自動賦值。本發明在進行三角網邊線與等高線求交前,創建一個網格索引,縮小與三角形邊線求交的等高線的條數,在保證準確性的同時能夠顯著的提高計算速度效率。同時通過該方法還可以發現等高線是否出錯。
【專利說明】一種基於三角網的等高線高程自動賦值方法
【技術領域】
[0001]本發明涉及一種基於三角網的等高線高程自動賦值方法,屬於地理信息【技術領域】。
【背景技術】
[0002]在數字地圖中經常會出現等高線沒有高程值或者高程值出錯的情況,這大大影響了後期的地形處理和場地平整的準確性。隨著數字地圖的應用範圍日益拓廣,通過讀取等高線的高程值來實現多種應用變得非常普遍,因此,需要一種能夠為等高線賦值以及糾錯的方法。
[0003]在現有的技術中,等高線高程自動賦值主要是通過人工錄入、批量標註的方式進行,而傳統的人工手動逐條標註或者批量標註都需要較多的人工幹預,並且耗時耗力,在地形突變的區域如陡坎處很容易賦值失敗。
[0004]另外,也可以根據高程點組建三角網,通過讀取三角形的每條邊,遍歷每條等高線,求取與之相交的等高線,然後進行賦值。但是曲線求交運算比較耗時,當地形圖較大,而等高線又多的情況下,就會導致耗時非常高,而且影響計算性能。
【發明內容】
[0005]本發明的目的是提供一種基於二角網的等聞線聞程自動賦值方法,以解決現有聞程賦值方法存在的計算量大,耗時長的問題。
[0006]本發明為解決上述技術問題而提供一種基於三角網的等高線高程自動賦值方法,該自動賦值方法包括以下步驟:
[0007]I)提取原始地形圖中的等高線,存放在一個單獨的圖層;
[0008]2)根據高程標記點構造地形三角網模型;
[0009]3)計算包含等高線與三角網模型的所有實體的外包矩陣,並將矩陣網格化,建立網格索引;
[0010]4)獲取網格索引中每個網格通過的等聞線標識ID,遍歷每根等聞線,根據等聞線與網格的相交特點,確定等高線通過的網格;
[0011]5)遍歷三角網模型的每一個三角形,獲取三角形每條邊所需分析的網格,根據網格內存儲的等高線標識ID,確定該邊通過的等高線條數,根據該邊兩端點處的高程差值與登聞距完成等聞線聞程自動賦值。
[0012]所述步驟3)中網格索引的創建過程如下:
[0013]設定網格間距,根據確定的外包矩形的任一頂點作為起始點,繪製橫向與縱向網格線;根據繪製的網格線,建立一個網格索引數組gridlndex。
[0014]所述步驟4)
[0015]A.根據等聞線的起點位置坐標,判斷等聞線起點在網格索引中的位置,將等聞線的標識ID存儲到網格索引所對應的方格元素中;
[0016]B.根據等高線的終點位置坐標,判斷等高線終點在網格索引中的位置,將等高線的標識ID存儲到網格索引所對應的方格元素中;
[0017]C.將等高線與每條橫向網格線求交點,根據交點坐標確定在網格索引中的位置,將等高線的標識ID存儲到網格索引所對應的方格元素中;
[0018]D.將等高線與每條縱向網格線求交點,根據交點坐標確定在網格索引中的位置,將等高線的標識ID存儲到網格索引所對應的方格元素中。
[0019]所述等聞線ID的存儲原則如下:
[0020]a.當等高線起點、終點或交點位於某一個方格內,將該等高線ID存儲於該方格中;
[0021]b.當等高線起點、終點或交點位於橫向網格線上時,將該等高線ID存儲於該橫向網格線所在的上下兩個方格中;
[0022]c.當等高線起點、終點或交點位於縱向網格線上時,將該等高線ID存儲於該縱向網格線所在的左右兩個方格中;
[0023]d.當等高線起點、終點或交點位於橫縱網格線的交點時,將該等高線ID存儲於周圍的四個方格中。
[0024]所述步驟5)在遍歷三角網模型的每個三角形模型的每條邊時,需進行如下步驟:
[0025]1.根據三角形每邊兩端點的X坐標來確定各邊在gridlndex中的起始列與終止列;
[0026]I1.根據三角形每邊兩端點的Y坐標來確定各邊在gridlndex中的起始行與終止行;
[0027]II1.將步驟I和步驟II所對應的方格中存儲的等高線均與各邊求交,求到的交點個數為NI,即與各邊相交的等高線條數為NI ;
[0028]IV.讀取該兩端點處的高程值,根據高程值的差和等高距計算通過該邊的正確等高線條數N2 ;
[0029]V.判斷NI和N2否相等,如果NI = = N2,則自動根據等高距把高程值賦予各條等高線,同時記錄賦值次數;如果NI ! =N2,則不進行賦值,將該邊相交的等高線進行特殊標記以提示用戶。
[0030]所述若同一條等高線根據不同的三角形得到的高程賦值不同,則根據賦值次數,將出現概率大的高程值賦給等高線,同時將等高線進行特殊標記以提示用戶。
[0031]本發明的有益效果是:本發明根據等高線與高程註記點構造的三角網模型,建立其外包矩陣,劃分成網格,遍歷每根等高線,針對每根等高線,根據等高線與網格的相交特點,確定等高線通過的網格,遍歷三角網模型的每一個三角形,獲取三角形每條邊所需分析的網格,根據網格內存儲的等高線標識ID,確定該邊通過的等高線條數,根據該邊兩端點處的高程差值與等高距完成等高線高程自動賦值。本發明在進行三角網邊線與等高線求交前,創建一個網格索引,縮小與三角形邊線求交的等高線的條數,在保證準確性的同時能夠顯著的提高計算速度效率。同時通過該方法還可以發現等高線是否出錯。
【專利附圖】
【附圖說明】
[0032]圖1是本發明基於三角網的等高線高程自動賦值方法的流程圖;
[0033]圖2-1是等高線點位於方格內時等高線存儲位置的示意圖;
[0034]圖2-2是等高線點位於橫向網格線上時等高線存儲位置的示意圖;
[0035]圖2-3是等高線點位於縱向網格線上時等高線存儲位置的示意圖;
[0036]圖2-4是等高線點位於橫縱網格線交點時等高線存儲位置的示意圖;
[0037]圖3是獲取三角形每條邊所需分析網格的示意圖。
【具體實施方式】
[0038]下面結合附圖對本發明的【具體實施方式】作進一步的說明。
[0039]本發明提供了一種基於三角網的等高線高程自動賦值方法,該方法在進行三角網邊線與等高線求交前,創建一個網格索引,縮小與三角形邊線求交的等高線的條數,在保證準確性的同時能夠顯著的提高計算速度效率,該方法的流程如圖1所示,具體過程如下:
[0040]1.把原始地形圖中的等高線提取出來,存放在一個單獨的圖層。
[0041]2.根據高程註記點構造數字高程模型(地形三角網模型)。
[0042]3.繪製網格,建立網格索引,計算包含步驟I與步驟2所有實體的外包矩陣,設定網格間距,根據確定的外包矩形的任一頂點作為起始點,繪製橫向與縱向網格線,矩陣網格化,根據繪製的網格線,建立一個網格索引數組gridlndex作為網格索引。
[0043]4.犾取網格索引中每個網格通過的等聞線標識ID,遍歷每根等聞線,針對每根等聞線,根據等聞線與網格的相交特點,確定等聞線通過的網格。
[0044]獲取網格索引中每個網格通過的等高線標識ID,需要遍歷每一根等高線,對每一根等高線進行如下步驟:
[0045](41)根據等高線的起點位置坐標,判斷等高線起點在網格索引中的位置,然後將等高線的標識ID存儲在網格索引所對應的方格元素中;
[0046](42)根據等高線的終點位置坐標,判斷等高線終點在網格索引中的位置,然後將等高線的標識ID存儲在網格索引所對應的方格元素中;
[0047](43)將等高線與每條橫向網格線求交點,根據交點坐標確定在網格索引中的位置,然後將等聞線的標識ID存儲在網格索引所對應的方格兀素中;
[0048](44)將等高線與每條縱向網格線求交點,根據交點坐標確定在網格索引中的位置,然後將等高線的標識ID存儲在網格索引所對應的方格元素中。
[0049]步驟(41)至(44)中等高線的存儲原則如下:
[0050](A)當等高線起點、終點或交點位於某一個方格內,把該等高線ID存儲於該方格中,如圖2-1所示,白色的圓點為所分析的點,該點在方格I內,則該點等高線的ID存儲到方格I內。
[0051](B)當等高線起點、終點或交點位於橫向網格線上時,把該等高線ID存儲於上下兩個方格中。如圖2-2示,白色的圓點為所分析的點,該點位於方格I和方格3之間的橫向網格線上,將該點等高線的ID存儲到方格I和3中。
[0052](C)當等高線起點、終點或交點位於縱向網格線上時,把該等高線ID存儲於左右兩個方格中。如圖2-3所示,白色的圓點為所分析的點,該點位於方格I和方格2之間的縱向網格線上,將該點等高線的ID存儲到方格I和2中。
[0053](D)當等高線起點、終點或交點位於橫縱網格線的交點時,把該等高線ID存儲於周圍的四個方格中。如圖2-4示,白色的圓點為所分析的點,該點位於方格1、2、3和4之間的橫縱網格線上,將該點等高線的ID存儲到方格1、2、3和4中。
[0054]5.遍歷三角網模型的每一個三角形,獲取三角形每條邊所需分析的網格,根據網格內存儲的等聞線ID,確定該邊通過的等聞線條數,根據該邊兩端點處的聞程差值與等聞距完成等高線高程自動賦值。等高線高程自動賦值,需要遍歷三角網模型的每個三角形的每條邊,對每個三角形的每條邊執行如下步驟:
[0055](51)根據該邊兩端點的X坐標來確定該邊在gridlndex中的起始列與終止列:如建立網格時,以左下角為起始點,則根據該邊的兩個端點較小的X坐標來確定起始列為col I,根據端點較大的X坐標來確定終止列為col2 ;
[0056](52)根據該邊兩端點的Y坐標來確定該邊在gridlndex中的起始行與終止行:如建立網格時,以左下角為起始點,則根據該邊端點較小的Y坐標來確定起始行為rowl,根據端點較大的Y坐標來確定終止行為row2 ;
[0057](53)將步驟(51)與步驟(52)所對應的方格中存儲的等高線均與該邊求交,求到的交點個數為NI,即與該邊相交的等高線條數為NI。步驟(51)與步驟(52)所對應的方格示例參見圖3 ;
[0058](54)讀取該兩端點處的高程值,根據高程值的差和等高距計算通過該邊的正確等高線條數N2 ;
[0059](55)判斷步驟(53)與步驟(54)中計算的等高線條數是否相同,如果NI == N2,則自動根據等高距把高程值賦予各條等高線,同時記錄賦值次數。如果NI! =N2,則不進行賦值,將該邊相交的等高線進行特殊標記以提示用戶
[0060]如果同一條等高線根據不同的三角形得到的高程賦值不同,則根據賦值次數,把出現概率大的高程值賦給等高線,同時也將等高線進行特殊標記以提示用戶。
【權利要求】
1.一種基於三角網的等高線高程自動賦值方法,其特徵在於,該自動賦值方法包括以下步驟: 1)提取原始地形圖中的等高線,存放在一個單獨的圖層; 2)根據高程標記點構造地形三角網模型; 3)計算包含等高線與三角網模型的所有實體的外包矩陣,並將矩陣網格化,建立網格索引; 4)獲取網格索引中每個網格通過的等聞線標識ID,遍歷每根等聞線,根據等聞線與網格的相交特點,確定等聞線通過的網格; 5)遍歷三角網模型的每一個三角形,獲取三角形每條邊所需分析的網格,根據網格內存儲的等高線標識ID,確定該邊通過的等高線條數,根據該邊兩端點處的高程差值與登高距完成等聞線聞程自動賦值。
2.根據權利要求1所述的基於三角網的等高線高程自動賦值方法,其特徵在於,所述步驟3)中網格索引的創建過程如下: 設定網格間距,根據確定的外包矩形的任一頂點作為起始點,繪製橫向與縱向網格線;根據繪製的網格線,建立一個網格索弓I數組gri dlndex。
3.根據權利要求2所述的基於三角網的等高線高程自動賦值方法,其特徵在於,所述步驟4) A.根據等聞線的起點位置坐標,判斷等聞線起點在網格索引中的位置,將等聞線的標識ID存儲到網格索引所對應的方格元素中; B.根據等聞線的終點位置坐標,判斷等聞線終點在網格索引中的位置,將等聞線的標識ID存儲到網格索引所對應的方格元素中; C.將等高線與每條橫向網格線求交點,根據交點坐標確定在網格索引中的位置,將等高線的標識ID存儲到網格索引所對應的方格元素中; D.將等高線與每條縱向網格線求交點,根據交點坐標確定在網格索引中的位置,將等高線的標識ID存儲到網格索引所對應的方格元素中。
4.根據權利要求3所述的基於三角網的等高線高程自動賦值方法,其特徵在於,所述等聞線ID的存儲原則如下: a.當等高線起點、終點或交點位於某一個方格內,將該等高線ID存儲於該方格中; b.當等高線起點、終點或交點位於橫向網格線上時,將該等高線ID存儲於該橫向網格線所在的上下兩個方格中; c.當等高線起點、終點或交點位於縱向網格線上時,將該等高線ID存儲於該縱向網格線所在的左右兩個方格中; d.當等高線起點、終點或交點位於橫縱網格線的交點時,將該等高線ID存儲於周圍的四個方格中。
5.根據權利要求4所述的基於三角網的等高線高程自動賦值方法,其特徵在於,所述步驟5)在遍歷三角網模型的每個三角形模型的每條邊時,需進行如下步驟: 1.根據三角形每邊兩端點的X坐標來確定各邊在gridlndex中的起始列與終止列; I1.根據三角形每邊兩端點的Y坐標來確定各邊在gridlndex中的起始行與終止行; II1.將步驟I和步驟II所對應的方格中存儲的等高線均與各邊求交,求到的交點個數為NI,即與各邊相交的等高線條數為NI ; IV.讀取該兩端點處的高程值,根據高程值的差和等高距計算通過該邊的正確等高線條數N2 ; V.判斷NI和N2否相等,如果NI = = N2,則自動根據等高距把高程值賦予各條等高線,同時記錄賦值次數;如果NI ! =N2,則不進行賦值,將該邊相交的等高線進行特殊標記以提示用戶。
6.根據權利要求1一5中任一項所述的基於三角網的等高線高程自動賦值方法,其特徵在於,所述若同一條等高線根據不同的三角形得到的高程賦值不同,則根據賦值次數,將出現概率大的高程值賦給等高線,同時將等高線進行特殊標記以提示用戶。
【文檔編號】G06T17/05GK104331928SQ201410588365
【公開日】2015年2月4日 申請日期:2014年10月28日 優先權日:2014年10月28日
【發明者】王麗君, 高成志, 張錦賡, 劉中海 申請人:中國航空工業集團公司洛陽電光設備研究所