陳鵬飛+何龍+陳章江+劉靜萱+彭凱+孟憲成+陳東玲
摘 要:我國自實施嫦娥工程以來,獲得了大量的探測數(shù)據(jù)。文章基于JavaScript腳本語言,在B/S架構(gòu)下借助LOD、三維可視化等技術在內(nèi)嵌WebGL的瀏覽器端對獲得的月球影像和地形數(shù)據(jù)進行了三維展示,從而使得廣大用戶能夠?qū)υ虑虮砻婧偷匦芜M行瀏覽并獲得深層次的認知。
關鍵詞:JavaScript;B/S架構(gòu);LOD;三維可視化;WebGL
中圖分類號:TP311 文獻標志碼:A 文章編號:2095-2945(2018)03-0007-04
Abstract: Since the implementation of Chang'e Project in China, a large number of data have been obtained. This article is based on the JavaScript scripting language. With the help of LOD, 3D visualization and other technologies in the B/S architecture, the 3D display of lunar images and terrain data is carried out on the browser side with embedded WebGL, so that the vast number of users can browse the surface and terrain of the moon and gain a deeper understanding.
Keywords: JavaScript; B/S architecture; LOD; 3D visualization; WebGL
1 概述
月球上具有豐富的礦產(chǎn)資源、能源和特殊的空間環(huán)境條件,展現(xiàn)出了廣闊的開發(fā)利用前景。因此對月球的探索、研究、利用就尤為重要。在過去的幾十年間,基于前蘇聯(lián)、美國、日本以及歐洲各國發(fā)射的月球探測器所獲得的數(shù)據(jù),各個國家的研究人員制作了大量的月球地圖與圖集,積累了豐富的素材以便人類探索月球。與此同時,我國的月球探測科學數(shù)據(jù)資源也隨著嫦娥探月工程的展開而變得逐漸豐富,但隨之而來的是海量數(shù)據(jù)的長期儲存與分類管理,以及無法提供給用戶實時有效、直觀的地圖數(shù)據(jù)等問題日漸突出。
隨著三維地理信息系統(tǒng)技術的發(fā)展,其不僅具備了空間實體定義能力,還具備了三維可視化、空間查詢和空間分析能力。將三維地理信息系統(tǒng)技術、海量數(shù)據(jù)處理技術、分布式網(wǎng)絡技術等結(jié)合,建立的數(shù)字月球平臺,預計可以使相關研究和管理部門對于月球探測科學數(shù)據(jù)的共享與重用效率極大地提升,讓不同領域?qū)崿F(xiàn)快速共享月球科學研究成果,從而大幅提高月球科學研究的效率和水平。
C/S(Client/Server)結(jié)構(gòu),即客戶機和服務器結(jié)構(gòu)。Client端完成與用戶的交互任務,Server端負責數(shù)據(jù)的管理。B/S(Browser/Server)結(jié)構(gòu),即瀏覽器和服務器結(jié)構(gòu),其主要是結(jié)合不斷成熟的WWW瀏覽器技術與多種的瀏覽器Script語言,將原來需要復雜專用軟件才能實現(xiàn)的強大功能用通用瀏覽器就實現(xiàn)了,從而節(jié)約了開發(fā)、維護成本[1]?,F(xiàn)階段國內(nèi)外有許多在C/S架構(gòu)三維信息平臺,如Google Earth、ConverseEarth等,它們平臺的客戶端都需要安裝專門軟件,其具有自身升級、維護難度大等局限性。而本文所介紹的基于B/S模式的數(shù)字月球信息平臺,客戶端不需要安裝過多的插件,通過網(wǎng)絡方便了大眾的瀏覽和認知,增加了其科普性;升級維護上,由于所有的客戶端只是瀏覽器,所以只需在管理服務器上完成個別構(gòu)件更新、開發(fā)、維護等工作,不必更換客戶端軟件,實現(xiàn)了系統(tǒng)的無縫升級維護,從而降低了成本和工作量[2]。
2 系統(tǒng)的總體框架
圖1為Web-GIS數(shù)字月球信息平臺的總體架構(gòu)圖。Web-GIS數(shù)字月球信息平臺總體結(jié)構(gòu)采用分層式結(jié)構(gòu),以失量數(shù)據(jù)、影像數(shù)據(jù)、地形數(shù)據(jù)等全月球基礎數(shù)據(jù)產(chǎn)品的整合為數(shù)據(jù)層,以大數(shù)據(jù)和超級計算技術為處理方法,以Web網(wǎng)頁為用戶端展現(xiàn)形式,開發(fā)Web-GIS數(shù)字月球信息平臺。數(shù)字月球信息平臺系統(tǒng)采用B/S混合的體系結(jié)構(gòu)進行開發(fā),平臺系統(tǒng)既可以滿足海量月球數(shù)據(jù)的應用與管理的需求,又可以實現(xiàn)月球的三維可視化、空間分析等相關功能。
3 數(shù)據(jù)庫的組織與設計
數(shù)據(jù)是地理信息系統(tǒng)的根本,數(shù)據(jù)庫的建立對實現(xiàn)數(shù)字月球信息平臺尤為重要。平臺中的數(shù)據(jù)主要包括矢量數(shù)據(jù)(撞擊坑名稱)、影像數(shù)據(jù)(CCD影像)、地形數(shù)據(jù)(DEM數(shù)據(jù))[3]。
3.1 坐標系參數(shù)設置
Moon-2000坐標系統(tǒng)是IAU 2000Cartesian Coordinate System中的適用于月球的坐標系統(tǒng)(IAU,國際天文學聯(lián)合會)。橢球體采用Moon_2000_IAU_IAG標準,參考水準面D_MOON_2000的偏離參數(shù)為0,0,0,長半軸和短半軸均為1737400m[4]。
3.2 數(shù)據(jù)描述
(1)矢量數(shù)據(jù)(撞擊坑名稱)
2012年國際天文學聯(lián)合會(IAU)公布了1935 年以來所發(fā)現(xiàn)的命名了的月球表面上的9003個撞擊坑(數(shù)據(jù)格式是Shapefile格式),除了2個直徑為零的撞擊坑之外,一共得到了有效使用的撞擊坑為9001個。撞擊坑數(shù)據(jù)中主要包含的屬性特征有撞擊坑的名稱、直徑、坑心的經(jīng)緯度、撞擊坑邊界經(jīng)緯度、認證時間等。
(2)影像數(shù)據(jù)(CCD影像)
“嫦娥二號”衛(wèi)星上搭載的CCD立體相機的精度相對“嫦娥一號”大大提高,繞月飛行軌道由“嫦娥一號”時的200公里高度降低到100公里,分辨率由120米分辨率提高到7米。目前已公布的2級數(shù)據(jù)18946個、3級數(shù)據(jù)203個、高級數(shù)據(jù)產(chǎn)品406個,數(shù)據(jù)總量高達2853.85GB。2 級數(shù)據(jù)是已經(jīng)按照軌道分幅,經(jīng)輻射、幾何、光度校正后的數(shù)據(jù),其上具有空間信息,能夠比較真實的反應地表輻射狀況。而3 級數(shù)據(jù)是經(jīng) 2 級數(shù)據(jù)校正拼接,分幅投影后的數(shù)據(jù)產(chǎn)品,其針對不同地區(qū)分別采用了蘭伯特投影、摩卡托投影等不同的投影方式。而且中高緯度地區(qū)因投影變形問題數(shù)據(jù)損失嚴重,不能展現(xiàn)具體地物特征[5]。綜合以上考慮,本文采用的CCD影像為“嫦娥二號”衛(wèi)星上的2級數(shù)據(jù)。endprint
將2級數(shù)據(jù)先進行錯誤檢測同時設置分割點,從而保證每段內(nèi)的誤差累計最小,實現(xiàn)整軌影像的精確校正。再經(jīng)過三角網(wǎng)法校正,立方體卷積法重采樣,最后使用 ENVI中的mocaic功能使用基于地理坐標的鑲嵌方法將分塊校正后的數(shù)據(jù)重新拼接,可得到全月影像圖。
(3)地形數(shù)據(jù)(DEM數(shù)據(jù))
激光高度計(LAM)是嫦娥二號的主要有效載荷之一,其是用來獲取衛(wèi)星下方月表地形高度數(shù)據(jù),服務于月球表面三維影像獲取的科學和應用目標。其主要原理是通過星上激光高度計測量衛(wèi)星到星下點月球表面的距離,為光學成像探測系統(tǒng)的立體成圖提供修正參數(shù);并通過地面應用系統(tǒng)將距離數(shù)據(jù)與衛(wèi)星軌道參數(shù)、地月坐標關系進行綜合數(shù)據(jù)處理,就可以獲取到衛(wèi)星星下點月表DEM數(shù)據(jù)[6]。目前已公布“嫦娥二號”上激光高度計的2級數(shù)據(jù)有56個,發(fā)布數(shù)據(jù)總量為0.017GB。
3.3 地理數(shù)據(jù)庫的建立
當前常用的數(shù)據(jù)庫有MySQL數(shù)據(jù)庫、SQLServer數(shù)據(jù)庫、ORACLE數(shù)據(jù)庫。
(1)MySQL數(shù)據(jù)庫
MySQL是一種開放源代碼的關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。MySQL數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言——結(jié)構(gòu)化查詢語言(SQL)進行數(shù)據(jù)庫管理。
(2)SQLServer數(shù)據(jù)庫
SQLServer是一個可擴展的、高性能的、為分布式客戶機/服務器計算所設計的數(shù)據(jù)庫管理系統(tǒng),實現(xiàn)了與WindowsNT的有機結(jié)合,提供了基于事務的企業(yè)級信息管理系統(tǒng)方案[7]。
(3)ORACLE數(shù)據(jù)庫
ORACLE數(shù)據(jù)庫作為一個具有完整的數(shù)據(jù)管理功能的通用數(shù)據(jù)庫系統(tǒng),是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng)。它作為一個關系數(shù)據(jù)庫,是一個具有完備關系的產(chǎn)品,而作為分布式數(shù)據(jù)庫它又能實現(xiàn)分布式處理功能。
三者相比較從空間來說,前兩者的數(shù)據(jù)庫只是關系型數(shù)據(jù)庫,而ORACLE數(shù)據(jù)庫支持三維數(shù)據(jù)的存儲,同時它具有的優(yōu)點為可用性強、可擴展性強、數(shù)據(jù)安全性強、穩(wěn)定性強等。從服務器模式來說,ORACLE采用的是并行服務器模式,當數(shù)據(jù)庫數(shù)量達到GB以上時,其能在對稱多CPU的系統(tǒng)上提供并行處理,從而提高其處理能力。綜合以上考慮,本文中的地理數(shù)據(jù)庫采用的是ORACLE數(shù)據(jù)庫。
4 數(shù)字月球信息平臺功能的實現(xiàn)
4.1 平臺功能實現(xiàn)的技術手段
(1)時空大數(shù)據(jù)云與海量數(shù)據(jù)的管理技術
針對復雜多樣的月球?qū)嶓w數(shù)據(jù)的特點,顧及空間數(shù)據(jù)的多維特征,研究各種多尺度、多源、異構(gòu)的地理信息數(shù)據(jù)源面向時空大數(shù)據(jù)的數(shù)據(jù)模型;依據(jù)空間實體幾何形態(tài)和關鍵屬性研究建立實體之間的關聯(lián)方法,研究多種類數(shù)據(jù)的時空存儲和管理模型,解決二三維一體化數(shù)據(jù)存取和檢索機制,重點研發(fā)三維模型和點云數(shù)據(jù)的并行存取和檢索接口;研究矢量數(shù)據(jù)分布式存儲架構(gòu),研究各種空間數(shù)據(jù)的并行插入、查詢、刪除和修改等技術;研究以瓦片為代表的柵格數(shù)據(jù)和矢量數(shù)據(jù)的劃分策略。
(2)WebGL繪圖技術
WebGL繪圖技術是一個用于在Web 瀏覽器端創(chuàng)建三維圖形的跨平臺、免費的API。無需安裝瀏覽器插件便可利用WebGL實現(xiàn)Web3D,只需編寫網(wǎng)頁代碼即可實現(xiàn)三維圖像的展示。
在渲染方法上,數(shù)字月球信息平臺將側(cè)重建立Web環(huán)境下時空大數(shù)據(jù)信息可視化模型,基于HTML5 和WebGL實現(xiàn)二三維地理信息的渲染,面向大規(guī)模Web 環(huán)境的異構(gòu)設備應用,研發(fā)基于Web的跨平臺、跨瀏覽器、跨設備的高并發(fā)時空大數(shù)據(jù)動態(tài)制圖與可視化引擎,制定時空大數(shù)據(jù)可視化的統(tǒng)一接口規(guī)范,支持適應多樣性的設備特性以及不斷變化的網(wǎng)絡環(huán)境,支持流數(shù)據(jù)應用,適應不斷變化的訪問流量和帶寬約束的實時可視化,該引擎將進一步融合本平臺其他關鍵技術,形成底層厚實的基礎軟件,為時空大數(shù)據(jù)可視化應用產(chǎn)品提供關鍵技術支持[8]。
(3)大規(guī)模場景的三維可視化技術
地理事物對象信息紛繁復雜,為了有效的三維數(shù)字月球地圖所涉及的信息場景管理,采用基于節(jié)點的、分層和分塊的三維場景數(shù)據(jù)組織模型,簡化場景的管理。為了加快三維場景的繪制,要綜合運用金字塔數(shù)據(jù)壓縮存儲技術、多分辨率模型技術、基于LOD的場景簡化技術等,同時在提高數(shù)據(jù)加載和繪制的命中率時采用快速高效的可見性判斷技術;同時結(jié)合高效的并行載入技術,實現(xiàn)同時進行場景實時瀏覽和數(shù)據(jù)載入[9]。
(4)GDAL庫切片技術
按照規(guī)定的數(shù)學規(guī)則,把地圖切成規(guī)定大小的圖片后保存到計算機硬盤里是切片技術原理,每當用戶在瀏覽器上訪問地圖服務時,服務器直接返回當前地圖坐標區(qū)域所對應的“切片”,達到減輕服務器負擔,提升地圖瀏覽速度的目的。GDAL除了可以支持大多數(shù)的柵格數(shù)據(jù),還可以通過庫OGR操作矢量數(shù)據(jù),同時由于GDAL是源于C++語言編譯的,因此其還具有良好的跨平臺特性[10]。
4.2 平臺功能描述
(1)全月球影像顯示:提供月球空間數(shù)據(jù)三維可視化表現(xiàn),以月球表面遙感影像結(jié)合DEM數(shù)據(jù)為基礎進行全球月球展示以及基本信息查看功能。
(2)月球地理信息的查詢和管理功能:提供查詢和管理包括月球表面任意位置坐標、經(jīng)緯度、地名、高程信息等在內(nèi)的月球地理信息的功能。
(3)三維模型顯示功能:能夠加載三維地形與模型數(shù)據(jù),構(gòu)建三維場景,并可以對任意感興趣的月球表面區(qū)域進行放大、縮小、旋轉(zhuǎn)等的功能,便于直觀、多角度地了解月球。
(4)月球地形量算功能:能夠計算月球表面任意兩點的空間距離,計算任意劃定區(qū)域的面積,滿足對月球表面的量化分析。
(5)月球漫步功能:能通過移動方向上三維場景的變換,從而實現(xiàn)在月球上漫步的功能。
5 結(jié)束語
月球作為人類研究最深入且唯一曾登陸過的其他星體,傳統(tǒng)的圖檔式二維月球地圖,不足以滿足月球探測科學數(shù)據(jù)共享與重用效率,也無法實現(xiàn)直觀的測距與量算功能。本文所講的Web-GIS數(shù)字月球信息平臺通過對海量月球信息的處理與分類管理,可以實現(xiàn)對全月球進行多維、多尺度的表達。數(shù)字月球信息平臺上對于不同類型、不同層次、不同領域月球數(shù)據(jù)的集中展示,使月球科學研究成果能夠快速共享并能夠按需提供月球信息服務。提供給用戶一個從月球整體到月球局部地區(qū),從宏觀到微觀的完整空間信息平臺,使用戶對月球的宏觀與微觀認識實現(xiàn)無縫銜接。
參考文獻:
[1]張淑榮,蘇兵.C/S與B/S兩種軟件體系結(jié)構(gòu)[J].電腦學習,2010.
[2]蔡長安,王盈瑛.C/S和B/S的模式的比較和選擇[J].渭南師范學院學報,2006:47-50.
[3]李 .數(shù)字月球平臺共享數(shù)據(jù)文件格式研究與應用[D].成都理工大學,2012.
[4]Geologic investigation and mapping of the Sinus Iridum quadrangle from Clementine, SELENE, and Chang'e-1 data.Science China (Physics,Mechanics & Astronomy),2010.
[5]劉洪利.嫦娥1號衛(wèi)星激光高度計(LAM)數(shù)據(jù)的全月球虛擬現(xiàn)實構(gòu)建[D].中國地質(zhì)大學(北京),2012.
[6]Laser altimetry data of Chang'E-1 and the global lunar DEM model.SCIENCE CHINA Earth Sciences,2010.
[7]閆旭.淺談SQL Server數(shù)據(jù)庫的特點和基本功能[J].Value Engineering,2012.
[8]朱麗萍,李洪奇,杜萌萌,等.基于WebGL的三維WebGIS場景實現(xiàn)[J].計算機工程與設計,2014.
[9]蔣杰.全球大規(guī)模虛擬地理環(huán)境構(gòu)建關鍵技術研究[D].國防科學技術大學,2010.
[10]饒玫瑰.“嫦娥二號”影像數(shù)據(jù)分層切片技術的研究[D].成都理工大學,2012.endprint