|
![]() |
2018年12月02日 |
![]()
|
如何繪製等高線圖 3D等高線是一種高度相同之空間等值曲線組,2D等高線是一種高度相同之平面等值線組,都是由許多線短段組合而成。2D等高線是3D等高線在Z平平面之正交投影。等高線可以線段、顏色、符號、數字渴可分別以上述多種方式表示。 在直角座標系統中,利用電腦繪製等高線作業,可以歸納為: (1) 資料輸入(Data input) 等高線資料輸入主要是各控制點或測站之x,y,z等3D資料,各點資料不能出現有重複資料點如(3,2,3)及(3,2,4) ,此類情況可以(3,2,3)及 (3.01,2.01,4)取代。 (2) 建立三角網或矩形方格(Creating triangles or rectangular grid) 各三角網應儘可能保持使三邊相等,避免三邊長度差異過大。有關建立三角形(Delaunay or Voronoi triangle)之程式編碼,可上網下載VB6(Delaunay Triangulation by EluZioN, EluZioN@casesladder.com)後升級至VB.NET。矩形方格法程序可參考http://astronomy.swin.edu.au/~pbourke/projection/conrec/conrec_vb.txt之Function ConRec()程序。 (3) 線性內插(Liner interpolation) 任意一條等高線高程如介於三角形兩頂點之高程間,則等高線平面必與三角形三頂點組成之平面相交,兩者之相交線段為直線((Figure 1)。
Figure 1 (4) 繪製線段(Drawing of contour line segments)或逐條連續繪製 連接所有高程相同之所有線段,即為所求之等高線。理論上,任何一條等高線都是閉合曲線,其如不閉合於本圖幅內,必須閉合在圖幅外某處。繪製等高線可以(1)採分別計繪與等高線有相交之各別三角行等高線段後,然後再連接相關之線段成多重線以備等高線圓滑使用(如不圓滑,則可以不另連接)。在繪製圓形極點等密度圖時,以各別繪製線段較為合適。(2)如採逐條繪製時,可先篩選出有等高現通過相關之三角形組群(如Figure 2有3組群),然後先由任一邊界三角形(如有,其必須成對者)開始,找出關鍵之周邊,再由關鍵邊找出相鄰之三角形直至另一個邊界三角形止。如尚有邊界三角形則繼續前述步驟直至無剩餘邊界三角形止。另外如尚有其他(內緣三角形,可由任一三角形依順時針或反時針方向一一尋找至返還開始之三角形成一閉合多邊形,如此重複作業至所有相關三角全部使用過為止(Figure 3,Figure 4)。
Figure 2(Z=10)
Figure 3
Figure 4 (5) 連接線段及曲線圓滑(Connecting, smoothing) 如係各別繪製線段,曲線圓滑前應連接相關之線段成多重線(Figure 5)。曲線圓滑可以採用Bizer曲線圓滑。
Figure 5 (6) 等高線上色及等高線標示(Coloring and labeling) 兩等高線所組合之閉合曲線區域,可以Api ExtFloodFill函數上色(Figure 6,7),理論上,圖幅內計算出之閉合或展開等高線應該都是連續之曲線非破折線,但可能是計算捨位誤差或計算公式問題,並非所有計算等高線都是連續曲線,尤其是三角形頂點高程與等高線值非常接近或相等時,會產生斷線現象,因而無法正確使用等高線上色。等高線標示高程可於等高線曲線任意位置以VB.NET之DrawString()函數寫出(Figure 8)。
Figure 6
Figure 7
Figure 8
|
上次修改此網站的日期: 2018年12月02日