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