何曉,楊維波
(成都西科微波通訊有限公司,四川成都,610000)
近年來(lái),隨著飛行器的大量快速增加,監(jiān)測(cè)空中目標(biāo)航跡對(duì)區(qū)域內(nèi)安全防衛(wèi)工作有重要意義,其監(jiān)測(cè)結(jié)果的態(tài)勢(shì)展示是重要研究方向。全球電子矢量地圖包含了各類(lèi)地理信息,可以經(jīng)緯度為基準(zhǔn)展示目標(biāo)航跡監(jiān)測(cè)結(jié)果,其應(yīng)用也越來(lái)越廣泛[1]。
本文采用國(guó)內(nèi)地理數(shù)據(jù)平臺(tái)公布的shape數(shù)據(jù),從基礎(chǔ)數(shù)據(jù)讀入開(kāi)始通過(guò)OpenGL開(kāi)放式圖形庫(kù),繪制具備自主產(chǎn)權(quán)的全球電子矢量地圖,并在地圖上設(shè)計(jì)目標(biāo)航跡態(tài)勢(shì)展示。
shape數(shù)據(jù)是由ESRI(Environmental Systems Research Institute)開(kāi)發(fā)的一種空間數(shù)據(jù)開(kāi)放格式[2],一個(gè)shape數(shù)據(jù)包括主文件、索引文件和dBASE表。主文件(后綴為.shp)數(shù)據(jù)是制作矢量地圖的基礎(chǔ)。主文件由固定長(zhǎng)度的文件頭和變長(zhǎng)實(shí)體記錄組成。每個(gè)實(shí)體記錄都包含一條數(shù)據(jù)信息。后綴為.dbf的文件為屬性數(shù)據(jù),存儲(chǔ).shp文件中每條記錄的屬性數(shù)據(jù),如名稱(chēng)、所屬區(qū)域、首都等。
本文shape數(shù)據(jù)為全球各國(guó)邊境線(xiàn)經(jīng)緯度數(shù)據(jù),每一條shape記錄為一個(gè)國(guó)家的國(guó)境線(xiàn),記錄類(lèi)型為環(huán)狀POLYGON(起點(diǎn)終點(diǎn)重合)。OpenGL讀入地圖基礎(chǔ)數(shù)據(jù)通過(guò)glBegin(GL_LINE_STRIP)方式可繪制各國(guó)國(guó)境線(xiàn)。
為提高地圖的可視化效果,地圖背景設(shè)置為海洋色藍(lán)色,陸地面積需填充為其他顏色以示區(qū)分。利用glBegin(GL_POLYGON)進(jìn)行圖形填充時(shí),發(fā)現(xiàn)在許多區(qū)域填充效果不及預(yù)期,如圖1所示。經(jīng)查證,OpenGL繪制時(shí)認(rèn)為凸多邊形才是合法多邊形,凹多邊形、交叉多邊形、帶孔多邊形等非凸多邊形在使用填充功能時(shí)可能會(huì)失效。
圖1 GL_POLYGON填充失敗
本文工程應(yīng)用中,各國(guó)國(guó)境線(xiàn)絕大多數(shù)為非凸多邊形。為保證填充的正確性,需使用GLU網(wǎng)格化對(duì)象的GLUtesselator(泰森)進(jìn)行填充。其原理是可以將任意多邊形(包括非凸多邊形)簡(jiǎn)化為一系列三角形或凸多邊形的組合,從而達(dá)到正確填充的目的,如圖2所示。
圖2 泰森正確填充
利用泰森填充,各國(guó)國(guó)境線(xiàn)面積內(nèi)實(shí)現(xiàn)準(zhǔn)確填充,電子地圖具備圖形化雛形。同時(shí)通過(guò)統(tǒng)一格式解析屬性文件.dbf數(shù)據(jù),得到地理信息各項(xiàng)屬性,如國(guó)名、首都等,在地圖上進(jìn)行標(biāo)繪。至此,全球電子矢量地圖底圖已完成。
為實(shí)現(xiàn)目標(biāo)航跡態(tài)勢(shì)展示效果,除了全球電子矢量地圖外,還需要增加各項(xiàng)地圖展示要素,主要包括:(1)地圖放大縮小:鼠標(biāo)滾動(dòng)可實(shí)現(xiàn)地圖放大縮?。唬?)平移:鼠標(biāo)拖動(dòng)可實(shí)現(xiàn)地圖平移;(3)全景地圖:鼠標(biāo)點(diǎn)擊可實(shí)現(xiàn)地圖比例至顯示全球地圖;(4)測(cè)距:鼠標(biāo)點(diǎn)擊任意地圖兩個(gè)位置可計(jì)算出兩點(diǎn)間的距離;(5)任意點(diǎn)經(jīng)緯度顯示:實(shí)時(shí)顯示鼠標(biāo)位置的經(jīng)緯度。
目標(biāo)航跡設(shè)計(jì)是態(tài)勢(shì)展示的重要方向。航跡設(shè)計(jì)可以航跡編號(hào)為主鍵建立存儲(chǔ)容器Map,監(jiān)測(cè)設(shè)備上報(bào)的探測(cè)點(diǎn)分別歸類(lèi)至不同的Map。目標(biāo)航跡繪制設(shè)計(jì)主要包括:(1)目標(biāo)點(diǎn)跡;(2)目標(biāo)點(diǎn)跡連線(xiàn)(顯示趨勢(shì));(3)目標(biāo)最新點(diǎn)跡設(shè)計(jì)為可顯示方向的圖標(biāo);(4)目標(biāo)航跡選中;(5)目標(biāo)消失時(shí)間配置。另外,地圖繪制以200ms的頻率不斷刷新航跡,高效保證航跡更新的實(shí)時(shí)性。
目標(biāo)航跡監(jiān)測(cè)旨在通過(guò)多傳感器綜合判斷,區(qū)別所探測(cè)目標(biāo)的屬性和類(lèi)型。項(xiàng)目可建立目標(biāo)屬性數(shù)據(jù)庫(kù)。若所探測(cè)目標(biāo)屬性與告警屬性相符,則判定為重點(diǎn)關(guān)注目標(biāo),航跡以紅色進(jìn)行告警;若所探測(cè)目標(biāo)不具備告警屬性,則暫判為非關(guān)注目標(biāo),目標(biāo)航跡顯示藍(lán)色。紅藍(lán)強(qiáng)對(duì)比色可有效提高態(tài)勢(shì)顯示效果[3]。
VS跟隨Windows系統(tǒng)共同成長(zhǎng),具備系統(tǒng)底層支持力度大、API十分豐富、開(kāi)發(fā)難度小、調(diào)試便利、開(kāi)發(fā)文檔多等優(yōu)勢(shì);QT可提供建立藝術(shù)級(jí)圖形界面所需的所有功能,具備強(qiáng)擴(kuò)展性、跨平臺(tái)性、面向?qū)ο蟆?D/3D圖形渲染(支持OpenGL)、API豐富等優(yōu)勢(shì)。VS+QT聯(lián)合開(kāi)發(fā)環(huán)境可以集中兩款應(yīng)用程序框架的優(yōu)勢(shì),已在工程實(shí)踐中得到越來(lái)越廣泛地應(yīng)用。
本文利用VS開(kāi)發(fā)總體框架,QT開(kāi)發(fā)交互式界面(包括OpenGL繪制矢量地圖)。所有功能均按模塊化設(shè)計(jì),主要包括網(wǎng)絡(luò)通信類(lèi)、系統(tǒng)信息管理類(lèi)、地圖數(shù)據(jù)類(lèi)、地圖繪制類(lèi)(繼承基類(lèi)
圖3 全球電子矢量地圖
圖4 目標(biāo)航跡態(tài)勢(shì)展示
上述全球電子矢量地圖及目標(biāo)航跡繪制基本滿(mǎn)足區(qū)域內(nèi)監(jiān)測(cè)結(jié)果高效、便捷的展示需求。目前僅加載了全球行政區(qū)劃分shape數(shù)據(jù),下一步將考慮加入其它地理信息shape數(shù)據(jù),如全球?yàn)I海數(shù)據(jù)、河流數(shù)據(jù)、交通數(shù)據(jù)、航管數(shù)據(jù)、山川數(shù)據(jù)等,可利用圖層的概念由用戶(hù)自由加載關(guān)注數(shù)據(jù)。
監(jiān)測(cè)空中目標(biāo)航跡、可視化展示識(shí)別結(jié)果是加強(qiáng)區(qū)域安全防衛(wèi)工作的重要手段之一。全球電子矢量地圖的高效繪制、地圖展示要素的合理設(shè)置、目標(biāo)航跡的對(duì)比展示設(shè)計(jì)均是提高顯示效果的重要方式[4]。本文以shape數(shù)據(jù)為基礎(chǔ),詳細(xì)闡述了全球電子矢量地圖的繪制過(guò)程,就重要環(huán)節(jié)包括地圖數(shù)據(jù)更新、泰森填充、地圖要素設(shè)計(jì)、目標(biāo)航跡設(shè)計(jì)等方面提出可行方案,并在VS+QT聯(lián)合開(kāi)發(fā)環(huán)境中實(shí)現(xiàn),具備實(shí)際可操作性?;趕hape數(shù)據(jù)的全球電子矢量地圖可在航跡監(jiān)測(cè)領(lǐng)域廣泛應(yīng)用,并可推廣至多點(diǎn)定位、ADS-B等系統(tǒng)中。