吳曉雪任鴻翔張顯庫谷 軍何 南
(1.大連海洋大學,遼寧 大連 116026;2.大連海事大學,遼寧 大連 116026)
基于osgEarth三維數(shù)字地球建設(shè)的研究
吳曉雪1任鴻翔2張顯庫2谷 軍1何 南1
(1.大連海洋大學,遼寧 大連 116026;2.大連海事大學,遼寧 大連 116026)
基于osgEarth開源工程是將地理信息系統(tǒng)和虛擬現(xiàn)實技術(shù)結(jié)合起來的一個重要應(yīng)用。以基于osgEarth三維數(shù)字地球建設(shè)的研究為例,采用 LOD 與分頁、動態(tài)調(diào)度等技術(shù)。研究了三維地形、影像、地物組織、調(diào)度及融合方式;設(shè)計了地球影像數(shù)據(jù)獲取、坐標紋理校正、earth文件編寫、矢量數(shù)據(jù)柵格化顯示;分析了 osgEarth 中繪制線狀矢量數(shù)據(jù)的模板體技術(shù)和該技術(shù)所隱藏的場景層次結(jié)構(gòu)。在Visual Studio 2010平臺下,使用OpenSceneGraph語言進行編程,證明了該技術(shù)的可行性,實現(xiàn)了三維數(shù)字地球的建設(shè)。
數(shù)字地球;地理信息系統(tǒng);虛擬現(xiàn)實;osgEarth;OpenSceneGraph
隨著計算機和網(wǎng)絡(luò)的發(fā)展,人們所面臨的不再是信息資源的匱乏,而是如何更加有效的利用信息、挖掘信息。信息從利用率的角度可分為兩類,一類是流動性很強的現(xiàn)勢信息;另一類則是“壓箱底”的歷史信息。但這種劃分也并非絕對,不同信息對于不同部門有著不同的意義。只有通過一種平臺,流通起來實現(xiàn)的共享,信息的價值才不會打折扣?!皵?shù)字地球”正是在這種背景下提出的[1]。
“數(shù)字地球”(Digital Earth)最先由前美國副總統(tǒng)戈爾提出[2],是指以地球坐標(經(jīng)緯網(wǎng))為依據(jù),具有多分辨率,由海量數(shù)據(jù)組成的,能立體表達和顯示的虛擬地球。數(shù)字地球基礎(chǔ)設(shè)施主要是研究和解決分布式數(shù)據(jù)庫的遠程數(shù)據(jù)互操作、數(shù)據(jù)融合與動態(tài)立體顯示、數(shù)據(jù)和知識挖掘及仿真與虛擬實踐間題,為地球信息科學創(chuàng)造實驗條件和試驗基地[3]。
運用數(shù)字化的手段來處理整個地球的自然和社會活動等方面的問題,最大限度地利用資源,并使普通百姓能夠通過一定方式方便地獲得他們所想了解的有關(guān)地球的信息[4]。
近年來涌現(xiàn)了大量的數(shù)字地球軟件及應(yīng)用,比如Google公司的Google Earth,NASA的World Wind[5],微軟的Virtual Earth等,國內(nèi)的有北大/北航的ChinaStar,武漢大學的GeoGlobe,中科院遙感所的DEPS CAS等[6],但上述的數(shù)字地球軟件雖然提供了簡單的二次接口或部分開源代碼,能夠支持用戶通過與軟件的數(shù)據(jù)互換,支持一些簡單的應(yīng)用開發(fā),但有以下不足:
(1)只能使用單一的軟件自帶的數(shù)字地球數(shù)據(jù),無法集成不同的數(shù)字地球數(shù)據(jù)[5];
(2)簡單開發(fā)模式顯示了軟件功能的靈活性,無法滿足用戶多方面需求;
(3)有些數(shù)字地球軟件的渲染傳輸效率低下。
針對以上問題,本文將選擇一個新的開源數(shù)字地球軟件—osgEarth來實現(xiàn)數(shù)字地球的研究。
osgEarth是OSG專門針對GIS開發(fā)而設(shè)計的,具有交互靈活等特點,它可以直接從網(wǎng)絡(luò)上的服務(wù)器端讀取數(shù)據(jù),實時地對地形模型進行加載和處理。
osgEarth采用基于XML語言的earth文件來標記地理空間數(shù)據(jù)?;谒M行相關(guān)的開發(fā)有以下特點[5]:
(1)提供了一套完整的地理空間參考系統(tǒng),包括地理坐標系統(tǒng)、投影轉(zhuǎn)換等。
(2)整個earth文件可以作為一個節(jié)點加入到OSG中,并提供一些交互工具,如Object Placer,Earth Manipulator,從而實現(xiàn)了一定的交互能力,具有較大的靈活性。
(3)可以和Google Map,Yahoo Map,ArcGIS Online等數(shù)字地球服務(wù)器建立連接并從中獲取所需的數(shù)據(jù),同時保存到本地緩存中,并以分層分塊的方式顯示數(shù)據(jù),從而提高場景渲染的效率。
(4)可以訪問WMS,WCS,TMS等多種地圖數(shù)據(jù)服務(wù)器端,支持多種數(shù)據(jù)格式,包括:.shp 矢量數(shù)據(jù)、.jpg、.tif圖像數(shù)據(jù)等。
當讀者打開谷歌地球(Google Earth)時可以看見一個大地球緩緩走來, Google Earth是一款Google公司開發(fā)的虛擬地球儀軟件,它把衛(wèi)星照片、航空照相和GIS布置在一個地球的三維模型上。谷歌地球可讓讀者前往世界上任何地方,以查看衛(wèi)星圖像,地圖,地形,3D建筑物,來自外層空間的星系的峽谷海洋[7]。
借鑒Google Earth軟件的思路,建立一個數(shù)字地球,并使其具備真實的空間位置信息。
3.1 數(shù)字地球的生成
構(gòu)建數(shù)字地球需要將地表的高度信息和影像信息集成在地球這一橢球面上,對于高度信息可以利用相關(guān)網(wǎng)站上提供的30m和90m精度的地球高層數(shù)據(jù),對于影像信息可以利用相關(guān)網(wǎng)站上提供的地球衛(wèi)星影像數(shù)據(jù)。利用高層數(shù)據(jù),基于osgEarth編寫earth文件,生成帶有高度信息的地球橢圓體,如圖1所示,然后在這個橢球體表面上映射衛(wèi)星影像,從而將高層數(shù)據(jù)和衛(wèi)星影像等基礎(chǔ)地理信息數(shù)據(jù)集成到地球橢球面上,實現(xiàn)三維數(shù)字地球。其中搭建數(shù)字地球關(guān)鍵的技術(shù)是衛(wèi)星影像數(shù)據(jù)的獲取與組織、影像數(shù)據(jù)與高層數(shù)據(jù)的疊加顯示。
圖1 由高層數(shù)據(jù)生成的地球表面
3.2 影像數(shù)據(jù)的獲取與組織
上節(jié)筆者得到了由高層數(shù)據(jù)生成的地球白膜表面,需要在地球表面添加紋理圖像。這里筆者選用Google截圖器獲取高清衛(wèi)星影像。截圖器是Google公司的電子地圖服務(wù)軟件,可以提供含有政區(qū)和交通以及商業(yè)信息的矢量地圖、不同分辨率的衛(wèi)星照片和可以用來顯示地形和等高線的地形視圖[8]。本文在軟件中設(shè)置影像的經(jīng)緯度坐標范圍,即可截取衛(wèi)星影像數(shù)據(jù)。筆者注意到當視點離地面較遠時,觀察到的地球的景物較為模糊,離地面較近時,觀察到的景物較為清晰。為了實現(xiàn)清晰效果,地球表面需要映射的影像數(shù)據(jù)量往往高達幾百TB甚至更多,而計算機當前的內(nèi)存數(shù)量和處理器速度無法將其全部實時渲染,因此需要找到一種合理的影像數(shù)據(jù)調(diào)度方法。
基于人眼的視距與可觀察的物體總是有限的這一常識,將近處的場景進行精細渲染而將遠處的場景進行粗略渲染,即在針對影像數(shù)據(jù)處理上,將數(shù)據(jù)分成各種不同的清晰度,距離較遠加載清晰度較小的圖片,距離較近加載清晰度較大的圖片。基于這種策略,將衛(wèi)星影像進行采樣并按其分辨率分別進行存放,可形象地稱之為金字塔技術(shù)。
圖2 金字塔圖片0級與1級存儲展示
衛(wèi)星影像圖片精度的最頂層0級數(shù)據(jù)為全球,只有一張衛(wèi)星圖片,大小為256像素*256像素,而1級的數(shù)據(jù)是將0級的數(shù)據(jù)圖片細分為四份,每一份均為256像素*256像素,這樣逐級下分可以完成整個地球衛(wèi)星影像數(shù)據(jù)的分級。圖2展示了0級數(shù)據(jù)與1級數(shù)據(jù)之間的差別。0級數(shù)據(jù)是分辨率為256*256的一張數(shù)據(jù),而1級數(shù)據(jù)是四張256*256的圖片數(shù)據(jù),它們之間是2的指數(shù)關(guān)系。由于地球的半徑是已知的,而某一級圖片的分辯率也是已知的,因此可以通過某一級的分辨率和地球在赤道的周長得出其某一級的精度。當級別達到15級左右時,地表的分辨率便可達到10米左右。
3.3 earth文件的編寫
在把生成的地球白膜和獲取的地球紋理圖像疊加之后,還需要計算機編程來實現(xiàn)數(shù)字地球的搭建。實現(xiàn)的思路有earth文件本身提供一些如Object Placer,Earth Manipulator等交互工具,并且earth文件可作為一個節(jié)點加入到OSG中,從而實現(xiàn)一定的交互能力,程序簡單方便,靈活性高。那么本節(jié)將對earth文件的一些特點以及如何編寫earth文件進行介紹。
在osgEarth中可采用XML語言編寫earth文件來標記地理空間數(shù)據(jù)。該文件標記地理空間數(shù)據(jù)具體如下特點:
(1)可以離線的方式讀取和顯示地理空間數(shù)據(jù),實時生成地形數(shù)據(jù)。
(2)可以添加國界線、省界線以及其他屬性信息。
(3)可以生成緩存數(shù)據(jù),減少系統(tǒng)首次運行的等待時間。
完整的earth文件的編寫包括
①定義高層
name:高層名稱;
driver:驅(qū)動;
gdal:使用gdal來讀取高層數(shù)據(jù);
Composite:使用多紋理或多高層相互疊加;
OSG:使用osg的reader/writers來讀取文件;
url:定義數(shù)據(jù)來源;
②紋理
name:紋理名稱;
driver:驅(qū)動;
Composite:使用多個紋理或多個高層相互疊加;
OSG:使用osg的reader/writers來讀取文件;
url:定義數(shù)據(jù)來源;
③使用緩存
Type:指定緩存類型;
path:指定路徑;
④預生成緩存
使用osgEarth cache預生成緩存。
最后實現(xiàn)的數(shù)字地球在不同視點的效果如圖3所示,當視點大于5000m時可以觀測整個地球外部輪廓;當視點小于5000米時對近處場景進行渲染,實時地加載相應(yīng)的省界線、國界線等細節(jié)。
圖3 數(shù)字地球在不同視點距離的效果圖
本文通過對數(shù)字地球及其應(yīng)用、地球表面高層數(shù)據(jù)的生成、影像數(shù)據(jù)的獲取與組織、osgEarth功能及特點、earth文件的編寫進行了研究,借鑒Google Earth軟件的思路,搭建了三維數(shù)字地球。整個場景具有以下幾個關(guān)鍵技術(shù):
(1)影像數(shù)據(jù)的獲取與組織
采用金字塔技術(shù)將衛(wèi)星影像進行采樣并按其分辨率分別進行存放,將數(shù)據(jù)分成各種不同的清晰度,距離較遠加載清晰度較小的圖片,距離較近加載清晰度較大的圖片,彌補了計算機當前的內(nèi)存數(shù)量和處理器速度無法將其全部實時渲染的缺陷,提高了渲染的速率和真實性。
(2)通過osgEarth和OSG,易于用戶進行交互渲染功能的開發(fā)。
當然這只是三維數(shù)字地球建設(shè)的第一步,還有許多需要完善的地方,比如添加矢量數(shù)據(jù)到場景中、場景的渲染、用戶交互等。接下去筆者將借助OSG其強大的場景管理和渲染能力進行進一步的完善。
[1] 楊玉永.“數(shù)字地球”在交通工程中的應(yīng)用[D].山東:山東師范大學,2010.
[2] 李力.數(shù)字地球及其應(yīng)用前景分析[J].測繪與空間地理信息,2010,(34):111-112.
[3] 旭光.基于數(shù)字地球平臺的地理信息服務(wù)服務(wù)架構(gòu)研究[J].中國礦業(yè),2010,(19):192-201.
[4] 楊秋霞.數(shù)字地球關(guān)鍵技術(shù)綜述[J].黑龍江科技信息, 2013,(8):97.
[5] 金宏,朱軍,盧秋陽,等.基于osgEarth的虛擬校園場景建模研究[J].地理信息世界,2011,(1):65-71.
[6] 程勉志.地理空間信息在數(shù)字水利建設(shè)中的應(yīng)用[J].河南水利與南水北調(diào),2013, (16):59-60.
[7] 趙崇博,李思昆,李軍.一種基于數(shù)字地球的運動模型與地形匹配方法[J].仿真系統(tǒng)學報,2012,(9):1920-1924.
[8] 云軼如,高永兵.基于GOOGLE地圖的客戶響應(yīng)綜合管理平臺的研究和實現(xiàn)[J].科技資訊,2013,(8):32.
Research based on the construction of 3D osgEarth digital earth
The eMule-project based on osgEarth is an important application which combined the geographic information system and virtual reality technology. Taking the three-dimensional earth based on osgEarth for example, this paper used lod, paging, dynamic scheduling and other technologies, researched 3d terrain, image, object organization, scheduling and integrated approach, and also analysed template body technology in drawing linear vector data and scene hierarchy hidden in the technology. In Visual Studio 2010 platform, the OpenSceneGraph was used to program language. The experimental results proved the feasibility of the technology, and realized the construction of three-dimensional digital earth.
Digital globe; geographic information systems ;virtual reality ;osgEarth ;OpenSceneGraph
TP391.9
A
1008-1151(2015)01-0001-03
2014-12-13
吳曉雪(1989-),女,遼寧遼陽人,大連海洋大學實驗師,研究方向為計算機仿真;任鴻翔(1974-),男,黑龍江肇東人,大連海事大學教授,研究方向為計算機仿真;張顯庫(1968-),男,遼寧遼陽人,大連海事大學教授,研究方向為魯棒控制;谷軍(1964-),女,遼寧北鎮(zhèn)人,大連海洋大學實驗師,研究方向為電工電子技術(shù);何南(1977-),女,遼寧錦州人,大連海洋大學實驗師,研究方向為計算機基礎(chǔ)。