摘 要: 在VC 6.0平臺的基礎上,利用開發工具MapX開發了一套適用于201鋪管船視景仿真系統的電子海圖軟件,具有縮放、漫游等標準功能。在地理信息校準上采用精準的WGS?84地理坐標系保證了系統長時間運行的準確性,實現了計劃航線設計、實時顯示船位信息,船位處水深點模擬計算,以及多目標船監控等功能,滿足訓練員的學習和培訓需求,具有良好的實用價值和發展前景。
關鍵詞: MapX; 電子海圖; 航線設計; 實時顯示; 多目標監控
中圖分類號: TN710?34; TP277 文獻標識碼: A 文章編號: 1004?373X(2014)01?0119?04
0 引 言
隨著1995年出臺的IMO ECDIS性能標準,確定矢量海圖的發展,使海圖不僅局限于傳統的紙版海圖,特別是2000年召開的IMO第73次會議通過的SOLAS公約[1],使電子海圖越來越普及,但是用戶對于電子海圖的各種功能以及實際操作比較陌生。在實際船舶上進行電子海圖操作訓練受場地的局限且成本過高。模擬器電子海圖通過數學模型實時解算獲得主本船和目標船的方位信息,采用計算機圖形圖像技術顯示標準海圖信息和船位信息,使操作人員獲取類似于實船的操作經驗,通過改變地區海域轉換,操作人員能夠容易的在不同海域海況上練習電子海圖。
MapX是美國Mapinfo公司推出的一款低價高效、功能強大的ActiveX組件式開發工具[2],它將基于位置信息的數據通過MapInfo表的形式組織起來,每一表都是一個MapInfo文件,用來建立地圖中的一個圖層[3?4]。
MapX主要由下面幾個對象組成:
(1) mapx對象:其是MapX的頂層屬性。
(2) Layers對象:地理信息按照圖層集合表示,所有的圖層都存儲在Layers集合中,每個圖層由Features對象組成,而Features又由每個具體的圖元組成。
(3) DataSets對象:主要用來進行地圖和數據的綁定。
(4) Annotation對象:提供操縱地圖中文字和符號的方法。
本文主要基于Visual C++可視化平臺[5],對真實世界中的各對象的屬性信息進行分析、創建和編輯,與其空間定位特性有機結合一起,從而對矢量海圖進行控制和操作,開發一套適應于201鋪管船仿真系統實時導航軟件,即電子海圖仿真子系統。
1 系統總體構架
1.1 海圖信息處理流程
本系統基于201鋪管船模擬仿真系統,教練員根據不同的訓練科目,設置不同的訓練環境(如天氣、海況、能見度、場景等),將訓練海域、本船的初始經緯度等信息傳遞給電子海圖系統,顯示訓練海域和本船初始位置。操縱運動仿真系統模型實時解算以后,計算出本船當前位置、航速等信息,遵循TCP/IP傳輸協議傳遞給電子海圖系統,電子海圖系統對這些信息計算處理,實時顯示出本船的經緯度、航速、航向等。海圖內部信息處理流程如圖1所示,訓練員選擇海圖不同工作模式以后,通過操作它的不同功能模塊,進行海圖的學習和培訓。圖2說明的是訓練員操作電子海圖控制面板具體功能,海圖仿真系統通過調用內部的程序,經過內部處理以后,在海圖上顯示操作的結果。
圖1 海圖內部信息處理流程圖
圖2 電子海圖仿真系統控制面板響應時序圖
1.2 系統功能劃分
本系統對電子海圖的操作主要分為海圖顯示、海圖作業、海圖改正和注釋、定位及導航、航行記錄、航路監視、航海信息查詢、數據庫管理以及數據通信8部分[6]。電子海圖功能劃分圖如圖3所示。
圖3 電子海圖功能劃分圖
(1) 符合航海習慣友好的軟件界面設計
電子海圖軟件分為工具欄、海圖顯示區、激活式功能菜單三部分。海圖顯示區展示當前海圖比例尺、本船位置、障礙物等圖形信息;工具欄區通過文本信息顯示當前船舶的航速、航向、經緯度等信息;通過激活式菜單功能能夠對海圖進行相應的功能操作。
(2) 海圖顯示
通過讀取tab格式數據文件,在給定的投影方式下,正確的顯示對象的顏色、形狀和符號,自動的按照顯示區域的最大比例尺數據作為初始顯示標準,通過分層處理技術[7],在不同圖層上,顯示海圖信息。訓練人員可以通過對海圖不同色彩及符號進行海圖識圖練習。隨著本船的運動,海圖顯示分為“正北向上”、“航向向上”、“相對運動”和“絕對運動”四種模式。
(3) 海圖作業
通過本船與離岸的距離選擇,正確選擇航線上各個轉向點和航線點的位置,并且通過本船的參數設置,在轉向點列表中自動添加該點處的最大航速,當前計劃航線的距離等信息;通過讀取相關的計劃航線,對海圖進行縮放、拖拽以及測距,對航向點和轉向點進行微調,以繪制更好的航線。
(4) 海圖改正和注釋
通過添加新圖層的方式,修改海圖信息。
通過在臨時圖層上添加點、線、面、文本標簽等對象,在航線設計或者航行時給訓練員提供一些輔助的標注信息。
(5) 定位及導航
通過TCP/IP 協議,接收操縱運動仿真系統數學模型實時解算出的船舶位置、航向、航速等信息,將本船船位和航跡實時顯示在電子海圖上。通過接收模擬AIS信息,在海圖上不同位置顯示不同航速、航向、船舶經緯度等信息的船位,從而訓練員可以控制和操縱多船情況下的海圖練習。
根據實際情況可自行設置安全等深線(默認情況下安全水深線[8]為30 m),并采用不同的顏色區分不同的深度。
(6) 航海信息查詢
船舶在航行中,常常需要知道本船周圍航標物,引航站等相關信息,以掌握船舶航行時的環境信息。航海信息查詢,通過鼠標點擊獲取目標(如港口、引航站等),可以獲取物標的詳細信息,從而為船舶航行做出正確的指引。
(7) 航路監視
設置一個偏離計劃航線的閾值,自動計算船位與計劃航線的最短距離并將其顯示在海圖上,當超過其閾值時,系統自動發生警報。當本船穿越設定的安全等深線以后,也自動發生警報。
(8) 航行記錄
每隔1 s,記錄本船經緯度、航速、航向等信息,并將其保存在數據庫中,以便進行航跡回放時調用該數據。該記錄信息不允許有處理和編輯操作。
(9) 數據通信
連接計算機、鼠標以及控制面板之間的數據傳輸、實現人機一體化友好可視化界面,接收操縱運動仿真系統本船航速、航向以及船位信息,實時顯示在海圖上;接收模擬AIS和仿真駕控臺信息,在不同海況下,實時監控本船和目標船的位置,進行海圖作業和操作。
2 基于MapX的模擬器電子海圖軟件關鍵技術
2.1 航線規劃
船舶航線計劃是航次計劃指南的重要組成部分之一,它的好壞直接關系到船舶的航行安全,以及船舶公司的經濟效益[9]。對于不同類型的船舶,其航線計劃的內容都各有差異,但是總體而言,其主要內容是一致的。普通的紙質海圖在制定航線計劃時,需要準備大量的航海資料,根據航次的水文氣象、海況條件結合船舶載貨以及船員的應變能力,繪制粗略的航線,求出大概的航程。而且由于航線附近有礙航物(島嶼、礁石、淺點和禁航區等),修正航向時需重新擦除修改航線,增加了大量的工作。電子海圖可以設定計劃航線的初始位置的時間、船舶不同時刻的航速,采用推薦的航線,根據電子海圖查詢功能,獲取相應航區的障礙物、水文、氣象等信息,在海圖上通過鼠標點擊獲取轉向點和航向點,連接這些轉向點和航線點繪制航線。當訓練員需要修正計劃航線時,可以直接通過添加、刪除或修改航線上的某個航向點或轉向點的具體經緯度來實現,具有高效、準確性。圖4是一條正在初步設計的航線。
2.2 跟蹤定位和多目標監控
船舶實時定位是指電子海圖首先創建一個本船圖元,采用TCP/IP傳輸協議,接收操縱運動仿真系統數學模型傳遞的船位信息,經分析計算得到本船的經緯度、航速、航向等信息,實時將其顯示在電子海圖上。航路監控是指在本船航行過程中,通過本船附近的水深點的位置信息和本船的位置信息,實時模擬計算得出本船當前位置的水深信息,與設定的水深值相比較,當超過的設定的閾值時,給出必要的指示和報警。