基于GPS船用導航儀的嵌入式電子海圖數據的制作與顯示
圖3 為嵌入式電子海圖顯示系統開機時的顯示畫面。
圖3 嵌入式電子海圖顯示系統開機時的顯示畫面
(2) 嵌入式電子海圖數據的顯示方法
電子海圖數據的實時顯示是系統的核心程序。該程序根據給出的中心點位置(通常為GPS 給出的船位點坐標)及顯示比例范圍參數,確定需要顯示的空間數據范圍,并從海圖文件中找出符合顯示范圍的數據,從海圖文件中讀出圖層分層控制信息以實現電子海圖的分層顯示控制,最后按各類實體對應的符號要素代碼繪制相應的圖形符號在內存中快速完成海圖的繪制。電子海圖顯示程序流程為:1、根據中心(船位)經緯度及顯示比例參數,計算出顯示數據塊的大小;2、從海圖文件中找出符合顯示塊范圍的所有點、線、面數據;3、將要顯示的點、線、面數據按類型及屬性在顯示緩存中按對應的位置、圖案顏色、中文標注進行畫圖;4、顯示涮新屏幕;5、按操作命令選擇顯示要素,重新計算顯示數據塊。
嵌入式電子海圖顯示系統中使用了16M 字節的內存空間,電子海圖數據一般在10MB左右,剩下4MB 中用于顯示緩存作圖的為480KB,這是按800*600 點顯示屏幕計算的容量。剩下的空間用于程序計算及漢字庫、文本等數據的存放。由于顯示緩存只有一塊,因此在每次顯示范圍發行變化時,都要從內存中將海圖數據重新讀算一遍,再重新進行畫圖。這在海圖移動操作中會影響涮新的速度,使用大容量位圖緩沖內存技術可提高海圖在移動或漫游時的涮新速度。圖4 為嵌入式電子海圖顯示效果圖。
圖4 電子海圖顯示效果圖
4 小結
嵌入式電子海圖儀中海圖數據使用自定義數據格式,海圖數據格式與處理顯示方案自成一體,海圖數據按點、線、面類型分類,并且按一定的規律連續存儲,有利于知識產權的保護,也可大大減小文件數據的容量。缺點是數據文件的交換性較差,不適合全球性網絡式的應用模式。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論