何曉,楊維波
(成都西科微波通訊有限公司,四川成都,610000)
近年來,隨著飛行器的大量快速增加,監(jiān)測空中目標(biāo)航跡對區(qū)域內(nèi)安全防衛(wèi)工作有重要意義,其監(jiān)測結(jié)果的態(tài)勢展示是重要研究方向。全球電子矢量地圖包含了各類地理信息,可以經(jīng)緯度為基準(zhǔn)展示目標(biāo)航跡監(jiān)測結(jié)果,其應(yīng)用也越來越廣泛[1]。
本文采用國內(nèi)地理數(shù)據(jù)平臺公布的shape數(shù)據(jù),從基礎(chǔ)數(shù)據(jù)讀入開始通過OpenGL開放式圖形庫,繪制具備自主產(chǎn)權(quán)的全球電子矢量地圖,并在地圖上設(shè)計目標(biāo)航跡態(tài)勢展示。
shape數(shù)據(jù)是由ESRI(Environmental Systems Research Institute)開發(fā)的一種空間數(shù)據(jù)開放格式[2],一個shape數(shù)據(jù)包括主文件、索引文件和dBASE表。主文件(后綴為.shp)數(shù)據(jù)是制作矢量地圖的基礎(chǔ)。主文件由固定長度的文件頭和變長實(shí)體記錄組成。每個實(shí)體記錄都包含一條數(shù)據(jù)信息。后綴為.dbf的文件為屬性數(shù)據(jù),存儲.shp文件中每條記錄的屬性數(shù)據(jù),如名稱、所屬區(qū)域、首都等。
本文shape數(shù)據(jù)為全球各國邊境線經(jīng)緯度數(shù)據(jù),每一條shape記錄為一個國家的國境線,記錄類型為環(huán)狀POLYGON(起點(diǎn)終點(diǎn)重合)。OpenGL讀入地圖基礎(chǔ)數(shù)據(jù)通過glBegin(GL_LINE_STRIP)方式可繪制各國國境線。
為提高地圖的可視化效果,地圖背景設(shè)置為海洋色藍(lán)色,陸地面積需填充為其他顏色以示區(qū)分。利用glBegin(GL_POLYGON)進(jìn)行圖形填充時,發(fā)現(xiàn)在許多區(qū)域填充效果不及預(yù)期,如圖1所示。經(jīng)查證,OpenGL繪制時認(rèn)為凸多邊形才是合法多邊形,凹多邊形、交叉多邊形、帶孔多邊形等非凸多邊形在使用填充功能時可能會失效。

圖1 GL_POLYGON填充失敗
本文工程應(yīng)用中,各國國境線絕大多數(shù)為非凸多邊形。為保證填充的正確性,需使用GLU網(wǎng)格化對象的GLUtesselator(泰森)進(jìn)行填充。其原理是可以將任意多邊形(包括非凸多邊形)簡化為一系列三角形或凸多邊形的組合,從而達(dá)到正確填充的目的,如圖2所示。

圖2 泰森正確填充
利用泰森填充,各國國境線面積內(nèi)實(shí)現(xiàn)準(zhǔn)確填充,電子地圖具備圖形化雛形。同時通過統(tǒng)一格式解析屬性文件.dbf數(shù)據(jù),得到地理信息各項屬性,如國名、首都等,在地圖上進(jìn)行標(biāo)繪。至此,全球電子矢量地圖底圖已完成。
為實(shí)現(xiàn)目標(biāo)航跡態(tài)勢展示效果,除了全球電子矢量地圖外,還需要增加各項地圖展示要素,主要包括:(1)地圖放大縮小:鼠標(biāo)滾動可實(shí)現(xiàn)地圖放大縮小;(2)平移:鼠標(biāo)拖動可實(shí)現(xiàn)地圖平移;(3)全景地圖:鼠標(biāo)點(diǎn)擊可實(shí)現(xiàn)地圖比例至顯示全球地圖;(4)測距:鼠標(biāo)點(diǎn)擊任意地圖兩個位置可計算出兩點(diǎn)間的距離;(5)任意點(diǎn)經(jīng)緯度顯示:實(shí)時顯示鼠標(biāo)位置的經(jīng)緯度。
目標(biāo)航跡設(shè)計是態(tài)勢展示的重要方向。航跡設(shè)計可以航跡編號為主鍵建立存儲容器Map,監(jiān)測設(shè)備上報的探測點(diǎn)分別歸類至不同的Map。目標(biāo)航跡繪制設(shè)計主要包括:(1)目標(biāo)點(diǎn)跡;(2)目標(biāo)點(diǎn)跡連線(顯示趨勢);(3)目標(biāo)最新點(diǎn)跡設(shè)計為可顯示方向的圖標(biāo);(4)目標(biāo)航跡選中;(5)目標(biāo)消失時間配置。另外,地圖繪制以200ms的頻率不斷刷新航跡,高效保證航跡更新的實(shí)時性。
目標(biāo)航跡監(jiān)測旨在通過多傳感器綜合判斷,區(qū)別所探測目標(biāo)的屬性和類型。項目可建立目標(biāo)屬性數(shù)據(jù)庫。若所探測目標(biāo)屬性與告警屬性相符,則判定為重點(diǎn)關(guān)注目標(biāo),航跡以紅色進(jìn)行告警;若所探測目標(biāo)不具備告警屬性,則暫判為非關(guān)注目標(biāo),目標(biāo)航跡顯示藍(lán)色。紅藍(lán)強(qiáng)對比色可有效提高態(tài)勢顯示效果[3]。
VS跟隨Windows系統(tǒng)共同成長,具備系統(tǒng)底層支持力度大、API十分豐富、開發(fā)難度小、調(diào)試便利、開發(fā)文檔多等優(yōu)勢;QT可提供建立藝術(shù)級圖形界面所需的所有功能,具備強(qiáng)擴(kuò)展性、跨平臺性、面向?qū)ο蟆?D/3D圖形渲染(支持OpenGL)、API豐富等優(yōu)勢。VS+QT聯(lián)合開發(fā)環(huán)境可以集中兩款應(yīng)用程序框架的優(yōu)勢,已在工程實(shí)踐中得到越來越廣泛地應(yīng)用。
本文利用VS開發(fā)總體框架,QT開發(fā)交互式界面(包括OpenGL繪制矢量地圖)。所有功能均按模塊化設(shè)計,主要包括網(wǎng)絡(luò)通信類、系統(tǒng)信息管理類、地圖數(shù)據(jù)類、地圖繪制類(繼承基類

圖3 全球電子矢量地圖

圖4 目標(biāo)航跡態(tài)勢展示
上述全球電子矢量地圖及目標(biāo)航跡繪制基本滿足區(qū)域內(nèi)監(jiān)測結(jié)果高效、便捷的展示需求。目前僅加載了全球行政區(qū)劃分shape數(shù)據(jù),下一步將考慮加入其它地理信息shape數(shù)據(jù),如全球濱海數(shù)據(jù)、河流數(shù)據(jù)、交通數(shù)據(jù)、航管數(shù)據(jù)、山川數(shù)據(jù)等,可利用圖層的概念由用戶自由加載關(guān)注數(shù)據(jù)。
監(jiān)測空中目標(biāo)航跡、可視化展示識別結(jié)果是加強(qiáng)區(qū)域安全防衛(wèi)工作的重要手段之一。全球電子矢量地圖的高效繪制、地圖展示要素的合理設(shè)置、目標(biāo)航跡的對比展示設(shè)計均是提高顯示效果的重要方式[4]。本文以shape數(shù)據(jù)為基礎(chǔ),詳細(xì)闡述了全球電子矢量地圖的繪制過程,就重要環(huán)節(jié)包括地圖數(shù)據(jù)更新、泰森填充、地圖要素設(shè)計、目標(biāo)航跡設(shè)計等方面提出可行方案,并在VS+QT聯(lián)合開發(fā)環(huán)境中實(shí)現(xiàn),具備實(shí)際可操作性。基于shape數(shù)據(jù)的全球電子矢量地圖可在航跡監(jiān)測領(lǐng)域廣泛應(yīng)用,并可推廣至多點(diǎn)定位、ADS-B等系統(tǒng)中。