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