??? 關鍵詞:實時? 立體? 導航??? GPS??? 3S
1 引言
??? 對于實時導航而言,往往不能將所有的地圖全部調入內存而必須很好的管理圖庫[1],而在導航精度方面GPS的精度與導航圖的精度都同等重要[2]。但無論何種導航,使用者往往要通過圖上表示的地物和現地地物來識別位置,本文所建立的立體導航圖正是為提高導航圖的易識別性來提高導航的效果。
??? 本文所建立的實時立體導航系統可以很方便地用做車載GPS,其成本較低。由于GPS和筆記本計算機的更新速度都很快,本系統能同時獲得兩方面的科技進步的支持,有更多的可選擇性。
2 立體導航圖的研制
??? 立體導航圖是根據等高線及地圖來進行創建的,將等高線表達的地形作為場景幾何并假設了太陽光照模型的條件下,應用掃描算法或光線跟蹤算法編程創建立體地形圖[3],再將立體地形圖與地圖合成立體地圖并賦予相應坐標系即是立體導航圖。
??? 立體導航圖是光柵圖像,筆記本用的光柵圖像顯示器的屏幕由一系列顯示單元組成,每一個顯示單元為一個象素,生成立體圖時,必須逐個像素地計算畫面上相應景物表面區域的明暗度,為此不但要考慮光源對該區域入射光亮度和光譜組成,而且還要考慮該表面區域對光源的朝向,表面的反射性質,所以,建立立體導航圖必須基于一定的光學物理模型。
2.1 場景坐標系
??? 景物立體圖像的建立是在三維直角坐標系統中進行的,首先必須確定XY平面。地球表面是曲面,必須將曲面投影成為平面,并將此平面定義為立體地形圖的XY平面,將高程方向定義為場景坐標系的Z軸方向。本文所建立的立體導航圖的立體造型是在Gauss-Kruger投影下的坐標系中進行的,Gauss-Kruger投影是等角圓柱投影,沿赤道每6°分帶。本文的場景選在黑龍江省尚志縣境內的帽兒山地區,該地區在投影分帶中處于22帶,所以,XY平面是以赤道為x軸,129度經線為Y軸的直角坐標系。在這一坐標系下對地形的表示和運動描述比較方便。需要注意的是,Gauss-Kruger投影中的x方向應設為場景坐標系的Y方向,而Y方向應設為X方向。由于等高線在矢量化時就已經是Gauss-Kruger投影,而且“UP”方向是N方向(即Y方向),所以只需將地形圖正向掃描并按圖上的坐標設置控制點,將等高線矢量化即可得到正確的場景坐標系。
??? 矢量的等高線在場景描述中不方便于直接操作使用,將研究區域按一定的柵格大小柵格化是場景描述的第二步工作,在柵格化過程中,沒有高程值的柵格通過內插處理將它們賦予高程值。而且柵格DEM的算法已有現成的程序可用。
??? 通常每一個DEM的柵格數據使用無符號雙字節表示,但有時為節省內存空間而使用單字節,使用單字節會損失一部分地形信息。
??? 在Visual C++編程時,將場景坐標系中的DEM數據讀入一個雙字節的數組中使用如下的命令:
??? 其中ar是Carchive類的引用,m和n是DEM模型中的行數和列數,通過上述操作,即可存放全部DEM數據并進行變換。
2.2 立體導航圖的視點坐標系
??? 視點坐標系是指以觀察者的視線為Z軸,以“UP’方向為Y方向,X軸方向由Y×Z所確定的方向的坐標系。
??? 為了建立立體導航圖就必須將場景坐標系變換為視點坐標系,其變換方程如下:
??? 顯然變換由兩部分組成,即平移和旋轉。(1)式中前一矩陣為平移,后一矩陣為旋轉。
??? 一般而言有了視點坐標系,還需將視點坐標系轉換至屏幕坐標系,并進行視窗剪切,這樣產生的立體圖像是實時產生的,隨著用戶位置和方向的移動可以產生相應的移動的實時動畫。但這樣導航圖的實時計算時間會較長,對實時導航不利。所以,本文采用了將視點位置設于很遠的位置,這樣可以認為場景的全部區域均在視窗之內,在圖像生產時不需進行視窗剪切(見圖1)。
??? 創建了立體地形圖還必須與地圖疊加才能成為立體導航圖。立體地形圖從本質上講仍是平面圖像,立體是在陰影的襯托下表現出來的,其平面特性即是缺點也是優點。其優點是它能很方便地與任何坐標一致的矢量和柵格圖配準。將立體的地形圖與等高線配準更能體現立體的視覺特性,并能適時的查詢任何位置的高程值,配準的結果見圖2。
??? 立體地形圖與等高線配準后顯然增加了立體效果,但也增加了圖上信息的飽和度。在此基礎上疊加地圖,其效果見圖3。
??? 從圖3可見,三圖配準只能在特殊情況下或在計算機里使用,用于輸出到紙上是難以閱讀的。但在計算機中用做導航圖是非常方便和實用的,因為在計算機中立體地圖中的三層可以方便組合和縮放。
3 手持GPS與筆記本連接
3.1 手持GPS的設定
??? 為了將GPS與筆記本計算機相連接,并將GPS的數據實時采集到計算機,必須在GPS上的參數進行設定,并在編程時將對應的參數寫入程序。本項研究使用了美國MAGELLAN公司生產的GPS 315和GARMIN公司生產的etrex(也稱小博士),在此GPS 315上進入主菜單按MENU鍵,進入主菜單后再按“設置”鍵,在“設置”子菜單下按“波特率”,共有四種波特率供選擇:?l 2 0 0、4 8 0 0、9 6 0 0、l 9 2 0 0,本文選擇傳輸波特率為9 6 0 0,在“設置”子菜單中還需要選擇相應的數據格式NMEA-0183。
??????? NMEA-0183是美國國家海洋電子協會為海用電子設備制定的標準格式。它是在過去海用電子設備的標準格式0810和0812的基礎上,增加了GPS接收機輸出的內容而完成的。數據采用ANSI標準,以串口非同步傳送,使用ASCⅡ格式如下:
??? 設置了傳輸參數還需要設置GPS的坐標系統和橢球參數,在GPS315中坐標系是指公里網坐標(USER? GRID)和經緯度坐標的選擇,這確定GPS上的顯示方式,但在傳輸時沒有差別,因為從GPS實時傳輸進計算機的數據均是沒有經過投影換算的經緯度,投影換算必須在計算機中進行。在GPS上橢球參數的設定只需要在相應的菜單中選擇BJ54即可。
3.2 筆記本計算機的設定與操作
??? 一般而言,計算機有多個通迅端口,通迅端口的列表可以通過WINDOWS的設備管理器來查詢(COM1,COM4,COM5),當GPS與計算機的連線插在計算機的某一串行口(Serial Port)后,計算機對端口操作時就必須選擇相應的端口名,本文使用的COM5。在實驗中使用的是COMPAQ筆記本計算機,這一品牌的計算機沒有現成的COM端口,而只有USB接口。實驗時通過一條端口轉換線來模擬一個COM5端口。
??? 在VB編程時,通過加入MSCOMM(通訊控件)來實現對COM5的控制,對通訊控件的參數設置如下:
??? 從COM5讀入計算機的數據是由(2)式定義的數據串,而這里最關心的是經度和緯度,將讀入的經度和緯度經過Gauss-Kruger投影換算成為(X,Y)坐標,并將它與前面的立體導航圖進行坐標配準便構成了立體導航系統。
??? 在處理立體導航圖時使用了VC++,將立體導航圖用文件方式存貯。當用VB實時處理導航時將導航圖調入并與經投影變換的GPS采集的坐標點配準而構成立體導航系統。?
4 立體導航系統的應用
??? 應用本文所建立的實時立體導航系統于2002年5月在帽兒山林場進行了實地操作。該系統被用于對帽兒山林場1994年以來的采伐跡地進行全面調查。
??? 帽兒山林場從1994年至2001年間的采伐均是擇伐,蓄積強度一般在50%以下,所以伐區分布很廣,面積達5000hm2,約占總面積的25%,在采伐時所砍的小班線在調查時己難以分辨,所以調查時需要隨時量取自己在圖上的位置以確定在哪個小班,而且還要確定小班采伐的年代和采伐設計情況;在這種情況下,實時立體林相導航系統和筆記本計算機均發揮了不可替代的作用。
??? 這一系統在伐區內的標準地復查中也發揮了主要作用,帽兒山實驗林場的固定標準地有200余塊,1983年首次實測,1993年復測,這次復測時,一部分中心樁已無法找到,但通過釘在樹上的鋁牌和立體林相導航系統的定位和導航找到固定標準地并進行了復測,復測時通過標準地設置時的每木定位圖對每棵樹的樹號進行了核對。
??? 立體導航系統還記錄了每天調查的路線和到達每一點的時間,這些資料和方法將對任何一種野外調查都是非常有價值的(見圖4)。?
??? 圖4立體導航系統2002年5月17日8:45分記錄的導航路線(圓點帶線)
??? 從圖4可見,立體導航圖上公路與GPS所取得的路線之間有一定誤差,這個誤差可以通過多次實驗來進行測定和校準,這次調查沒有進行多次測定,而是使用一次數據進行了簡單校準。這方面細致的研究工作將以后進行。
參考文獻:
[1]龔國清,曾文.GPS電子地圖的設計與實現[J].中國地質大學學報,? l998年.Vol.23,No.4.
[2]武紅敢,吳堅,王福貴,等.全球定位系統(GPS)在林業導航中的試驗研究[J].林業科學,l999年.Vol 35,No.4.
[3]J.Amanatides.Ray Tracing with Cones[J].Computer Graphics,1984,Vol.18,No.3.
[4]彭群生,鮑虎軍,金小剛.計算機真實感圖形的算法基礎[M].1999年,科學出版社.
[5]馮仲科,余新曉.“3S”技術及其應用[M].2000年,中國林業出版社.
評論
查看更多