趙 泉,錢志亞
(船舶重工集團公司723所,揚州225001)
雷達信號模擬器是以計算機為核心的電磁環(huán)境仿真設備,主要用于檢測雷達偵察設備的信號分選、目標識別等性能,為雷達偵察設備的系統(tǒng)測試、功能檢驗等提供技術保障,也是訓練雷達偵察裝備職手的有效輔助工具。由于現(xiàn)代信息化戰(zhàn)爭的需要,在實戰(zhàn)訓練中不再滿足于在雷達坐標系統(tǒng)下簡單的訓練,而是希望在大地坐標系統(tǒng)下將多個訓練目標的位置在電子地圖上顯示出來,由此能夠大大提高日常訓練的真實性。
目前Mapinfo公司的組件產(chǎn)品MapX相對于其他地理信息系統(tǒng)(GIS)開發(fā)產(chǎn)品具有使用方便靈活、開發(fā)語言簡單、費用低廉、開發(fā)周期短等優(yōu)點,因此得到廣泛應用。本文著重介紹在雷達信號模擬器中如何運用MapX技術實現(xiàn)目標在電子地圖中的顯示功能。
雷達信號模擬器通過目標運動軌跡實時計算當前時刻中雷達偵察設備平臺與雷達信號模擬器平臺的距離、方位、俯仰等參數(shù),根據(jù)系統(tǒng)功能要求,雷達信號模擬器要實現(xiàn)各個平臺的實時位置顯示及運動軌跡顯示,能夠實時顯示雷達信號模擬器的信號強度范圍,根據(jù)信號強度范圍及雷達偵察平臺的位置實時計算雷達偵察設備是否偵收到雷達信號,以及信號的到達角。因此針對系統(tǒng)的功能要求,利用MapX控件要完成的GIS功能有:地圖控制功能,包括縮放、漫游;地圖圖層創(chuàng)建及刪除;軌跡繪制功能,包括直線、折線、圓形軌跡繪制;目標點地理信息獲取,如指定位置經(jīng)緯度獲取;矢量地圖上的目標移動;目標距離、角度計算等功能。MapX通過OCX控件技術可方便地加入到工程中,因此可利用其復雜的空間數(shù)據(jù)結構和強大的圖層操作能力來實現(xiàn)以上這些功能。
MapX是MapInfo公司推出的地圖控件,它可以在應用程序中方便地加入GIS功能,使用VB、VC++、Delphi、PowerBuilder等面向對象語言來創(chuàng)建應用程序。MapX按圖層組織地圖,通常在MapX中使用的圖層都是矢量圖層,可以進行無限縮放而不丟失該圖層的地理信息。MapX可以方便地將一些有特殊意義的數(shù)據(jù)記錄在地圖上,使用戶直觀地了解地理信息,為用戶的決策提供根據(jù)。MapX還可提供強大的地理信息查詢與統(tǒng)計功能。這些特點正是MapX適用于開發(fā)GIS的主要原因。
在雷達目標模擬器系統(tǒng)中,仿真的地理環(huán)境主要是指電子地圖的創(chuàng)建及其顯示坐標系設置。首先,MapX顯示的GST文件需先在MapX組件工具GeosetManager中建立好;其次,在VC++工程中包含位于MapX安裝路徑的子目錄下MapX.h和MapX.cpp文件。接下來在視圖類中包含MapX.h頭文件,為要顯示的地圖資源對象創(chuàng)建地圖資源ID并在視圖框類的onCreate和onSize消息映射函數(shù)中創(chuàng)建MapX地圖控件并調整它與窗口的相對位置、大小和顯示坐標系參數(shù)。通過以上步驟就把包含MapX的應用程序框架搭建完畢,可以編譯運行顯示地圖了。
在目標仿真過程中為了使觀察更加細致靈活,控制地圖的縮放和漫游必不可少。這些功能的實現(xiàn)主要是通過調用MapX控件中的標準工具。這些工具由MapX封裝,在需要使用的地方通過調用相應的函數(shù)來實現(xiàn)。地圖要素的選擇、查詢、編輯,放大、縮小等功能也比較容易實現(xiàn),對于Map對象有一些可以直接調用的工具。例如:
放大:Map1.CurrentTool=miZooomInTool
縮小:Map1.CurrentTool=miZooomOutTool
漫游:Map1.CurrentTool=miPanTool
在沒有可直接調用工具的時候,可以自定義工具。
MapX中的電子地圖其實由很多透明的圖層組合而成,每個圖層包含地圖的不同組成部分。這些圖層依次堆疊在一起,用戶即可看到地圖的全貌。例如,第1個圖層包含國界,第2個圖層包含代表首都的符號,而第3個圖層包含高速公路。將這些透明部分依次堆疊在一起,即構成一張完整的地圖。對于實時應用程序,地圖圖元在地圖圖層中需要實時更新,例如在圖層中顯示運動著的目標,如采用動畫圖層,地圖的重新繪制將會更加迅速。在目標仿真程序中,為了便于實時數(shù)據(jù)計算及圖層管理,通過CMapXLayer類中的CreateLayer函數(shù)分別創(chuàng)建了“雷達” 、“軌跡” 、“目標”層,通過 CMapXLayer類中的SetAnimationLayer函數(shù)將”目標”層指定為動態(tài)圖層。因為創(chuàng)建的圖層會被添加到地圖中,當下一次打開應用程序時,創(chuàng)建圖層過程會失敗,所以在應用程序結束時,采用CMapXLayer類中的 Remove函數(shù)將創(chuàng)建的圖層刪除。
在系統(tǒng)中,軌跡繪制主要是指用戶由于目標仿真的需要在地圖上利用鼠標拖動繪制軌跡,包括直線、多折線、矩形線和圓形線等軌跡。該功能通過MapX中的多種方法和事件實現(xiàn)。首先,在視圖類的初始化事件中OnInitialupdate通過調用CMapX類中的CreateCustomT ool函數(shù)創(chuàng)建自定義工具,聲明自定義工具常量。然后分別在MapX消息函數(shù)onToolUsed或OnPolyToolUsedMap中創(chuàng)建相應軌跡。在onToolUsed中利用傳入的鼠標鍵按下點坐標(X1、Y1)和鼠標鍵抬起點坐標(X2、Y2)計算直線、弧線、矩形、橢圓頂點或圓形圓心和半徑長度構成點集對象,再利用CMapXFeatureFaetory類中的CreateLine和CreateArc方法繪制直線和弧線;利用CMapXFeatureFaetory類中的CreateElliptical-Region和 CreateCircularRegion函數(shù)繪制橢圓和圓。調用CMapXFeature類中的SetType圖元類型設置函數(shù)將圖元設置成miFeatureTypeLine(線型圖元),調用CMapXStyle類中的線型修改函數(shù)Set-LineStyle、SetLineColor設置圖形的線型樣式、線的顏色等。最后調用CMapXLayer中的AddFeature方法將圖元添加到圖層中去,然后用 Refresh函數(shù)將圖層刷新。在OnPolyToolUsedMap中利用傳入的鼠標鍵按下的一系列點計算折線、多邊型線的頂點構成點集對象,再利用CMapXFeatureFaetory類中的CreateLine函數(shù)繪制折線、多邊型線。
在使用MapX進行目標模擬的過程中要解決的關鍵問題有2個:(1)目標創(chuàng)建及移動;(2)目標之間的相對位置關系在電子地圖上的顯示。
(1)目標創(chuàng)建及移動
在雷達信號模擬器系統(tǒng)中,需要為運動目標指定軌跡,讓目標按指定軌跡運動。首先,要設置目標運動的起始點,可以通過鼠標點擊的方式,利用程序響應鼠標點擊事件,獲取點擊點在屏幕上的位置。并通過 Map1.ConvertCoord(&ScreenX,&ScreenY,&MapX,&MapY,miScreenToMap)內置的坐標轉換函數(shù)轉換成目標經(jīng)緯度信息,也可通過手動方式直接設置目標的經(jīng)緯度值。然后,通過CMapXStyle類中的標簽特性修改函數(shù)SetSymbolType、SetSymbolBitmapSize、SetSymbolBitmap-Name設置目標圖形、尺寸、圖形名稱;最后,調用CMapXLayer中的AddFeature方法將目標添加到“目標”圖層中去,用 CMapXFeature的 Update函數(shù)顯示目標圖形。在地圖中,目標要連續(xù)地沿軌跡運動,因而在地圖中的位置會動態(tài)變化。在視圖的OnTimer事件中求出當前與前一時刻目標的經(jīng)緯度偏差,然后使用CMapXFeature的Offset函數(shù)將目標圖形按經(jīng)緯度偏差移動后,用 Update函數(shù)更新目標圖形,實現(xiàn)了電子地圖中目標的移動。
(2)目標之間的相對位置關系在電子地圖上的顯示
MapX電子地圖有數(shù)值坐標系統(tǒng)和顯示坐標系統(tǒng)兩套坐標系統(tǒng),其中數(shù)值坐標系坐標是圖層元數(shù)數(shù)值表示的X-Y坐標位置,一般默認為經(jīng)緯度。顯示坐標系統(tǒng)是圖層中圖元在窗口中顯示的地圖坐標和地圖投影方式。因此在實時計算目標之間的相對位置關系時,其地圖顯示時,要將其轉換到WGS-84大地坐標系下,即經(jīng)緯度。
設雷達的大地坐標為(L,B,H),其中L為經(jīng)度;B為緯度;H為雷達的大地高度。雷達在地心空間直角坐標系中的坐標為(X,Y,Z)T,則兩者之間的轉換關系有:
式中:e為參考橢球的第一偏心率;N為所在點的卯酉曲率半徑。
設如圖1所示,已知P點、Q點的大地坐標分別為(L1,B1,H1)、(L2,B2,H2),則通過公式(1)將兩點坐標轉換到地心空間直角坐標(Xp,Yp,Zp)和(Xq,Yq,Zq),再通過坐標軸的3次旋轉,即可將Q點坐標轉化到以P點為原點的雷達測量坐標系中。
圖1 雷達測量坐標系與大地坐標系轉換圖
通過公式(1)可將電子地圖上目標的經(jīng)、緯度信息轉化到雷達平臺上的雷達測量坐標系中,這樣能夠方便地計算出兩點之間的相對位置關系及距離,滿足了雷達信號模擬器在使用中雷達偵察設備對方位、距離的檢測要求。
將MapX技術應用到雷達信號模擬器系統(tǒng)中,可以真實、直觀、精確、實時、動態(tài)地對目標運動進行模擬仿真,使真實的地理信息融入了雷達信號模擬器系統(tǒng)之中,便于在模擬系統(tǒng)中對設備性能進行評估、檢測。并為基于地理信息的多站工作環(huán)境下雷達信號模擬器的進一步研究提供了便捷。
[1]黃杏元,湯勤.地理信息系統(tǒng)概論[M].北京:高等教育出版社,1990.
[2]齊銳,屈韶琳,陽琳赟.用MapX開發(fā)地理信息系統(tǒng)[M].北京:清華大學出版社,2003.