歡迎光臨南京遠洋運輸股份有限公司官網(wǎng)!
搜索 企業(yè)郵箱 公司OA 請選擇語言版本: En
求新 務實 立信 望遠
知識庫
當前位置:首頁 > 學習園地 > 知識庫 > 經(jīng)驗交流 > 瀏覽文章

經(jīng)驗交流

基于GDI+的電子海圖與雷達圖像的疊加顯示
時間:2009年09月30日   作者:佚名  點擊次數(shù): 【字體:

內(nèi)容提要:論文實現(xiàn)了一種基于Visual C++GDI+技術的電子海圖與雷達圖像實時疊加的軟件設計。闡述了電子海圖和雷達圖像單獨顯示時的關鍵技術及操作流程,針對兩者的疊加顯示問題,提出了解決方案。該設計滿足了實時性的要求,做到雷達靜態(tài)目標與海圖中的相應目標相互吻合,雷達動態(tài)目標在海圖上實時、準確地定位顯示。

關鍵詞:電子海圖 雷達圖像 疊加顯示 GDI+

0 引言

電子海圖顯示與信息系統(tǒng)(Electronic Chart Display Information System——ECDIS)集導航技術、計算機技術、計算機圖形顯示技術及軟件技術于一體,在海圖信息的基礎上完成各種有關船舶航行安全的綜合顯示,已成為現(xiàn)代船舶導航系統(tǒng)的核心設備。而用于航行和避碰的雷達又是狹水道、沿岸及霧中等復雜條件下航行所不可缺少的設備。若單獨使用電子海圖或雷達,雖然在一定程度上滿足了船舶安全航行的需求,但它們都存在各自的缺陷(電子海圖無法顯示動態(tài)目標,雷達則不能識別周圍目標的屬性)。如果將電子海圖與雷達圖像疊加顯示,則可實現(xiàn)兩者的優(yōu)勢互補,并彌補了它們單獨使用時存在的缺陷。

近年來,隨著信息技術和導航技術的不斷發(fā)展,海圖和雷達信息數(shù)字化之后,兩者間實現(xiàn)了數(shù)據(jù)傳輸,使電子海圖與雷達圖像數(shù)據(jù)信息的疊加顯示成為可能,任何一方的“圖像”可以被疊加到另一方的圖像上。在電子海圖上疊加顯示雷達圖像數(shù)據(jù)信息,可在原航行水域海圖信息的基礎上提供本船、本船周圍的靜態(tài)目標與動態(tài)目標三者之間的位置關系。使本船對周圍的態(tài)勢和會遇到的局面一目了然,便于盡快作出判斷,避開航行危險和障礙物,及時采取避碰措施,并在電子海圖上跟蹤避碰決策的可行性。

1 總體實現(xiàn)思路

本設計主要在Visual C++6.0環(huán)境下采用GDI+技術,實現(xiàn)以電子海圖為顯示底層,以雷達圖像為動態(tài)層的雷達視頻信息的實時疊加顯示。

電子海圖的顯示主要按照讀取海圖數(shù)據(jù)、轉(zhuǎn)換海圖數(shù)據(jù)及顯示海圖的順序完成。為了保證S52標準要求的顯示速度及內(nèi)容,顯示海圖時采用雙緩存機制、內(nèi)存拷貝方式和GDI+技術,來提高海圖顯示的速度,使海圖在漫游時能快速、平滑地移動;而繪制雷達圖像則運用快速坐標變換滿足實時性的要求。電子海圖與雷達圖象的疊加必須準確定位雷達中心在海圖上的位置,并且隨著海圖顯示比例尺和雷達量程的變化,兩者都將作出相應的變化。

2 電子海圖的顯示

2.1 S57標準的數(shù)據(jù)結(jié)構(gòu)

符合S57標準的電子海圖文件中的數(shù)據(jù)結(jié)構(gòu)由一些記錄和字段組成,而這些記錄和字段都由現(xiàn)實模型轉(zhuǎn)換而來,它們主要包括:特征記錄、空間記錄、矢量記錄、地理特征記錄、指針字段等。在S57文件中,DDR包含了S57數(shù)據(jù)結(jié)構(gòu)中各個字段的描述:DR則包含了實際的海圖數(shù)據(jù),主要由特征記錄和矢量記錄組成。

2.2 海圖顯示的方法

由于S57海圖數(shù)據(jù)文件將ISO/IEC8211:1994作為其數(shù)據(jù)封裝的標準,而這個標準并不適合顯示時使用,所以需要定義自己的數(shù)據(jù)結(jié)構(gòu),以滿足IMO S52標準要求的顯示速度及內(nèi)容。海圖的顯示主要由三部分來完成,流程圖如圖1

基于GDI+的電子海圖與雷達圖像的疊加顯示

1)讀取海圖數(shù)據(jù):讀取按照ISO/IEC8211:1994標準封裝的海圖數(shù)據(jù)文件,并保存為S57數(shù)據(jù)結(jié)構(gòu)。此處主要有數(shù)據(jù)集DSPM字段、向量記錄VRID、特征信息記錄FRID以及海圖信息記錄MAPINFO等。通過自定義多個結(jié)構(gòu)體,先存儲讀取的基本海圖信息,如海圖比例尺、海圖左上角及有下角經(jīng)緯度和海圖中心等,然后將海圖數(shù)據(jù)進行分類、排序并分別讀人到對應的點、線、面鏈表中,以供下一步使用。

2)轉(zhuǎn)換海圖數(shù)據(jù):將前一部分輸出的鏈表記錄轉(zhuǎn)換成可顯示的數(shù)據(jù)格式。分別對點、線、面進行操作,將點劃分成孤立點和水深點,建立鏈表保存點信息及其對應的索引值;對于線和面則首先讀取顯示屬性數(shù)據(jù)文件,保存它們的屬性值到定義的鏈表中,然后根據(jù)其特征信息FRID來讀取空間信息VRID。此外,還要確定面物標的邊界及顏色值,水深線作為線物標的一部分單獨存儲并設置水深線間對應面物標的顏色值,最后將海圖信息按照顯示級別進行排序。以上保存的鏈表數(shù)據(jù)作為本部分的輸出供顯示時使用。

3)顯示海圖:將第二部分得到的鏈表數(shù)據(jù)繪制到屏幕上完成海圖的顯示。由于海圖數(shù)據(jù)中的坐標是實際地理坐標,不能直接在屏幕上顯示,所以在顯示海圖之前,必須進行坐標變換。該變換主要有三步:

實際地理坐標®墨卡托投影坐標®屏幕坐標。

另外,還設置了屏幕顯示區(qū)域,根據(jù)Sutherland_Hodgeman原理將多邊形裁剪成匹配屏幕顯示區(qū)域的大小,這樣,隨著顯示比例尺的變化,可動態(tài)的顯示用戶所需要的那部分海圖。

為了保證S52標準要求的顯示速度及內(nèi)容,在顯示海圖時采用了雙緩存機制及內(nèi)存拷貝方式。首先在內(nèi)存中開辟一塊與當前DCpDC)大小一樣的內(nèi)存DCpMemoryDC),然后分別利用GDI+技術繪制各個圖層,最后再在OnDraw()中使用雙緩存機制,做一個屏幕拷貝,將內(nèi)存設備上的內(nèi)容一次性顯示在屏幕上,完成顯示工作。因為各圖層的繪圖操作是不可見的,所以避免了窗口重繪時的閃爍現(xiàn)象。而雙緩存機制及內(nèi)存拷貝方式的使用,不僅提高了顯示速度,同時也使海圖在漫游時能平滑移動而不產(chǎn)生滯留的感覺。

繪制電子海圖時使用的GDI+,是一種應用程序編程接口(API),在GDI的基礎上發(fā)展而來,是對原有GDI在功能上的升級。兩者在編程應用上的本質(zhì)區(qū)別是GDI+用一個無狀態(tài)的模型取代了GDI中把選中項目放到設備環(huán)境(DC)對象上的主要狀態(tài)模型,每個繪圖操作都是相互獨立的。利用它的這個特點,可將電子海圖上相同圖層,不同顏色的點、線、面物標同時繪制而成,從而提高繪圖的速度。另外,應用程序開發(fā)人員在輸出屏幕信息的時候無須考慮具體顯示設備的細節(jié),只需引入Graphics類即可,真正實現(xiàn)了圖形硬件和應用程序的相互隔離,使開發(fā)人員編寫設備無關的應用程序變得非常容易。

3 雷達顯示

3.1 快速坐標變換

高分辨率雷達掃描變換的關鍵技術是將天線掃描時的極坐標轉(zhuǎn)換為顯示時的直角坐標。雷達信號處理的實時性同樣也要求高速、高效的地址變換。所以,在雷達顯示中,采取一種快速的坐標變換算法尤為重要。本文主要采用進位值法來實現(xiàn)快速坐標變換。

當雷達觸發(fā)到來時,鎖定一個天線方位角度q,然后距離r由零計數(shù)依次增加,物理意義上表明該方位由雷達天線中心逐步顯示到量程的邊緣。由于雷達回波信號的數(shù)據(jù)是徑向分布的,其對應的直角坐標可表示為式(1):

基于GDI+的電子海圖與雷達圖像的疊加顯示 1

由于︱cosq)︳1,︱sinq)︳1,所以每執(zhí)行一次加法,結(jié)果的變化量都不會超過1??紤]到屏幕坐標的值為整數(shù),故將X、Y的值分別取整賦予屏幕坐標。

從以上分析不難看出,執(zhí)行加法操作后真正用到的數(shù)據(jù)只有進位信息,而這個值對于線性單調(diào)變化的rq每次都是個定值并且非01,所以在具體實現(xiàn)時,可事先建立一個坐標查詢表,表中對應位存放每次加法操作執(zhí)行后的進位信息,以便計算坐標時調(diào)用。

3.2 雷達顯示

由于雷達實時更新數(shù)據(jù),所以采用描點的方式繪制,以反映船舶周圍目標的運動態(tài)勢。首先,通過CDC::SetMapModeMM_ISOTROPIC)使x、y軸的邏輯坐標相同,來保證繪制的雷達圖像是圓形,接著利用CDC::SetWindowExt()和CDC::SetViewportExt()分別設置窗口和視口的范圍,然后通過CDC::SetViewportOrg()設置視口原點,最后在量化的方位上調(diào)用坐標變換子程序完成雷達圖像的繪制。

其中,坐標變換子程序負責計算并存儲量化方位上各點的直角坐標值及該點對應的顏色值,而在計算坐標值的時候又調(diào)用了由快速坐標變換得到的坐標查詢表。

為了實時的繪制雷達圖像,在OnDraw()中設定一個時間間隔為2.5 s(雷達轉(zhuǎn)動一周時間約為2.53 s)的定時器,通過調(diào)用SetTimer1,2500,NULL)來實現(xiàn),并且添加WM_TIMER的消息響應函數(shù)OnTimer(),在響應函數(shù)中實現(xiàn)雷達圖像的實時繪制。

4 電子海圖與雷達圖像的實時疊加

要將雷達圖像實時疊加在電子海圖上,選擇合理、精度高的坐標變化方式,才能使靜態(tài)目標完全吻合,動態(tài)目標實時準確定位。在這里,電子海圖和雷達圖像的繪制都采用了Visual C++GDIGDI+函數(shù),無論是畫圖時的邏輯坐標還是顯示時的設備坐標,均具有相同的單位,保證了繪圖時各點對應位置的一致性;而兩者分別使用的坐標變換則提高了坐標變換的精度及繪圖的速度。

雷達圖像疊加于電子海圖,首先應準確定位雷達中心在海圖上的位置,將雷達實時位置信息通過顯示海圖時的坐標變換(即實際地理坐標®墨卡托投影坐標®屏幕坐標),轉(zhuǎn)換為屏幕坐標,從而實現(xiàn)船舶雷達實時動態(tài)的顯示船舶航行時周圍的所有動態(tài)和靜態(tài)目標。

電子海圖采用矢量圖的方式加以顯示,可以實現(xiàn)無極縮放、局部放大、漫游等功能,而雷達則采用描點方式顯示,可根據(jù)用戶需要選擇不同量程,還能動態(tài)地標出目標的距離及方位。一方面,雷達圖像能隨著電子海圖顯示比例尺的變化而放大、縮小;另一方面,電子海圖也能跟著雷達量程的變化而作出相應的改變。

對于用戶關心的動態(tài)目標,可根據(jù)用戶的選擇來進行動態(tài)的平滑跟蹤。同一海區(qū)的目標還可進行多目標的疊加顯示,并通過不同的顏色來標識目標的狀態(tài)。目標的動態(tài)數(shù)據(jù)信息,不僅可以實時地在海圖上進行疊加顯示,而且還可以在視窗中進行文本的對照顯示,使用戶直觀地了解目標的航行信息。

2是電子海圖與雷達圖像疊加顯示的效果圖(由于實驗條件的限制,兩者顯示的是不同地區(qū),但在適當?shù)睦走_量程和海圖比例尺下,對應點坐標是相同的,符合疊加顯示的要求)。

基于GDI+的電子海圖與雷達圖像的疊加顯示

5 結(jié)束語

本系統(tǒng)在Visual C++6.0下利用GDI+技術實現(xiàn)了電子海圖與雷達圖像的實時疊加顯示,較好地解決了電子海圖、雷達圖像單獨顯示和疊加顯示的問題,達到了實時性的要求。與單一的電子海圖相比,兩者的疊加,不僅突出了電子海圖系統(tǒng)的信息顯示能力,而且提高了使用雷達的避碰能力。同時,使調(diào)度人員能夠方便地了解到作業(yè)船舶在海上的準確位置,及時、直觀地了解船舶動態(tài),便于準確下達調(diào)度命令,減少了調(diào)度失誤,從而在一定程度上減少了由調(diào)度人員的失誤而引起的時間延誤和作業(yè)難度的增加。

參考文獻

1 周永余,陳永冰等.艦船電子海圖顯示與信息系統(tǒng)發(fā)展評述.船舶工程,2005.4

2 許開宇.符合國際標準的電子海圖顯示和信息系統(tǒng)(ECDIS).船舶工程,1999

3 石京東.雷達圖像和電子海圖系統(tǒng)的疊加應用.航海技術,2007.1

4 畢紅葵,王紅等.光柵掃描雷達顯示系統(tǒng)關鍵技術問題解決方案.2002.5

5 夏志忠,馬紅,王淑靜.船舶動態(tài)監(jiān)測系統(tǒng)的實現(xiàn).微計算機信息,1999.2

6 []David JKruglinskiInside Visual C++4th Edition[M].清華大學出版社,1999

作者:劉毅 索繼東 曹蘭蘭  來源:航海技術

關于我們

南京遠洋運輸股份有限公司是一個專門經(jīng)營干散貨船舶運輸?shù)膶I(yè)船東公司,成立于1988年,原名南京遠洋運輸公 司,1994年進 行了股份制改 造,更為現(xiàn)名。

業(yè)務領域

南京遠洋擁有船舶資產(chǎn),是以經(jīng)營遠洋貨物運輸為主、又集國際船舶管理、國際船舶代理、海員勞務輸出、船舶物 料供應和投資 咨詢服務為一體的綜合性遠洋運輸企業(yè)。

加入我們

我們堅信:人才是發(fā)展之本!
我們依據(jù)各崗位職責的不同,參考當前市場實際,為廣大員工提供富有競爭力的薪資福利。

聯(lián)系我們

公司地址:南京市江東中路311號中泰國際廣場05幢18 樓 郵政編碼:210019
電話:025-58802148 87792001
傳真:025-58802147
微信公眾號

微信掃一掃關注我們