鐘權(quán)++沈靜波++路偉欣
【摘 要】為了能夠更好的在雷達(dá)的顯示軟件中展示彈道目標(biāo)的發(fā)落點信息。提出一種在Qt平臺下開發(fā)的基于OpenGL和GDAL的發(fā)落點精確繪制技術(shù)。該技術(shù)可以直觀的展示導(dǎo)彈發(fā)落點的地理信息,其精度可達(dá)1km。在某型雷達(dá)的顯示軟件中,使用該技術(shù)來實現(xiàn)彈道目標(biāo)的發(fā)落點現(xiàn)實。結(jié)果表明,該技術(shù)可以清晰流暢且直觀的顯示彈道導(dǎo)彈的發(fā)落點變化情況。
【關(guān)鍵詞】發(fā)落點繪制;GDAL;OpenGL;雷達(dá)顯示
Plotting Technique of Impact and Launch Points based on OpenGL and GDAL
ZHONG Quan1,2,3 SHEN Jing-bo1,2,3 LU Wei-xin1
(1.No.38 Research Institute,China Electronics Technology Group Corporation,Hefei Anhui 230088,China;
2.Key Laboratory of Aperture Array and Space Detection,Hefei Anhui 230088,China;
3.Key Laboratory of Intelligent Information Processing,Hefei Anhui 230088,China)
【Abstract】In order to display and plotting the information of ballistic missiles launch and impact points detected by radar more intuitionistic.A method of impact and launch points plotting based on OpenGL and GDAL working on the Qt platform was proposed.It can display the geographic information as precise as 1 kilometer.The method had been used for displaying the information in some kind of radar.It indicated that the technique can display the change of impact and launch points clearly and fluently.
【Key words】Plotting technique of Impact and Launch points;GDAL;OpenGL;Display of radar
為了在防空預(yù)警雷達(dá)系統(tǒng)的顯示軟件中更好地展示彈道導(dǎo)彈目標(biāo)的發(fā)落點信息,本文展示了一種在Qt平臺下開發(fā)的發(fā)落點窗的精確繪制技術(shù)。該技術(shù)可以將從網(wǎng)絡(luò)接收到的預(yù)測的發(fā)點和落點信息分別顯示在兩個不同的窗體中。在實際的雷達(dá)系統(tǒng)中,隨著探測信息的積累,預(yù)測發(fā)落點信息處在不斷精確的過程中,為了直觀展示這個進程,同時為了方便操作員掌握發(fā)落點信息以提前預(yù)警,在雷達(dá)的顯示軟件中加入發(fā)落點繪制顯示模塊。本文所闡述的發(fā)落點精確繪制技術(shù)正是在這個模塊上的應(yīng)用。
在實際應(yīng)用中,操作人員可以通過設(shè)置經(jīng)緯度來設(shè)定要觀測顯示區(qū)域的中心位置,通過選定距離來設(shè)置觀測發(fā)落點的區(qū)域范圍,通過設(shè)置刻度信息來判斷發(fā)落點相對觀測中心的距離?;贕DAL的發(fā)落點繪制技術(shù)可以精確的在界面上顯示觀測區(qū)域的行政區(qū)劃信息和經(jīng)緯度信息,方便操作人員直觀的觀測彈道導(dǎo)彈的發(fā)落點變化情況,從而做出更加精準(zhǔn)的判斷。該方法配置簡單、使用方便,并且具有跨平臺屬性,可以很迅速的配置在其他類似的雷達(dá)系統(tǒng)中。
1 相關(guān)技術(shù)簡介
OpenGL(Open Graphics Library)是有一種開放的、獨立于硬件接口的和具有高度可移植性的軟件接口。它是由七百多個由C語言實現(xiàn)的函數(shù)接口所組成的函數(shù)庫。借助這些函數(shù),技術(shù)人員可以在軟件中構(gòu)造場景、創(chuàng)建虛擬環(huán)境。目前,由于OpenGL在三維繪制方面的優(yōu)異表現(xiàn),它已經(jīng)被廣泛應(yīng)用于3D游戲、醫(yī)學(xué)、地理信息等方面軟件的開發(fā)[1-2]。
與OpenGL 類似,GDAL(Geospatial Data Abstraction Library)也是一個開源的用于處理柵格數(shù)據(jù)的類庫。其開源、跨平臺、易擴展、功能強大的特性使得它在圖像處理領(lǐng)域和地理信息系統(tǒng)領(lǐng)域有著較為廣泛的應(yīng)用[3-4]。在GDAL庫中,包含一個重要的OGR的庫,它支持對矢量數(shù)據(jù)進行操作和處理。本文正是使用該庫來讀取彈道發(fā)落點的精確地理信息。
2 發(fā)落點窗繪制及顯示技術(shù)的實現(xiàn)
2.1 發(fā)落點窗數(shù)據(jù)處理流程
基于OpenGL和GDAL的發(fā)落點繪制模塊主要包括數(shù)據(jù)接收、本地數(shù)據(jù)讀取、數(shù)據(jù)管理、人機交互和顯示繪制等模塊,其結(jié)構(gòu)組成如圖1所示。數(shù)據(jù)接收模塊從網(wǎng)絡(luò)中接收發(fā)落點的經(jīng)緯度信息;本地數(shù)據(jù)讀取是指使用GDAL來讀取事先存儲在本地的矢量行政地圖信息;數(shù)據(jù)管理模塊主要是指對所有接收到的發(fā)落點進行管理和對地理信息數(shù)據(jù)進行管理;人機交互模塊負(fù)責(zé)選擇需要關(guān)注的區(qū)域范圍,觀測范圍的大小和觀測的刻度;顯示繪制模塊是指在Qt平臺下,使用OpenGL來繪制由數(shù)據(jù)管理模塊所管理的數(shù)據(jù),并將繪制結(jié)果顯示出來。
圖1 發(fā)落點窗軟件結(jié)構(gòu)組成
2.2 地理信息數(shù)據(jù)管理設(shè)計
地理信息主要包括省界、縣界、高速公路和地點名稱等信息。對于地點名稱,將其存儲在字符串列表中。其他的地理信息都可以看成由多個點形成的特殊多邊形,存儲在以文件名為索引的映射表中,其中,OGRDataSource類由GDAL提供的存儲接口。地理信息數(shù)據(jù)的具體結(jié)構(gòu)如下:
Q其中,m_maps 中保存了所有的地理信息,但是這些地理信息并不是都需要顯示,mapList保存了需要顯示的地圖數(shù)據(jù)信息。
2.3 發(fā)落點數(shù)據(jù)管理設(shè)計
發(fā)落點窗的數(shù)據(jù)管理結(jié)構(gòu)是一致的,使用落點來說明發(fā)落點數(shù)據(jù)的管理方式。在落區(qū)中,有多個批次的落點信息,使用QList
2.4 地理信息數(shù)據(jù)繪制和顯示技術(shù)
2.4.1 地理信息數(shù)據(jù)的加載
為了使用GDAL庫,必須使用OGRRegisterAll()函數(shù)來注冊驅(qū)動。地理信息的讀取和加載由函數(shù)OGRSFDriverRegistrar::Open(char*, bool)完成,其中,第一參數(shù)指定地理信息存儲的路徑。如2.2節(jié)所示,如果讀取成功,則讀取后的信息存儲在字典QMap
存儲在OGRDataSource結(jié)構(gòu)中的數(shù)據(jù)是分層管理的,層次結(jié)構(gòu)由數(shù)據(jù)本身決定。可以通過OGRDataSource::GetLayer()函數(shù)來遍歷每個數(shù)據(jù)層,獲得的數(shù)據(jù)層保存在OGRLayer結(jié)構(gòu)中。對于OGRLayer結(jié)構(gòu)中的數(shù)據(jù),使用函數(shù)OGRLayer::GetNextFeature()來遍歷每個特征數(shù)據(jù),返回值保存在OGRFeature結(jié)構(gòu)中。接著,使用OGRFeature::GetGeometryRef()函數(shù),來獲得具體的幾何信息。對于這些幾何信息,使用OpenGL即可繪制在主界面中。
2.4.2 地理信息數(shù)據(jù)的刪除
通過對字典QMap
3 應(yīng)用實例
在某項目中采用Qt4.8.0為平臺進行發(fā)落點窗繪制和顯示的開發(fā)設(shè)計,顯示效果如圖2所示。圖中,不同位置的點形成的點集即是不同批的目標(biāo)所形成的落點信息,相同批發(fā)落點的顏色相同,這些發(fā)落點集是某一批目標(biāo)在不同時刻通過前端網(wǎng)絡(luò)預(yù)測得到的,點跡的亮度會隨著時間的流逝不斷衰減,直至消失。點集旁邊的數(shù)字標(biāo)明了不同批的批號標(biāo)牌。圓環(huán)狀的實線是根據(jù)區(qū)域中心和量程繪制的刻度線,這些刻度線可以讓操作者更容易的查看發(fā)落點的相對位置。左上角的曲線是由GDAL庫讀取、由OpenGL繪制的行政地圖信息,通過鼠標(biāo)滾輪的操作,可以放大或者縮小顯示范圍;通過鼠標(biāo)左鍵在主界面進行拖動,可以達(dá)到漫游的效果。垂直和水平的虛線是經(jīng)緯度信息。實際應(yīng)用結(jié)果表明,該發(fā)落點窗可以很好的滿足項目的實際需要,并且能夠方便的移植到新的項目中去,在不同的平臺上表現(xiàn)一致。
4 結(jié)論
本文提出一種在Qt平臺下開發(fā)的基于OpenGL和GDAL的曲線繪制和顯示技術(shù)。該技術(shù)可以方便靈活地在雷達(dá)顯示軟件中顯示彈道導(dǎo)彈的落點和發(fā)點信息,豐富了雷達(dá)顯示軟件對彈道目標(biāo)的顯示效果。其中,GDAL庫的使用不僅降低了繪制窗體模塊中地理信息的難度,而且提高了繪制和顯示的精度。該技術(shù)已經(jīng)在多款雷達(dá)顯示軟件中得到應(yīng)用。應(yīng)用結(jié)果表明,該技術(shù)可以清晰流暢且直觀地顯示落發(fā)點的變化情況。從而,讓操作員更好、更直觀的觀察到彈道導(dǎo)彈的落發(fā)點變化趨勢,以此輔助操作員對目標(biāo)類型和目標(biāo)的危險等級做出更加精準(zhǔn)的判斷。
【參考文獻】
[1]陳星雨.基于OPENGL和GDAL的衛(wèi)星遙感圖像處理系統(tǒng)的研究[D].廣州:華南理工大學(xué),2013.
[2]Dave Shreiner.OpenGL Programming Guide.[M].Seventh Edition.機械工業(yè)出版社,2010.
[3]郜風(fēng)國,馮崢,唐亮,等.基于 GDAL 框架的多源遙感數(shù)據(jù)的解析[J].計算機工程與設(shè)計,2012,33(2):760-765.
[4]Open Source Geospatial Foundation.GDAL-Geospatial Data Abstraction Library [EB/OL].(2010-04)[2010-06].http://www.gdal.org/.
[責(zé)任編輯:田吉捷]