回覆列表
  • 1 # mngna1195

      地圖對於船舶駕駛和航運管理都是必不可少的工具,相比於傳統紙質海圖,電子海圖呈現出諸多的優勢。透過使用電子海圖,航線輔助設計、船位實時顯示、航向航跡監測、航行自動警報、歷史航程重新演示、快速查詢、船舶動態實時顯示等操作將變得簡易可行。隨著電子資訊科技的飛速發展,世界各國陸續研製出電子海圖顯示與資訊系統(ECDIS),以更好地服務於船舶駕駛和航運管理。由於國內資訊化程序起步較晚,相比於國外,尤其是歐美國家,國內在ECDIS的開發還處於起步階段,所以開發擁有自主智慧財產權的ECDIS是有必要的。本文研究的目的,就是開發出一套符合S-57和S-52標準的電子海圖顯示系統,將之作為ECDIS的核心模組。具體研究內容是在Linux環境(Ubuntu 10.04 OS)下進行電子海圖的標準顯示,實現ECDIS的基礎核心部分——ENC顯示模組,並淺析淺析其在嵌入式環境下的程式碼移植,為船載ECDIS的研發建立基礎。根據電子海圖的編碼格式,本文淺析淺析了電子海圖的顯示流程,將其顯示過程劃分為6個子模組分別加以實現,分別是:S-57檔案的資料剖析;S-52顯示標準的顯示庫剖析;S-57剖析結果和S-52顯示庫剖析結果的資料融合;座標轉換;視覺化介面的構建;電子海圖的伺服器端顯示。其中,S-57檔案和S-52顯示庫檔案的剖析較為複雜。GDAL開源庫提供了一系列函式獲取海圖物標相關資訊,透過呼叫這些API函式,較容易地解決了S-57檔案的剖析。S-52顯示庫檔案就是物標樣式的資料庫。使用S-57檔案剖析出的物標資訊在S-52顯示庫中查詢該物標的顯示樣式,並對查詢得出的物標樣式進行詞法剖析,最後將剖析結果使用合理的資料結構進行表示。根據物標的優先順序,在剖析出海圖顯示所需的資訊後使用OpenGL在X window圖形系統下進行圖形分層顯示,並使用GTK+構建與使用者互動的GUI。本文淺析淺析了電子海圖顯示的各子模組,完成了電子海圖的標準顯示,並驗證了其顯示效能符合S-52標準,同時淺析淺析了Linux環境下程式碼移植的可行性,明確了程式碼移植的具體工作,為構建完整的嵌入式電子海圖顯示與資訊系統奠定了堅實的基礎。其中,主要的工作內容和工作難點在於轉換最原始的S-57檔案、S-52顯示庫檔案中的資訊,使之成為OpenGL可以理解的資訊。

  • 中秋節和大豐收的關聯?
  • 假如你中了五百萬,你最想拿它幹什麼?