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