劉洪雙
(河南省地圖院,河南 鄭州 450008)
基于osgEarth的本地化三維場景構建和應用
劉洪雙
(河南省地圖院,河南 鄭州 450008)
基于osgEarth開源庫,使用其自帶的dem高程數據和dom正射影像數據切片工具,對數據進行金字塔切片,通過配置文件實現矢量數據、瓦片數據、三維模型的加載和顯示,快速構建簡單的三維場景。
osgEarth;天地圖;dem;dom;三維模型
openSceneGraph是一個開源的三維引擎,被廣泛地應用在可視化仿真、游戲、虛擬現實、科學計算、三維重建、地理信息、太空探索、石油礦產等領域。osg采用標準C++和OpenGL編寫而成,可運行在所有的Windows平臺、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX、Android和FreeBSD 操作系統。
osgEarth是基于三維引擎osg開發的三維數字地球引擎庫,在osg基礎上實現了瓦片調度插件,可選的四杈樹調度插件,更多的地理數據加載插件(包括GDAL、ogr、WMS、TMS、VPB、filesystem等),再結合一套地理投影轉換插件,這樣就能夠實現高效處理加載調度地理數據在三維地球上的顯示,實現三維虛擬地球。
本文主要介紹利用osgEarth對本地三維數據的調用,包括對“天地圖”發布的WMTS服務的調用、本地矢量數據的調用、dem高程數據的金字塔切片和調用、dom影像數據的金字塔切片和調用、模型的制作和調用等技術。
“天地圖”提供了豐富的矢量數據、柵格數據服務接口,提供了覆蓋全球的地理信息數據。其中中國的數據覆蓋了從宏觀的中國全境到微觀的鄉鎮、村莊。因此,利用osgEarth調用天地圖提供的數據,并跟本地數據結合,實現快速建模,快速更新,快速發布,將有利于地方虛擬城市和三維地形的建設和發展,提供新型的地理信息服務模式。
可以從網上下載已經編譯好的osgEarth程序包,也可以自己下載osgEarth源碼和所需要的插件庫和osgEarth使用的開源庫,利用CMake對源碼進行編譯,生成dll文件和可執行exe文件,在此不作詳細論述,下面著重講述調用方法。在下載的程序包目錄下新建六文件,其中三個批處理dat文件,三個earth配置文件。見圖1。

圖1 程序安裝目錄圖
tianditu.bat為批處理文件,內容如下:

tianditu.earth 為osgEarth的配置文件。內容如下:


配置完成后,雙擊 tianditu.bat,啟動自帶的osgViewer程序并讀取tianditu.earth配置文件。
osgEarth通過配置文件tianditu.earth可以調用本地的dem數據。例如:把dem文件henan.tif拷貝到data文件夾下面,在配置文件中加入如下代碼,就可以實現對本地dem數據的加載和顯示。

由于dem數據文件較大,要加快瀏覽速度,或者直接在iis服務器中進行發布是不合適的(例如:http://ip/data/henan.tif),可以采用金字塔切片的方法對dem數據進行矢量瓦片化處理,即使用osgEarth自帶的osgearth_package工具,對dem數據進行切片[2]。
在圖1中在dem.earth 文件添加如下代碼:

在dem.dat 執行如下命令:

就會在 f: ms 文件夾下面生成一個henan文件夾,里面存儲dem金字塔切片文件。修改tianditu. earth文件中的配置信息:

也可以在iis中添加一個虛擬目錄

圖2 地形圖
osgEarth也可以通過tianditu.earth配置文件調用本地的衛星影像數據。例如:把world.tif拷貝到data文件夾下面,在配置文件中加入如下代碼,就可以加載顯示本地的影像數據。

可以使用osgEarth自帶的工具,對dom影像數據進行金字塔切片處理。
在圖1dom.earth文件中添加如下代碼:

在dom.dat 執行如下命令:

就會在 f:dms 文件夾下面生成一個world文件夾,里面存儲dom影像金字塔切片文件。修改tianditu.earth文件中的配置信息:

也可以在iis中添加一個虛擬目錄
可以采用3Dmax制作3D模型。安裝3Dmax以后,再下載安裝osgexp插件,之后用3Dmax制作的三維模型就可以導出ive格式了。把制作的好的三維模型拷貝到data文件夾下面,在tianditu.earth配置文件中加入如下代碼,就可以實現模型的加載。

網絡發布模型方法跟前面介紹的相同,在iis下發布模型文件,例如:
http://ip/ data/oil.ive,就可以直接在線調用模型。
以上著重介紹了osgEarth實現本地化數據加載的方法,以及對dem和dom數據進行金字塔切片并進行網絡發布的方法, 其他的具體配置和使用,可以參照圖1中tests文件夾下的配置例子。通過這些學習,可以很快的利用osgEarth實現本地化三維場景的發布和構建。
[1]吳曉雪, 任鴻翔, 張顯庫,等. 基于osgEarth三維數字地球建設的研究[J]. 大眾科技, 2015(1):1-3.
[2]吳小東, 許捍衛. 基于OSGEarth的城市三維場景構建[J]. 地理空間信息, 2013, 11(2):107-110.
劉洪雙 (1977― ),男,漢族,從事地圖測繪程序研發工作。E-mail:37735159@qq.com