陳繼培,吳 劍,高 珅
(1.湖北省國(guó)土測(cè)繪院,湖北 武漢 430001)
地質(zhì)公園是以具有特殊地質(zhì)科學(xué)意義、稀有的自然屬性、較高的美學(xué)觀賞價(jià)值,具有一定規(guī)模和分布范圍的地質(zhì)遺跡景觀為主體,融合其他自然景觀與人文景觀而構(gòu)成的一種獨(dú)特的自然區(qū)域[1]。其建設(shè)的首要目的是保護(hù)公園內(nèi)的地質(zhì)遺跡。近年來,地質(zhì)公園的概念被進(jìn)一步擴(kuò)展,地質(zhì)旅游成為地質(zhì)公園內(nèi)最核心的內(nèi)容之一,并迅速發(fā)展[2]。
地質(zhì)公園本身系統(tǒng)復(fù)雜、類型多樣,地質(zhì)旅游體現(xiàn)了其科普功能,挖掘地質(zhì)文化內(nèi)涵還有很大的發(fā)展空間[3]。隨著地質(zhì)旅游工作的深入,游客對(duì)其提出了更高的要求。游客渴望在旅游中獲得地學(xué)知識(shí),同時(shí)希望在旅游前能對(duì)地質(zhì)公園的總體風(fēng)貌進(jìn)行大致了解。目前,很多的地質(zhì)公園已建立了自己的網(wǎng)站,但基本以圖文為主,游客很難對(duì)公園產(chǎn)生立體直觀的印象。隨著三維GIS和傾斜攝影技術(shù)的發(fā)展,對(duì)地質(zhì)公園進(jìn)行三維建模,進(jìn)而在網(wǎng)絡(luò)上提供三維瀏覽服務(wù),將使游客的迫切需求成為可能。本文基于三維引擎Cesium研發(fā)了一套三維地質(zhì)公園導(dǎo)覽系統(tǒng),為在線瀏覽三維地質(zhì)公園提供了可行的技術(shù)方法。
遠(yuǎn)安縣是全國(guó)首批國(guó)家級(jí)重點(diǎn)保護(hù)古生物化石集中產(chǎn)地,落星村被譽(yù)為“中國(guó)化石第一村”,出土了2.5億年前的“湖北鱷”化石。該動(dòng)物化石僅在湖北省發(fā)現(xiàn),是世界獨(dú)一無二的特殊類群。以遠(yuǎn)安古生物化石為核心,遠(yuǎn)安縣于2018年2月成功申報(bào)了湖北遠(yuǎn)安化石群國(guó)家地質(zhì)公園,公園面積約為500 km2,結(jié)構(gòu)上可概括為“一館兩園兩點(diǎn)”,其中“一館”為遠(yuǎn)安縣地質(zhì)博物館;“兩園”為張家灣三疊紀(jì)水生爬行動(dòng)物化石園和荷花鎮(zhèn)奧陶紀(jì)頭足類化石園;“兩點(diǎn)”為鹽池河巖崩景點(diǎn)和望家沖石林景點(diǎn)。本文以湖北遠(yuǎn)安化石群國(guó)家地質(zhì)公園為試點(diǎn),展開系統(tǒng)的研究與開發(fā)。
系統(tǒng)以Cesium三維引擎技術(shù)為基礎(chǔ),實(shí)現(xiàn)了地質(zhì)公園三維模型的讀取和識(shí)別,同時(shí)融合公園二維專題數(shù)據(jù)和VR全景數(shù)據(jù),為游客提供了逼真的虛擬現(xiàn)實(shí)體驗(yàn),達(dá)到了地質(zhì)公園在線導(dǎo)覽的目的。系統(tǒng)采用B/S架構(gòu),客戶端應(yīng)采用支持WebGL的谷歌Chrome瀏覽器、火狐FireFox瀏覽器、360瀏覽器等。系統(tǒng)后端采用輕量級(jí)的容器Spring框架,前端以VUE和Cesium為基礎(chǔ)實(shí)現(xiàn)二三維模型數(shù)據(jù)的渲染顯示。系統(tǒng)技術(shù)架構(gòu)主要包括瀏覽器客戶端、服務(wù)層和數(shù)據(jù)層3個(gè)部分,如圖1所示。
圖1 系統(tǒng)技術(shù)架構(gòu)圖
系統(tǒng)設(shè)計(jì)的目標(biāo)是實(shí)現(xiàn)在線瀏覽三維地質(zhì)公園,能展示地質(zhì)公園的基礎(chǔ)設(shè)施、三維建筑、化石模型,同時(shí)能對(duì)地址公園的設(shè)施、地質(zhì)旅游信息進(jìn)行查詢。系統(tǒng)包括圖層管理、空間量測(cè)、信息查詢、全景瀏覽、我的地圖等模塊,其中圖層管理模塊負(fù)責(zé)二三維數(shù)據(jù)的加載顯示,包括公園基礎(chǔ)設(shè)施、景區(qū)范圍、路網(wǎng)、地名、河流、地質(zhì)災(zāi)害點(diǎn)、化石三維模型、傾斜攝影等數(shù)據(jù);空間量測(cè)模塊負(fù)責(zé)三維環(huán)境空間距離的測(cè)量,包括距離測(cè)量、面積測(cè)量、三角測(cè)量;信息查詢模塊負(fù)責(zé)公園矢量數(shù)據(jù)信息的查詢,包括屬性查詢和空間查詢;全景瀏覽模塊通過真實(shí)影像的方式實(shí)現(xiàn)虛擬瀏覽,能與二維矢量進(jìn)行關(guān)聯(lián)顯示;我的地圖模塊包括視角標(biāo)簽和圖上標(biāo)繪兩個(gè)功能,視角標(biāo)簽負(fù)責(zé)記錄當(dāng)前三維視角,便于瀏覽場(chǎng)景時(shí)能快速定位到其他景點(diǎn),圖上標(biāo)繪用于游客標(biāo)記自己的感興趣內(nèi)容(如旅游點(diǎn)位等),進(jìn)行個(gè)性化展示。
作為新一代的開源三維引擎框架,Cesium通過HTML5網(wǎng)頁(yè)標(biāo)準(zhǔn)和WebGL技術(shù)規(guī)范實(shí)現(xiàn)動(dòng)態(tài)的三維場(chǎng)景顯示和渲染[4],無需安裝插件即可創(chuàng)建具有最佳性能、精度、視覺質(zhì)量和易用性的世界級(jí)三維地球影像和地圖,并具有豐富的開源社區(qū)內(nèi)容[5]。Cesium支持多種視圖,能以二三維進(jìn)行展示;支持加載3D Tiles和glTF格式數(shù)據(jù),海量?jī)A斜、點(diǎn)云模型數(shù)據(jù)以及符合OGC標(biāo)準(zhǔn)的WMS、WMTS等地圖服務(wù)[5]。Cesium接口豐富,通常只需調(diào)用接口即可滿足三維模型業(yè)務(wù)需求。
系統(tǒng)在HTML5平臺(tái)中利用Cesium和WebGL圖形渲染器進(jìn)行可視化交互開發(fā)[6]。程序運(yùn)行時(shí),客戶端發(fā)出請(qǐng)求命令,從服務(wù)器提取瓦片數(shù)據(jù),服務(wù)器響應(yīng)接收并傳回客戶端,客戶端解析文件并調(diào)用圖形繪制方法將其渲染在網(wǎng)頁(yè)上,實(shí)現(xiàn)三維可視化交互[7]。
地質(zhì)公園三維模型數(shù)據(jù)分為傾斜攝影數(shù)據(jù)和化石模型數(shù)據(jù)。傾斜攝影通過無人機(jī)平臺(tái)搭載五鏡頭航測(cè)相機(jī),同時(shí)從多角度獲取地質(zhì)公園建筑的真實(shí)影像信息,并在ContextCapture中將傾斜數(shù)據(jù)導(dǎo)出為Cesium引擎支持的3D Tiles格式數(shù)據(jù)。傾斜攝影數(shù)據(jù)能為游客展示符合人眼視覺的真實(shí)直觀的世界,細(xì)節(jié)程度高,可看到真實(shí)的地形和房屋等地物信息[8]?;P屯ㄟ^相機(jī)多角度采集化石實(shí)景照片,再利用三維建模軟件自動(dòng)合成模型數(shù)據(jù)。PhotoScan三維建模軟件操作簡(jiǎn)單,只需導(dǎo)入照片、對(duì)齊照片、生成密集點(diǎn)云、生成紋理等步驟即可自動(dòng)完成數(shù)據(jù)制作。本文采用PhotoScan軟件完成化石數(shù)據(jù)的建模,導(dǎo)出的化石數(shù)據(jù)成果為obj格式,由于Cesium僅支持glTF格式模型,因此需通過obj2gltf工具將其轉(zhuǎn)換為glTF格式。
全景虛擬技術(shù)是一種運(yùn)用數(shù)碼相機(jī)對(duì)現(xiàn)有場(chǎng)景進(jìn)行多角度環(huán)視拍攝,再利用計(jì)算機(jī)進(jìn)行后期縫合,并加載播放程序來完成的三維虛擬展示技術(shù)。全景對(duì)計(jì)算量和存儲(chǔ)量要求不高,在旅游場(chǎng)景瀏覽中應(yīng)用較廣,其重點(diǎn)是圖像拼接。全景是通過普通相機(jī)拍攝,再將得到的一系列重疊照片鑲嵌拼接而成的,因此對(duì)拍攝照片有一定的技術(shù)規(guī)范要求,拍攝角度、焦距、拍攝間隔、照片重疊度等均需根據(jù)現(xiàn)場(chǎng)環(huán)境進(jìn)行調(diào)整。
全景技術(shù)包括拍攝點(diǎn)位選取、相機(jī)拍攝、全景圖合成、照片修正等步驟,具體流程如圖2所示。本文采用PTGui軟件合成全景圖,再對(duì)全景圖進(jìn)行Photoshop調(diào)色、地物消除、補(bǔ)天等處理,最終通過720云平臺(tái)進(jìn)行全景發(fā)布。
圖2 全景技術(shù)流程圖
圖層管理是系統(tǒng)數(shù)據(jù)的展示窗口,可進(jìn)行加載、關(guān)閉、更改透明度等操作,加載后的數(shù)據(jù)能在三維地球上進(jìn)行疊加顯示。圖層管理功能以天地圖影像和地形為基礎(chǔ)底圖,疊加顯示傾斜、化石等三維模型數(shù)據(jù)以及公園基礎(chǔ)設(shè)施、村莊路網(wǎng)、地質(zhì)等二維矢量數(shù)據(jù)。系統(tǒng)加載三維模型和二維矢量效果如圖3所示。
圖3 三維模型和二維矢量加載圖
空間量測(cè)是對(duì)場(chǎng)景中的點(diǎn)進(jìn)行空間量測(cè),主要包括空間距離量測(cè)、空間面積量測(cè)和三角量測(cè)??臻g距離量測(cè)的實(shí)現(xiàn)原理為;監(jiān)聽鼠標(biāo)左鍵點(diǎn)擊事件獲取起始點(diǎn)位坐標(biāo)信息,根據(jù)空間坐標(biāo)繪制實(shí)體線,再調(diào)用fromDegrees、Distance方法獲取其空間點(diǎn)位之間的距離。
信息查詢是對(duì)公園的基礎(chǔ)設(shè)施數(shù)據(jù)、旅游路線等內(nèi)容進(jìn)行信息查詢,包括屬性查詢和空間查詢。屬性查詢?cè)谳斎肟騼?nèi)輸入要查詢的信息,并與數(shù)據(jù)庫(kù)進(jìn)行模糊匹配,然后列表顯示查詢結(jié)果,同時(shí)在地圖上以圖標(biāo)展示其位置。空間查詢是當(dāng)游客點(diǎn)擊地圖上的圖標(biāo)時(shí),系統(tǒng)會(huì)利用Cesium events API監(jiān)聽到點(diǎn)擊事件,再通過pickPosition獲取點(diǎn)擊位置,若該處有信息被定義,則通過彈出框顯示該地物的詳細(xì)信息。
全景瀏覽是在三維視圖里瀏覽VR全景數(shù)據(jù),實(shí)現(xiàn)了二維數(shù)據(jù)與VR全景的交互顯示。VR全景URL地址事先以字段的形式存儲(chǔ)在公園二維矢量數(shù)據(jù)中,查詢公園二維數(shù)據(jù)的同時(shí)即可瀏覽該點(diǎn)位的VR數(shù)據(jù)。VR全景瀏覽效果如圖4所示。
圖4 VR全景瀏覽圖
我的地圖包括視角標(biāo)簽和圖上標(biāo)繪兩個(gè)功能,其中視角標(biāo)簽?zāi)芸焖俣ㄎ坏脚d趣點(diǎn),實(shí)現(xiàn)景區(qū)、景點(diǎn)等位置的切換;圖上標(biāo)繪是在地圖上繪制感興趣的點(diǎn)、線等內(nèi)容。視角標(biāo)簽和圖上標(biāo)繪的實(shí)現(xiàn)方式為;將當(dāng)前視角和圖上繪制點(diǎn)以JSON文件的形式保存到客戶端本地;調(diào)用時(shí)客戶端對(duì)JSON文件進(jìn)行解析,并通過Cesium圖上繪制實(shí)現(xiàn)加載顯示。
Cesium開源框架能加載不同類型的矢量和三維模型數(shù)據(jù),無需插件即可在瀏覽器端實(shí)現(xiàn)可視化三維場(chǎng)景的構(gòu)建。本文以Cesium開源框架為基礎(chǔ),結(jié)合GIS和Web前端技術(shù),開發(fā)了圖層管理、空間量算、信息查詢等模塊,實(shí)現(xiàn)了地質(zhì)公園的三維在線瀏覽,交互性好、運(yùn)行流暢,為游客帶來了全新的視覺體驗(yàn),能為構(gòu)建三維地質(zhì)公園提供可行的技術(shù)方法。