999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Web墨卡托投影的導航電子地圖設計

2017-02-27 11:40:28何碧容
計算機測量與控制 2017年1期

何碧容,蔡 倩

(南京航空航天大學 自動化學院,南京 211100)

基于Web墨卡托投影的導航電子地圖設計

何碧容,蔡 倩

(南京航空航天大學 自動化學院,南京 211100)

針對目前無人機地面測控站導航模塊的局限,提出了基于Web墨卡托投影原理的導航電子地圖的設計方案,使用ImageStone類庫簡化了電子地圖的制作,并實現了電子地圖的繪制、平移及縮放功能;在此基礎上完成了航跡規劃、實際飛行航線的實時顯示以及航線保存等功能,大大提高了地面站的導航地圖與導航信息融合顯示的實時性;經過無人機仿真系統的測試,驗證了方案設計的合理性和可行性,該導航電子地圖能夠高效、準確地完成各項導航任務。

Web墨卡托投影;導航電子地圖;無人機;地面測控站

0 引言

由于在軍事及民用方面的廣泛用途和特殊功能,無人機的研發受到極大重視[1]。導航電子地圖作為無人機地面測控站系統的重要模塊,對監測無人機的飛行狀況及實現無人機導航功能起著重要作用。導航電子地圖要求除了可以實現電子地圖的基本功能之外,還需要具備航線規劃、航跡顯示、導航參數顯示等功能[2-4]。隨著計算機技術的飛速發展,導航電子地圖的設計逐漸成熟,目前國內學者已經設計實現的大部分方案均是基于ActiveX組件的二次開發[4-9],能很好的實現導航電子地圖的導航功能。

在實際工程應用中,簡化電子地圖的制作以及提高地圖分辨率成為目前亟待解決的問題。為了提升導航電子地圖的導航性能,本文基于Web墨卡托投影原理,使用面向對象編程語言設計并實現了無人機地面站導航電子地圖模塊,開發過程無需依賴其他地理信息系統(geographic information system, GIS)軟件,簡化了電子地圖的制作并提高了地圖顯示的分辨率和實時性。

1 地圖投影模型

1.1 墨卡托投影

地圖投影是利用一定數學法則把地球表面的經、緯線轉換到平面上的理論和方法,投影方式有等角投影、等面積投影以及等距投影等。墨卡托投影采用等角投影方式,也稱為正軸等角圓柱投影。 該原理假設地球被圍在一中空的圓柱里,其基準緯線(即赤道)與圓柱相切,再假想地球中心有一盞燈,把球面上的圖形投影到圓柱體上,將該圓柱體展開,得到一幅選定基準緯線上的“墨卡托投影”繪制出的地圖。圖1所示為墨卡托投影原理示意圖。

(1)

圖1 墨卡托投影原理示意圖

1.2Web墨卡托投影

墨卡托投影沒有角度變形,它的經緯線都是平行直線,且相交成直角,經線間隔相等,緯線間隔從基準緯線處向兩極逐漸增大。由于其等角特性,廣泛用于航海、航空領域。Web墨卡托投影與常規墨卡托投影的主要區別就是Web墨卡托投影把地球模擬為球體而非橢球體,這種假設主要是為了計算簡便,所引起的理論誤差極小,當比例尺很大時,這種誤差可以忽略不計。

將地球視為球體,設地球半徑為R=6 378 137 m,則a=b=R,第一偏心率e=0。根據式(1)可以得到墨卡托投影式的簡化形式:

(2)

2 地面站導航電子地圖的設計

2.1 功能分析

無人機在起飛之前需要在導航電子地圖上預設飛行航線,該預設航線信息將通過無線通信鏈路發送到機載導航計算機,引導無人機按照預設航線飛行。在飛行過程中無人機的實際航線與飛行狀況等數據會通過下行鏈路傳輸回地面測控站,經過解析之后在電子地圖上繪制出無人機的實際航線[5]。本文設計的導航電子地圖的功能如下:

(1)實現簡便快捷地對地圖進行放大、縮小、平移、定位等基本功能;

(2)實現飛行航線的預設功能,能夠靈活操作航點添加、刪除等功能;

(3)實現無人機實際飛行航線的顯示,并保存飛行數據。

2.2 軟件實現

2.2.1 電子地圖獲取與顯示

現在越來越多的電子地圖服務用到瓦片地圖技術,瓦片地圖技術是一種地圖預緩存技術,即將選定好經緯度范圍的地圖,按照瓦片級別和指定圖片尺寸切成若干行和列的正方形圖片,以指定格式保存成圖像文件存儲下來,形成金字塔模型的靜態地圖緩存[11-12]。本文使用瓦片地圖下載器下載所需經緯度范圍的地圖文件,并將地圖圖片保存為JPG格式。

本文基于MicrosoftVisualStudio2010開發平臺,使用MFC編程思想完成軟件開發。MFC(MicrosoftFoundationClass,微軟基礎類庫)是一套面向對象的函數庫,它將大部分的WindowsAPI(ApplicationProgrammingInterface,應用程序編程接口) 封裝到C++類中,以類成員函數的形式提供給程序開發人員調用[13]。本文使用MFCAppWizard向導工具創建地圖顯示窗口,在此基礎上將已經下載好的電子地圖圖片繪制在窗口中。

本文設計了可手動選擇地圖文件的功能,即在地圖顯示窗口菜單欄上添加“地圖選擇”子菜單,為該子菜單添加消息響應函數,在函數中編寫實現“打開文件”對話框功能的代碼。鼠標單擊該子菜單會彈出一個“打開文件”對話框,查找到目標地圖文件并選中,則會在地圖顯示窗口中繪制出所選地圖。程序運行效果如圖2所示。

圖2 地圖文件選擇對話框

圖片的繪制需要用到專門的圖像處理函數,本文使用ImageStone類庫來實現對地圖圖片的操作。ImageStone是一套功能強大的C++圖像處理庫,它完全由頭文件組成,可以對JPG、GIF、PNG、TIFF、TGA等格式的圖像文件進行讀寫操作,能夠實現約100種特殊的圖像處理。顯示地圖圖片之前需要加載地圖文件并將圖片選入設備描述表,創建一個ImageStone類庫中FCObjImage類的對象并調用以下兩個成員函數實現地圖圖片的顯示功能:函數boolLoad(constwchar_t*szFileName,FCImageProperty*pProperty=0) 實現地圖文件的加載,其中參數szFileName表示文件存儲路徑;函數voidDraw(HDChdc,RECTrect_on_DC,RECT*pOnImage=NULL)const實現地圖文件的繪制,其中參數hdc為設備描述表的句柄,參數rect_on_DC為設備描述表的繪圖區域,參數pOnImage為地圖圖片的繪制區域。

參數rect_on_DC與參數pOnImage均為屏幕坐標值,由于圖片的繪制是在設備描述表所提供的畫布上進行,則圖片的繪制區域與設備描述表的繪圖區域在坐標上有一個相對關系,為了確定參數pOnImage的值,需要進行屏幕坐標與平面坐標的相互轉換。屏幕坐標系的坐標原點為屏幕左上角,X軸向右為正,Y軸向下為正;平面直角坐標系以屏幕中心為原點,X軸向右為正,Y軸向上為正。設平面坐標為(x,y),轉換后的屏幕坐標為(m,n),則坐標轉換公式如下:

(3)

本文所使用的地圖圖片在物理意義上表示了一定的經緯度范圍,假設地圖經緯度范圍分別為經度lon0~lon1,緯度lat0~lat1,通過公式(1)將經緯度范圍轉換為平面坐標范圍,設轉換后的平面坐標范圍分別為X軸imgx0~imgx1,Y軸imgy0~imgy1。由于圖片是用像素來度量的,包含像素寬度和像素高度,若直接使用公式(2)來進行平面坐標到屏幕坐標的轉換得到地圖圖片繪制區域,會導致圖片變形失真。本文將設備描述表的繪圖區域,即參數rect_on_DC設置為地圖顯示窗口的客戶區大小(0,0,winwidth,winheight),使用公式(2)將該屏幕坐標轉換為平面坐標(winx0,winy0,winx1,winy1),根據公式(3)確定地圖圖片繪制區域的左上角和右下角的屏幕坐標,即可避免圖片變形。

(4)

2.2.2 地圖平移及縮放功能實現

使用上述原理進行編程可以實現靜態電子地圖的繪制,接下來為地圖添加平移及縮放等動態功能,使用戶能夠方便快捷地瀏覽地圖。本文通過控制鼠標的操作實現地圖的縮放及平移,鼠標滾輪前滾地圖放大,滾輪后滾地圖縮小,按下鼠標左鍵并拖動地圖實現地圖上下左右平移。

對地圖進行平移及縮放操作實際上是根據平移量及縮放量修改地圖圖片繪制區域的屏幕坐標,從而將地圖進行重繪。設movex為地圖沿X軸平移的距離,movey為地圖沿Y軸平移的距離,mapscale為地圖的縮放倍數,將公式(2)進行修改得到公式(5),如下:

(5)

對地圖圖片的繪制進行編程實現時使用公式(4)所表述的原理進行平面坐標與屏幕坐標的相互轉換,即可實現地圖的平移及縮放功能。

本文通過控制鼠標滾輪的滾動來實現地圖的縮放,在程序中添加WM_MOUSEWHEEL鼠標滾輪消息響應函數,設置初始縮放倍數mapscale=1,在函數中判斷鼠標滾輪的滾動方向,滾輪前滾則將mapscale的值修改為mapscale×1.3;滾輪后滾則將mapscale的值修改為mapscale/1.3。根據所得新的縮放倍數對地圖進行重繪即可。地圖的平移是通過鼠標左鍵按下并拖動來實現的,因此需要對WM_MOUSEMOVE、WM_LBUTTONDOWN以及WM_LBUTTONUP這3個消息的消息響應函數進行重載。具體實現流程如圖3所示。

2.2.3 航線規劃

航線規劃主要是根據目標航路預先設定好無人機的飛行任務,包括飛行航線、飛行高度、速度等。將規劃好的航線繪制在電子地圖上,并與無人機在執行飛行任務的過程中傳輸回來的實際航線進行比較,可以更加直觀地觀察到無人機的飛行狀況,如遇特殊情況可以及時對無人機的航向作出調整。

圖3 地圖平移功能實現流程圖

為了在規劃航線時便于添加航點,本文通過控制鼠標的操作來實現航跡點的添加。點擊鼠標右鍵會彈出“添加航點”、“刪除航點”等子菜單,再用鼠標左鍵單擊“添加航點”子菜單即可在鼠標所在位置繪制出一個航點。當添加多個航點時,程序自動將新添加的航點與前一航點用直線連接起來形成航線。若要刪除某個已經繪制好的航點,則將鼠標放在該航點上并選擇“刪除航點”子菜單,程序自動刪除該航點信息并將其余航點按照新的排序重新連接形成一條新的航線。

2.2.4 飛行航線的顯示

為了更加直觀地觀測無人機的飛行狀態,地面站將會接收無人機傳輸的下行狀態幀并將其進行解析,得到無人機當前的經緯度坐標與航向,將此數據實時存儲在預先設定好的保存實際航點的數組中,再按照順序取出該數組中保存的經緯度坐標,通過坐標轉換原理轉換成屏幕坐標后繪制并顯示在地圖上,實現無人機飛行航跡的實時顯示。

航跡點的繪制分為航點繪制和航線繪制兩部分。航點繪制需要使用到MFC中CDC類的Ellipse()成員函數,Ellipse()函數原型為:BOOLCDC::Ellipse(intx1,inty1,intx2,inty2),參數x1、y1、x2、y2的值通過該航點的屏幕坐標來確定。航線繪制需要使用MoveTo()和LineTo()這兩個繪圖函數,函數原型分別為:BOOLCDC::MoveTo(intx,inty);BOOLCDC::LineTo(intx,inty)。MoveTo()函數的參數為前一航點的屏幕坐標值,LineTo()函數的參數為下一航點的屏幕坐標值,航點之間用直線連接起來形成航線。為了實現實時更新航點信息,在程序中添加一個定時器,達到定時時間就對航線進行重繪操作,實現電子地圖上實時顯示飛行航線。圖4為航點繪制流程圖,航線繪制流程與航點繪制流程類似,不在此贅述。

圖4 航點繪制流程圖

2.2.5 飛行航線的保存

為了能夠在無人機飛行任務完成后將飛行航線記錄并保存下來便于查看,本文設計了航跡線保存功能。在地圖顯示窗口的菜單欄上創建一個“保存航線”子菜單,點擊該子菜單即可將當前界面上顯示的航線添加為地圖圖片上的元素并保存為JPG格式的圖片,存入目標文件夾。

首先創建一個內存DC并將目標地圖文件選入,需要調用ImageStone類庫中FCImageDrawDC類的成員函數FCImageDrawDC(HBITMAPhBMP)來實現。航跡線的繪制流程可以參照圖4,但由于此時航點繪制的參照為地圖文件,因此在進行坐標轉換時不能直接轉換成屏幕坐標,而是轉換成相對于地圖文件的坐標,設某航點的經緯度坐標為(lon,lat),轉換后的坐標為(a,b),使用如下公式進行轉換:

(6)

由于此時的設備兼容描述表是創建所得,因此航點繪制與航線繪制所使用的繪圖函數需要做相應的修改,本文使用BOOLEllipse(HDChdc,intnLeftRect,intnTopRect,intnRightRect,intnBottomRect)來繪制航點,函數中參數hdc的值為前面所創建的內存DC的句柄。同時,繪制航線的函數也需更換為WindowsAPI函數MoveToEx()和LineTo(),函數原型分別為:

BOOL_stdcallMoveToEx(HDChdc,intx,inty,LPOINTlppt);

BOOL_stdcallLineTo(HDChdc,intx,inty)

同樣地,參數hdc為所創建的內存DC的句柄。

2.2.6 測試結果分析

電子導航地圖模塊開發完成以后,為了實現導航電子地圖模塊的功能測試與分析,本文將該模塊與無人機遙測仿真系統進行數據通信。該實驗所需的無人機飛行過程中從機載端機傳輸回來的坐標由工程車的運行坐標代替,導航電子地圖模塊與遙測仿真系統之間采用串口通信,在向遙測仿真系統發送接收數據的指令之后開始實時監測工程車的運行狀況,將傳輸回來的坐標實時繪制在電子地圖界面上。

測試結果表明該軟件能夠正常實現電子地圖的顯示、平移及縮放;該軟件能夠準確、清晰地在電子地圖上繪制出規劃航線,順利接收遙測數據并進行解析,根據解析之后的經緯度信息能夠準確實時地在地圖上繪制出實時航跡線;測試結束之后該軟件能夠完成飛行航線的保存功能,將此次飛行數據完整保存以便查看。圖5為實時運行的測試結果,圖中黑色的線為規劃航線,白色的線為實際航線。

圖5 測試結果圖

3 結束語

本文基于Web墨卡托投影技術,建立了一個導航信息可視化良好的顯示界面。地圖資源的獲取簡單快捷,可以根據用戶需要下載不同分辨率、不同范圍的地圖文件。該軟件對于電子地圖的操作簡單靈活,提高了無人機系統的導航能力。由于開發過程中不需要與其他GIS軟件結合使用,具有很好的獨立性,該電子導航地圖模塊可以靈活地植入到其他導航測控系統中,也可以在此基礎上拓展其他功能,所設計的顯示系統已經應用于無人機地面測控站。

[1] 昂海松. 微型飛行器系統技術[M].北京:科學出版社, 2014.

[2]QiuK.TheDynamicNavigationSystemBasedontheReal-TimeTraffic[A].InternationalConferenceonRemoteSensing,EnvironmentandTransportationEngineering[C]. 2012:1-4.

[3]LiW,LiuL,DaiH,etal.ResearchandDesignonNavigationElectronicMapSystem[J].Telkomnika, 2013, 11(2):285-290.

[4] 李興岷, 鄧紅德, 門雅彬. 某型無人機地面站導航臺的設計與實現[J].計算機測量與控制,2014, 22(2):563-565.

[5] 仲筱艷, 黃大慶. 基于ArcGIS的無人機測控站地圖導航模塊設計[J].遙測遙控,2014,35(2):25-31.

[6] 秦 浩, 徐景碩, 高 揚,等. 基于VC++與MapX的導航電子地圖的實現[J].航空計算技術,2011,41(5):98-101.

[7] 何江艷, 趙 琦. 無人直升機地面監控電子地圖的設計與實現[J].北京航空航天大學學報,2011,37(5):615-618.

[8] 姚冰冰, 袁志敏, 吳 梅. 基于GoogleEarth的導航電子地圖設計[J]. 電子設計工程, 2014(19):4-7.

[9] 楊小會. 基于數字地圖技術的無人機測控軟件設計與開發[D]. 南京:南京航空航天大學, 2013.

[10]Bermejo-SoleraM,OteroJ.SimpleandhighlyaccurateformulasforthecomputationofTransverseMercatorcoordinatesfromlongitudeandisometriclatitude[J].JournalofGeodesy, 2009, 83(1):1-12.

[11] 黃夢龍. 瓦片地圖技術在桌面端GIS中的應用[J]. 地理空間信息, 2011(4):149-151.

[12] 蘇旭明, 譚建成.WebGIS中瓦片地圖關鍵技術研究[J]. 北京測繪, 2012(2):9-12.

[13] 孫 鑫.VC++深入詳解[M].北京:電子工業出版社, 2006.

Design of Navigation Electronic Map Based on Web Mercator

He Birong, Cai Qian

(College of Automation, Nanjing University of Aeronautics and Astronautics, Nanjing 211100,China)

Aimed at the restricted navigation module of unmanned aerial vehicle(UAV) ground control station(GCS), this paper designed a navigation electronic map based on Web Mercator. This module simplified the electronic map making by using ImageStone class library, and achieved the function of map plotting, translation, and zoom. On this basis, the paper completed route planning, real-time display of the route, saving the data and etc. The design of the navigation electronic map greatly increased the real-time display in the fusion of electronic map and navigation information. The test of UAV simulation system verified the rationality and availability of the design, the navigation electronic map can finish the navigation task efficiently and accurately.

web Mercator; navigation electronic map; unmanned aerial vehicle (UAV); ground control station(GCS)

2016-07-14;

2016-08-31。

何碧容(1993-),女,湖北天門人,碩士研究生,主要從事計算機測控技術、信號處理、嵌入式系統及應用方向的研究。

1671-4598(2017)01-0119-04

10.16526/j.cnki.11-4762/tp.2017.01.034

TP311.5

A

主站蜘蛛池模板: 欧美成人综合在线| 欧美怡红院视频一区二区三区| 国产成人免费手机在线观看视频| 天天爽免费视频| 国产成人免费高清AⅤ| 国产a v无码专区亚洲av| 99精品热视频这里只有精品7| 欧美亚洲另类在线观看| 人人爽人人爽人人片| 热久久这里是精品6免费观看| 激情六月丁香婷婷| 久久精品人人做人人爽电影蜜月| 国产拍在线| 欧美黄色a| 久久久精品无码一二三区| 欧美国产日产一区二区| 波多野结衣久久精品| 国产福利小视频在线播放观看| 国产乱人激情H在线观看| 久久婷婷六月| 国产精品视频久| 996免费视频国产在线播放| 色欲色欲久久综合网| 老司机午夜精品网站在线观看| 久久中文无码精品| 视频二区国产精品职场同事| 色窝窝免费一区二区三区| 亚洲中文无码h在线观看| 亚洲美女AV免费一区| 亚洲综合网在线观看| 精品福利视频导航| 在线看国产精品| 色婷婷亚洲综合五月| 精品视频在线一区| 欧美色图久久| 国产噜噜噜| 全部毛片免费看| 欧美天堂在线| 亚洲AⅤ无码日韩AV无码网站| 国产国产人在线成免费视频狼人色| 小13箩利洗澡无码视频免费网站| 国禁国产you女视频网站| 色婷婷成人网| julia中文字幕久久亚洲| 婷婷99视频精品全部在线观看| 福利片91| 欧美色视频在线| 欧美精品亚洲二区| 日本少妇又色又爽又高潮| 国产av色站网站| 国产一国产一有一级毛片视频| 本亚洲精品网站| 亚洲一欧洲中文字幕在线| 国产69精品久久久久妇女| 色网站在线视频| 国产成人精品免费av| 欧美激情伊人| 国产免费高清无需播放器| 免费观看无遮挡www的小视频| 亚洲美女久久| 久久性视频| 成人毛片在线播放| 欧美日韩精品一区二区在线线| 日韩欧美国产精品| 五月婷婷伊人网| 国产女人爽到高潮的免费视频| 欧美日韩国产在线人成app| 免费一级毛片完整版在线看| 久久香蕉国产线看观看亚洲片| 国产国产人在线成免费视频狼人色| 免费xxxxx在线观看网站| 亚洲日韩精品伊甸| 欧美在线天堂| 亚洲国产欧美自拍| 欧美精品三级在线| 欧美精品综合视频一区二区| 国产亚洲精品97在线观看| 精品国产香蕉在线播出| 国产Av无码精品色午夜| 91精品在线视频观看| 97在线免费| 国产在线视频导航|