林春峰 閔世平 黃華平
(中鐵二院工程集團有限責任公司,四川成都 610031)
為了提高生產效率,在數字化制圖中需要利用已知的等高線進行內插,目前常用方法有網格內插、三角網內插、輔助線內插等[1-7]。網格內插和三角網內插的計算量較大,在實際應用中,會顯得較遲鈍;輔助線內插方法計算速度快,但由于采用的數據點較少,數據點的分布位置不佳,在一些等高線急劇變化的地方,內插出的等高線存在較大失真[8]。結合輔助線方法的特點,提出一種新的內插方法,首先利用特征參數對已知的等高線節點進行描述;再利用特征參數進行等高線節點匹配,將等高線分割成不同的區域,分區域進行輔助線構建,利用構建的輔助線內插等高線;最后對內插出的等高線進行節點簡化,得到最終結果。實驗結果表明,利用該方法內插的等高線能夠很好的顧及局部地形,有效地解決等高線內插的問題。
等高線內插要解決的問題可以轉化成:在相鄰兩條已知等高線l1和l2中,內插N條等高線。其中,假定l1和l2節點排列順序一致,N為已知常數。
算法首先按照給定的規則計算等高線l1和l2上每個節點的特征參數;然后利用匹配規則進行節點匹配,將l1和l2分割成一一對應的區域;然后對各個區域進行輔助線構建,利用構建后的輔助線內插等高線;最后進行節點簡化,得到最終結果。
節點特征參數的定義為

Pi為某條等高線上第i個節點的特征參數。其中:i∈[0,n],n 為等高線節點的個數;Xi、Yi和 Zi為節點的坐標值;αi為前一節點和當前節點連線與水平方向夾角角度值,αi∈[0,360);βi為當前節點和后一節點連線與水平方向夾角角度值,βi∈[0,360),如圖1所示。

圖1 角度參數計算示意
αi和βi的計算公式如下

其中,函數Fun(Math.Atan(k))表示計算斜率為k的向量與水平軸正方向夾角,夾角數值大于0、小于360。
對已知兩條等高線l1和l2所有節點,按照2.1小節對節點特征參數的定義以及公式(1)、(2)進行計算,得到等高線l1和l2所有節點的特征參數集合

其中,m和n為等高線l1和l2節點個數。
以兩條等高線中節點個數多的那條為基準,遍歷該條等高線上的每一個節點,假設當前節點為Pc,然后在另外一條等高線中尋找距離該點最近的M個點集合R,計算點Pc與點集合R中每個點Pi(Pi∈R,i∈[0,M])的特征距離 Di,計算公式為

其中,Pi∈R,i∈[0,M]。
設定距離閾值d,當Di大于d時,進行下一點的判斷;否則認為Pi是Pc的變化趨勢一致點,記錄Pc和Pi兩點的坐標,這兩點的連線即能將等高線分割成兩部分。
對基準等高線上所有的節點匹配完成之后,就能得到一組匹配結果,將其圖形化表示,如圖2所示。

圖2 節點特征匹配
節點特征匹配結果可以將兩條等高線分割成多個匹配區域,但是通過圖形化結果發現:匹配區域有交叉重疊部分和共點部分,需要按照一定的規則對匹配結果進行篩除,即剔除圖2中相交和共點的線。篩除規則如下:
①依次遍歷匹配結果集合,取出當前匹配結果,獲得匹配結果中兩點分別在兩條等高線中節點的序號index11、index21;
②取出前一匹配結果,獲得前一匹配結果中兩點分別在兩條等高線中節點的序號index10、index20;
③當index21<=index20,則剔除該匹配結果;否則繼續執行①、②、③,直到所有的匹配結果遍歷完成,得到如圖3所示的結果。

圖3 特征匹配錯誤剔除
相鄰兩組匹配結果可以將兩條等高線分割成變化趨勢一致的區域,依次遍歷篩選后的匹配結果,取當前和下一組匹配結果,得到其分割兩條已知等高線的區域,進行定數等分,然后依次匹配兩條等高線上的定數等分點,存入輔助線數組。圖形化的輔助線如圖4所示。
假設每根輔助線的起止點坐標為(X1,Y1,Z1)和(X2,Y2,Z2),可以得到待內插的N條等高線的節點坐標

以此遍歷每根輔助線,計算內插點坐標,將內差點連接起來,即可得到等高線,如圖5所示。

圖4 構造輔助線

圖5 通過構造線內插等高線
上述方法會造成等高線線上節點過多,道格拉斯-普克算法能夠準確的刪除線段上小彎曲的節點,在整體上有效保持了線要素的形態特征[9]。因此,在得到等高線后,利用道格拉斯-普克算法進行簡化,得到最終結果,如圖6所示。

圖6 道格拉斯-普克簡化后的等高線
利用等高線上當前節點坐標值,以及當前節點和前后兩個相鄰節點向量與水平軸正方向的兩個夾角數值當作描述當前節點的特征參數,一方面能夠準確地確定節點的空間位置;同時,兩個角度數值能夠很好的確定當前節點在空間中的方位,便于在另一條等高線上尋找變化趨勢一致點。尋找到了變化趨勢一致點后,有利于將已知的等高線進行區域分割。同一分割區域內,兩條已知等高線變化趨勢是一致的。最后,在變化趨勢已知的分割區域內,進行輔助線構造、等高線生成、節點簡化等操作,得到最后的結果。
利用本文提出的新方法進行等高線的生成,并利用文獻[4]提出的算法進行對比實驗,對比結果如圖7所示,其中中間部分實現為本算法內插結果,虛線為文獻[4]提出算法的結果。

圖7 內插等高線結果對比
經過對比分析可知,本文提出的新方法能夠很好的顧及局部地形,可以更好地解決等高線內插的問題。
[1] 龔有亮,何玉華,付子傲,等.一種實用的等高線內插算法[J].測繪學院學報,2002,19(1):36-37
[2] 胡衛明,吳兵,凌海濱.地圖等高線內插算法[J].計算機學報,2000,23(8):847-851
[3] 楊長強,鄭永果,鄭作亞.一種等高線自動加密算法[J].信息技術與信息化,2006(2):56-58
[4] 李洪玉,唐詩華,李景文,等.在CAD中實現等高線自動內插的一種方法[J].海洋測繪,2004,24(3):52-54
[5] 張渭軍,王文科,孔金玲,等.等雨量線的自動繪制方法[J].水土保持通報,2006,25(5):54-57
[6] 曹穎,趙牡丹.DLG內插等高線算法實現[J].測繪科學,2007,32(2):67-68
[7] 黃培之.等高線形狀變化規律的研究[J].中國圖象圖形學報,2006,11(1):103-106
[8] 姜波.一種等高線內插的新思路[J].科技通報,2010,26(5):780-781
[9] 彭認燦,董箭,鄭義東,等.垂距法與道格拉斯-普克法刪除冗余頂點效率的比較[J].測繪通報,2010(3):66-67