曾興國,左 維,牟伶俐,張舟斌,李春來
(中國科學(xué)院國家天文臺中國科學(xué)院月球與深空探測重點(diǎn)實(shí)驗(yàn)室,北京 100012)
面向移動端月球形貌展示的快速三維地圖平臺搭建
曾興國,左 維,牟伶俐,張舟斌,李春來
(中國科學(xué)院國家天文臺中國科學(xué)院月球與深空探測重點(diǎn)實(shí)驗(yàn)室,北京 100012)
受限于移動設(shè)備運(yùn)算能力和三維地圖數(shù)據(jù)網(wǎng)絡(luò)傳輸速度,如何在快速移動端流暢地顯示月球三維地圖,展示月球形貌細(xì)節(jié),還是一個難點(diǎn)。為解決這一問題,本文首先考察已有的移動端三維地圖實(shí)現(xiàn)方法,在此基礎(chǔ)上研究了一種基于前后臺異步渲染策略的三維月球地圖實(shí)現(xiàn)方案;基于嫦娥月球數(shù)據(jù),構(gòu)建了一個月球三維形貌地圖原型系統(tǒng),并成功應(yīng)用于移動端的嫦娥月球三維形貌數(shù)據(jù)發(fā)布。
三維地圖;移動互聯(lián)網(wǎng);三維月球;月球地圖
測繪技術(shù)正在逐步深入地應(yīng)用于我國的月球與深空探測工程[1- 2]。使用月球地圖進(jìn)行月球形貌展示、開展探測規(guī)劃已經(jīng)十分普遍。而隨著互聯(lián)網(wǎng)三維地圖技術(shù)的不斷進(jìn)步,網(wǎng)絡(luò)三維地圖也不斷涌現(xiàn)并開始應(yīng)用于月球數(shù)據(jù)及其他行星數(shù)據(jù)的三維展示與數(shù)據(jù)發(fā)布。
從技術(shù)層面看,網(wǎng)絡(luò)三維地圖經(jīng)歷了從桌面端到瀏覽器端再到移動端的轉(zhuǎn)變。最早出現(xiàn)的是桌面端的網(wǎng)絡(luò)三維地圖。以Google Earth、World Wind等為代表,基于C/S架構(gòu),三維模型數(shù)據(jù)主要在桌面的客戶端進(jìn)行渲染,而服務(wù)端提供輔助信息支持。這一類的網(wǎng)絡(luò)三維地圖應(yīng)用渲染速度快,顯示效果好,但需要在客戶端單獨(dú)安裝桌面應(yīng)用軟件,數(shù)據(jù)也是預(yù)下載到軟件中,較為復(fù)雜。
其次是瀏覽器端的網(wǎng)絡(luò)三維地圖,這一類的網(wǎng)絡(luò)三維地圖主要基于B/S架構(gòu),按照出現(xiàn)先后還可以細(xì)分為兩種類型。早期主要通過在瀏覽器端安裝插件(如ActiveX、Java3D、ActionScript等),由服務(wù)器端提供三維數(shù)據(jù),傳輸?shù)娇蛻舳瞬⒗貌寮θS模型進(jìn)行渲染[3- 8];近期,隨著瀏覽器對WebGL等3D引擎的支持,在瀏覽器端可以不用安裝插件,直接渲染三維地圖[9- 10]。基于瀏覽器端的網(wǎng)絡(luò)三維地圖的優(yōu)點(diǎn)在于不用單獨(dú)安裝應(yīng)用程序,直接通過瀏覽器顯示三維場景,但繪制效率和顯示效果不如桌面版,典型應(yīng)用有Cesium等。
隨著移動互聯(lián)網(wǎng)的發(fā)展,移動網(wǎng)速的加快,智能移動設(shè)備的計算能力不斷提高,逐步出現(xiàn)了基于移動端的網(wǎng)絡(luò)三維地圖[11]。這一類型的網(wǎng)絡(luò)三維地圖主要采用(APP/Server)的架構(gòu),也可以細(xì)分為兩種模式。一種將三維數(shù)據(jù)和渲染引擎都放在APP中,服務(wù)端只提供輔助信息,在APP中直接渲染顯示三維場景;另外一種是APP端只提供渲染引擎,而服務(wù)端提供數(shù)據(jù)服務(wù),傳輸?shù)紸PP中再進(jìn)行渲染顯示。這兩種模式各有利弊,前一種模式無需下載數(shù)據(jù),渲染顯示速度更快,三維展示效果較好,但三維數(shù)據(jù)難以進(jìn)行更新;后一種模式數(shù)據(jù)和引擎分開,易于進(jìn)行數(shù)據(jù)更新和動態(tài)表達(dá),但對于網(wǎng)絡(luò)傳輸速度要求更高,渲染速度和效果則差強(qiáng)人意。
從應(yīng)用領(lǐng)域來看,針對地球網(wǎng)絡(luò)三維地圖的應(yīng)用種類繁多,技術(shù)也最為成熟,而針對月球或其他行星的網(wǎng)絡(luò)三維地圖則較少,只有如基于Google Earth技術(shù)的Google Moon、Google Mars等,而且主要沿用三維地球的技術(shù)。但這種沿用忽略了月球與行星的坐標(biāo)系統(tǒng)、分幅索引方案等,從月球與行星地圖實(shí)際應(yīng)用出發(fā),在數(shù)據(jù)定位、查詢等方面存在問題。
本文主要研究如何在智能移動端實(shí)現(xiàn)面向月球形貌表達(dá)的網(wǎng)絡(luò)三維地圖。針對現(xiàn)有的移動端網(wǎng)絡(luò)三維地圖在技術(shù)層面存在的數(shù)據(jù)和渲染的矛盾,在應(yīng)用領(lǐng)域存在的考慮月球特殊環(huán)境的缺失問題,基于嫦娥月球數(shù)據(jù),本文提出了一種基于異步渲染策略的,針對月球空間環(huán)境的網(wǎng)絡(luò)三維地圖實(shí)現(xiàn)方案,可提高嫦娥月球數(shù)據(jù)的三維展示與發(fā)布能力,服務(wù)于我國的月球與深空探測工程。
1.1 主要思路
由于移動端環(huán)境下網(wǎng)絡(luò)速度和運(yùn)算能力的限制,網(wǎng)絡(luò)三維地圖存在著數(shù)據(jù)和渲染的矛盾;如果完全將三維數(shù)據(jù)放置于APP端,則每次三維地圖數(shù)據(jù)更新,需要重新下載APP,操作十分麻煩;而如果全將三維地圖數(shù)據(jù)放置于服務(wù)器,由服務(wù)器根據(jù)APP訪問實(shí)時將數(shù)據(jù)傳給前端渲染,則數(shù)據(jù)的實(shí)時傳輸壓力較大,渲染效果也會受到影響。對此,本文提出一種基于異步渲染策略的方案,具體方案如圖1所示。
圖1 三維地圖異步渲染策略
如圖1所示,該方案是將三維地圖數(shù)據(jù)分開,一部分包含三維幾何數(shù)據(jù)、三維場景分幅定位數(shù)據(jù)放置于APP,由APP進(jìn)行本地調(diào)用渲染。而用于顯示效果的地圖紋理、標(biāo)注數(shù)據(jù),則放置于服務(wù)器,而且這一部分?jǐn)?shù)據(jù)可以由服務(wù)器進(jìn)行預(yù)渲染,生成相應(yīng)的瓦片地圖數(shù)據(jù)。同時,瓦片地圖數(shù)據(jù)可以采用標(biāo)準(zhǔn)的影像數(shù)據(jù)模型進(jìn)行壓縮(如JPEG),以減少數(shù)據(jù)量。在APP中,在渲染幾何數(shù)據(jù)時,通過異步調(diào)用瓦片地圖服務(wù),將地圖瓦片數(shù)據(jù)疊加于三維模型數(shù)據(jù)之上,則可以顯示出最終的三維場景。
基于APP端和服務(wù)端進(jìn)行異步渲染實(shí)現(xiàn)的網(wǎng)絡(luò)三維地圖,由于幾何和定位數(shù)據(jù)在本地,可以提高三維場景的渲染效率;而將瓦片地圖數(shù)據(jù)放在服務(wù)端,一旦三維瓦片地圖數(shù)據(jù)需要更新,只需要在服務(wù)端生成新的瓦片,APP端則不需要更新,調(diào)用新的瓦片地圖服務(wù)即可, 這樣地圖瓦片數(shù)據(jù)的更新將會更加方便。
1.2 月球三維地圖坐標(biāo)系統(tǒng)與瓦片切分
針對月球的網(wǎng)絡(luò)三維地圖,其三維引擎在調(diào)用瓦片地圖服務(wù)時,為減少數(shù)據(jù)獲取量,需要考慮月球的空間坐標(biāo)系統(tǒng)及分幅編碼特點(diǎn)以進(jìn)行地圖瓦片切分和調(diào)用[12- 13]。目前月球的空間坐標(biāo)系統(tǒng)主要采用月固坐標(biāo)系GSCMoon2000,主要的GIS軟件如ArcMap等也可以支持該坐標(biāo)系。APP端在請求服務(wù)端的影像瓦片數(shù)據(jù)時,可以利用月球的分幅編碼規(guī)則,根據(jù)顯示月球坐標(biāo)范圍,請求對應(yīng)分幅的瓦片數(shù)據(jù),而不需要請求全球的瓦片數(shù)據(jù)。
目前可以參考國家標(biāo)準(zhǔn)《月球基本比例尺地形圖分幅和編號》[14],基于此標(biāo)準(zhǔn),對月球三維地圖影像瓦片數(shù)據(jù)進(jìn)行分幅和編碼。按照該標(biāo)準(zhǔn),以1∶100萬分幅為例,如圖2所示,瓦片編號與圖幅編號相同,單張瓦片大小為256×256像素。
圖2 1∶100萬月球地圖分幅編碼
圖2中,根據(jù)某點(diǎn)位置,其瓦片編號可由求圖幅編號公式得到。1∶100萬圖幅編號按式(1)和式(2)計算
a=[(84°-φ)/Δφ]+2
(1)
b=[(λ+180°]/Δλ]+1
(2)
式中,a為1∶100萬圖幅所在緯度帶字符碼所對應(yīng)的數(shù)字碼;b為1∶100萬圖幅所在經(jīng)度帶的數(shù)字碼;[ ]表示商取整;φ為圖幅內(nèi)某點(diǎn)的緯度或圖幅西北圖廓點(diǎn)的緯度,單位為度(°);Δφ為14°;λ為圖幅內(nèi)某點(diǎn)的經(jīng)度或圖幅西北圖廓點(diǎn)的經(jīng)度,單位為度(°);Δλ為第a行對應(yīng)的1∶1 000 000圖幅經(jīng)差,單位為度(°)。式(1)、式(2)只適用于南北緯84°之間的行號、列號計算。北緯84°—90°圖幅編號為A01,南緯84°—90°圖幅編號為N01。以月面某點(diǎn)(經(jīng)度為-19°30′36″,緯度為44°07′12″)為例,計算其所在地圖瓦片的編號。根據(jù)式(1)和式(2)計算其行號、列號。
a=[(84°-φ)/Δφ]+2=[(84°-44°07′12″)/ 14°]+2=4(對應(yīng)字符碼D)
查詢第4行經(jīng)差為24°,即Δλ=24°
b=[(λ+180°)/Δλ]+1=[(-19°30′36″+ 180°)/24°]+1=7
該點(diǎn)所在1∶1 000 000圖幅編號為D07,獲取的瓦片即為Image D07,其相鄰?fù)咂瑒t為Image C05、C06、D06、D08、E08、E09。
2.1 系統(tǒng)設(shè)計
2.1.1 系統(tǒng)架構(gòu)
基于上述設(shè)計方案,采用APP/Server的架構(gòu)搭建本系統(tǒng)。移動端是一個APP,主要是一個三維地圖渲染引擎,內(nèi)置有月球三維結(jié)構(gòu)幾何數(shù)據(jù)和用于空間定位、查詢的分幅編碼數(shù)據(jù),負(fù)責(zé)三維模型的渲染和顯示。Server服務(wù)端是月球三維紋理數(shù)據(jù)瓦片地圖服務(wù),負(fù)責(zé)渲染月球紋理數(shù)據(jù),并以瓦片地圖的形式發(fā)布,APP端可以調(diào)用該服務(wù),并將相應(yīng)的地圖瓦片貼合在月球三維模型表面,形成最終的月球三維地圖。
2.1.2 功能模塊
系統(tǒng)設(shè)計包括三維主要功能模塊,如圖3所示,每個模塊及其功能,具體如下。
(1) 三維展示模塊:用于渲染并顯示三維月球模型數(shù)據(jù)與地圖場景。
(2) 交互模塊:顯示交互性信息,接受觸摸動作,根據(jù)觸摸動作修改3D模型參數(shù),與3D模型互動。
(3) 數(shù)據(jù)加載模塊:加載并分析月球三維紋理、標(biāo)注數(shù)據(jù),計算坐標(biāo)在3D模型上顯示的位置。
圖3 系統(tǒng)功能模塊
2.1.3 功能模塊
系統(tǒng)設(shè)計基于開源的Cesium項目構(gòu)建,使用WebGL繪制三維地圖,通過支持WebGL的主流瀏覽器如Firefox、Chrome即可以訪問和渲染三維場景,Cesium平臺支持對于WMTS、WMS等主流網(wǎng)絡(luò)地圖服務(wù)的調(diào)用。
2.2 實(shí)例應(yīng)用
2.2.1 月球數(shù)據(jù)
原型系統(tǒng)主要運(yùn)用已有的嫦娥月球影像數(shù)據(jù),包括普通的120 m分辨率的全月DOM數(shù)據(jù)、月球地名數(shù)據(jù),數(shù)據(jù)的組織結(jié)構(gòu)如圖4所示。
圖4 嫦娥月球數(shù)據(jù)組織
根據(jù)已有的數(shù)據(jù),在服務(wù)器端,通過ArcGIS Server將地圖數(shù)據(jù)發(fā)布為多級顯示的網(wǎng)絡(luò)地圖瓦片服務(wù),作為網(wǎng)絡(luò)三維月球系統(tǒng)的紋理和標(biāo)注數(shù)據(jù)來源。
2.2.2 系統(tǒng)效果
在智能手機(jī)端安裝原型系統(tǒng)APP,通過APP調(diào)用瀏覽器,渲染本地的三維幾何數(shù)據(jù),在3G網(wǎng)絡(luò)環(huán)境下調(diào)用服務(wù)端發(fā)布的網(wǎng)絡(luò)地圖瓦片服務(wù),可以實(shí)現(xiàn)流暢的訪問月球三維場景,相應(yīng)的地名數(shù)據(jù)也可以疊加顯示于地圖中。在不同尺度下的三維月球數(shù)據(jù)展示的具體示意圖效果如圖5所示。
圖5 移動端三維月球效果
在平臺支持上,本系統(tǒng)可以支持安卓、iOS等主流移動平臺,具有較好的跨平臺性;由于采用了異步渲染策略;在訪問速度上,可以實(shí)現(xiàn)實(shí)時流暢的三維月球場景訪問,在渲染效果上與主流的平臺效果相當(dāng)。
本文在前人的研究基礎(chǔ)上,著重分析了網(wǎng)絡(luò)三維地圖在技術(shù)和應(yīng)用領(lǐng)域的發(fā)展現(xiàn)狀。與此同時,指出了在移動端網(wǎng)絡(luò)三維地圖存在的數(shù)據(jù)和渲染之間的矛盾。針對該矛盾,提出了一種基于APP端和服務(wù)端對不同數(shù)據(jù)進(jìn)行異步渲染,而后集成顯示的三維地圖方案。該方案被應(yīng)用于月球三維地圖的構(gòu)建,實(shí)現(xiàn)了一個可以流暢顯示月球形貌的月球三維地圖。該方案存在的不足之處在于,目前主要用于展示月球形貌的紋理數(shù)據(jù)為影像灰度瓦片,形貌的三維效果還不夠突出,未來應(yīng)研究使用采用彩色暈渲瓦片替代灰度瓦片等方式,以提高月球三維形貌地圖的表現(xiàn)力。
[1] 劉經(jīng)南, 魏二虎, 黃勁松, 等. 月球測繪在月球探測中的應(yīng)用[J]. 武漢大學(xué)學(xué)報(信息科學(xué)版), 2005, 30(2): 95- 100.
[2] 陳俊勇,章傳銀,黨亞民.月球航天探測和月球測繪[J].測繪學(xué)報,2005,34(3):189- 195.
[3] OLMEDO H. Virtuality Continuum’s State of the Art[J]. Procedia Computer Science,2013(25):261- 270.
[4] 郭美卉. 基于 Unity 3D 的虛擬鷲峰漫游展示設(shè)計[D]. 北京:北京林業(yè)大學(xué), 2013.
[5] 鄒韻飛. 基于 WEB 的三維全景交互虛擬場景技術(shù)應(yīng)用的研究[D].昆明:昆明理工大學(xué), 2011.
[6] 劉義海, 黃翔濤, 肖圓秀. 基于 3d max 與 Away3D 的校園三維模型在 Web 中的顯示研究[J]. 黑龍江科技信息, 2013 (13): 144.
[7] 譚云蘭, 賈金原, 彭碩, 等. 基于 Web3D 的虛擬旅游關(guān)鍵技術(shù)研究進(jìn)展[J]. 系統(tǒng)仿真學(xué)報, 2014, 26(7): 1541- 1549.
[8] 龐國明. 智能設(shè)備基于 J2ME 平臺的 3D 開發(fā)技術(shù)[J]. 電腦編程技巧與維護(hù), 2009 (21): 68- 72.
[9] RESCH B, WOHLFAHRT R, WOSNIOK C. Web- based 4D Visualization of Marine Geo- data Using WebGL[J]. Cartography and Geographic Information Science, 2014, 41(3): 235- 247.
[10] 張玲. 基于 WebGL 技術(shù)和 Oak3D 引擎的交互式三維地球模型研究[J]. 軟件導(dǎo)刊, 2014, 13(2): 153- 155.
[11] NOGUERA J M, SEGURA R J, OGYAR C J, et al. Navigating Large Terrains Using Commodity Mobile Devices[J]. Computers & geosciences, 2011, 37(9): 1218- 1233.
[12] DONG Y F, SUN Y K, TANG Z S. Interactive Visualization of 3D Lunar Model with Texture and Labels, Using Chang’E- 1 Data[J]. Science China Physics, Mechanics and Astronomy, 2013, 56(10): 2002- 2008.
[13] 何猛, 蔡忠亮, 任福. 移動地圖中的矢量瓦片組織方法研究[J]. 測繪地理信息, 2015, 40(2): 74- 76.
[14] 中國科學(xué)院國家天文臺.月球基本比例尺地形圖分幅和編號:GB/T 32521—2016[S].北京:中國標(biāo)準(zhǔn)出版社,2016.
Research on Fast Development of 3D Lunar Topography RepresentationPlatform Based on Mobile Devices
ZENG Xingguo,ZUO Wei,MU Lingli,ZHANG Zhoubin,LI Chunlai
(Key Laboratory of Lunar and Deep Space Exploration, National Astronomical Observatories, Chinese Academy of Sciences, Beijing 100012, China)
Restricted by the computing capability of the smart mobile devices and the speed for 3D map data transmission through mobile internet, how to display the 3D lunar map on mobile devices smoothly and represent the lunar topography in detail is still a problem. To solve this problem,the state of art for mobile 3D map was investigated, and based on the work, an asynchronous rendering strategy for 3D Lunar Mapping on mobile devices was proposed. With the method and Chang’E lunar data, a 3D lunar map prototype system for mobile devices was developed and successfully implemented in the program for Chang’E lunar topographic data release.
3D map; mobile internet; 3D moon; lunar map
2016- 06- 13;
2017- 01- 06
國家自然科學(xué)基金(41371427/D0108);中國科學(xué)院國家天文臺青年人才基金;數(shù)字制圖與國土信息應(yīng)用工程國家測繪地理信息局重點(diǎn)實(shí)驗(yàn)室開放基金(GCWD201402)
曾興國(1988—),男,博士,助理研究員,主要從事月球與行星地圖可視化研究。E- mail:zengsingle@163.com
曾興國,左維,牟伶俐,等.面向移動端月球形貌展示的快速三維地圖平臺搭建[J].測繪通報,2017(3):42- 45.
10.13474/j.cnki.11- 2246.2017.0081.
P208
A
0494- 0911(2017)03- 0042- 04