王志輝,王春博,張學(xué)利*,宋震,馬娜,吳彬,顧德清,趙永明,劉曉
1.有色金屬華東地質(zhì)勘查局, 江蘇 南京 210007
2.河北省煤田地質(zhì)局物測(cè)地質(zhì)隊(duì),河北 邢臺(tái) 054000
隨著互聯(lián)網(wǎng)、空間信息技術(shù)的發(fā)展,空間數(shù)據(jù)共享與服務(wù)不斷成為了地學(xué)領(lǐng)域的研究熱點(diǎn)。一般在遵循 OGC (開(kāi)放地理信息聯(lián)盟) 規(guī)范基礎(chǔ)上,搭建SOA (面向服務(wù)的架構(gòu)) 體系,將數(shù)據(jù)以 OGC WMS(網(wǎng)絡(luò)地圖服務(wù)) 發(fā)布數(shù)據(jù)來(lái)實(shí)現(xiàn)。Carlos Granell[1]、Benjamin D.Best[2]、Feng M[3]、Fitch P[4]等基于 SOA和 OGC 規(guī)范,構(gòu)建了各自領(lǐng)域的服務(wù)共享系統(tǒng),很好的解決了數(shù)據(jù)共享問(wèn)題,取得了較好的應(yīng)用[5-10]。與此同時(shí),隨著 WebGL 技術(shù)的應(yīng)用,王磊[11]、朱麗萍[12]、周陽(yáng)[13]等基于三維構(gòu)建了各自的地學(xué) 3D (三維) 應(yīng)用系統(tǒng),這些應(yīng)用系統(tǒng)豐富了地學(xué)數(shù)據(jù)的可視化表達(dá),提供了更加飽滿、立體的數(shù)據(jù)可視化效果。
在地學(xué)信息化 web 服務(wù)共享中,由于技術(shù)應(yīng)用研究關(guān)注點(diǎn)不同,利用 webGL 技術(shù)調(diào)用 OGC WMS 服務(wù)的研究并不多見(jiàn)。但是基于 webGL 技術(shù)調(diào)用 OGC WMS 服務(wù)的好處是顯而易見(jiàn)的:一是空間數(shù)據(jù)提供者不需要關(guān)注客戶端展示,只需要按照標(biāo)準(zhǔn)提供符合OGC 規(guī)范的標(biāo)準(zhǔn);二是客戶端應(yīng)用不再關(guān)心數(shù)據(jù)結(jié)構(gòu),只需要支持 OGC WMS 解析標(biāo)準(zhǔn)。最終實(shí)現(xiàn)了數(shù)據(jù)服務(wù)提供者與客戶端展示的分離,可以極大提供空間數(shù)據(jù)服務(wù)的開(kāi)發(fā)效率,具有廣闊的應(yīng)用場(chǎng)景。
本文首先簡(jiǎn)要介紹了 WebGL 和 OGC WMS 的相關(guān)概念,以空間數(shù)據(jù)為研究對(duì)象構(gòu)建了原型系統(tǒng),設(shè)計(jì)了體系架構(gòu)、數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)及分類,并從原型系統(tǒng)實(shí)現(xiàn)上介紹了開(kāi)發(fā)環(huán)境、WMS 數(shù)據(jù)服務(wù)的發(fā)布等過(guò)程,最后,以丹陽(yáng)市城市地質(zhì)數(shù)據(jù)為實(shí)驗(yàn)對(duì)象,實(shí)現(xiàn)了該地區(qū)空間數(shù)據(jù)服務(wù)的發(fā)布與場(chǎng)景瀏覽。實(shí)驗(yàn)證明,該體系可在瀏覽器中提供良好的交互式三維可視化體驗(yàn),同時(shí),能夠?qū)?OGC 相關(guān)服務(wù)標(biāo)準(zhǔn)集成展示,可以在空間數(shù)據(jù)服務(wù)中推廣使用。
WebGL 技術(shù)是 2009年8 月由 Khronos 提出一種繪圖技術(shù),它是一個(gè)跨平臺(tái)、免費(fèi)的、用于在 Web瀏覽器創(chuàng)建三維圖形的 API (應(yīng)用程序接口)。可以直接在 HTML5 的 Canvas 元素中繪制三維動(dòng)畫(huà)并提供硬件三維加速渲染,利用 WebGL 實(shí)現(xiàn) Web3D 不需要安裝瀏覽器插件,只需要編寫(xiě)網(wǎng)頁(yè)代碼即可實(shí)現(xiàn)三維圖像的展示[14]。WebGL 的優(yōu)勢(shì)主要表現(xiàn)三個(gè)方面:一是通過(guò) JavaScript 實(shí)現(xiàn)網(wǎng)絡(luò)交互式三維動(dòng)畫(huà)制作??蛻舳瞬恍枰惭b插件即可支持三維圖形展示及 GPU硬件加速;二是 WebGL 具有開(kāi)放性;三是利用底層的圖形硬件加速功能進(jìn)行圖形渲染,促使 Web 開(kāi)發(fā)人員借助系統(tǒng)顯卡來(lái)在瀏覽器里更流暢地展示三維場(chǎng)景和模型,同時(shí)還能創(chuàng)建復(fù)雜的導(dǎo)航和數(shù)據(jù)視覺(jué)化。
在三維無(wú)插件地質(zhì)數(shù)據(jù)服務(wù)體系設(shè)計(jì)中,考慮了以下幾個(gè)方面的情況:一是空間數(shù)據(jù)服務(wù)進(jìn)行復(fù)用,這個(gè)是系統(tǒng)架構(gòu)設(shè)計(jì)的第一原則,否則系統(tǒng)應(yīng)用升級(jí)或第三方服務(wù)集成時(shí)需要重新研發(fā),造成研發(fā)系統(tǒng)的浪費(fèi);二是前臺(tái)可視化無(wú)插件模式的設(shè)計(jì),當(dāng)今瀏覽器更新速度極快,插件式三維模式無(wú)法快速適應(yīng)版本的變更,會(huì)造成用戶體驗(yàn)效果極差,采用純?yōu)g覽器的無(wú)插件模式,能夠保證用戶體驗(yàn);三是空間數(shù)據(jù)服務(wù)和可視化之間保持松耦合關(guān)系,網(wǎng)站變更不影響可視化效果。
圖1 空間數(shù)據(jù)服務(wù)體系架構(gòu)圖Fig.1 Architecture of Spatial Data Service
綜合考慮以上架構(gòu)設(shè)計(jì)原則,構(gòu)建了三維無(wú)插件空間數(shù)據(jù)服務(wù)體系架構(gòu)。其架構(gòu)主要由以下兩部分構(gòu)成 (圖 1):
(1) 空間數(shù)據(jù)服務(wù)發(fā)布模塊。主要是進(jìn)行二維和三維數(shù)據(jù)服務(wù)的發(fā)布,一般是對(duì)圖件數(shù)據(jù)、空間要素?cái)?shù)據(jù)或第三方標(biāo)準(zhǔn) OGC 服務(wù)數(shù)據(jù)利用 GIS 服務(wù)器進(jìn)行發(fā)布的過(guò)程,現(xiàn)有的GIS供應(yīng)商一般都支持 OGC 標(biāo)準(zhǔn)協(xié)議,提供 GetCapabilites、GetMap 和 GetFeatureInfo的查詢接口,利用軟件管理界面,通過(guò)一步一步整理與操作,即可發(fā)布遵循 OGC WMS 標(biāo)準(zhǔn)的數(shù)據(jù)服務(wù);三維數(shù)據(jù)主要遵循 khronos gltf 數(shù)據(jù)格式標(biāo)準(zhǔn),對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)變成標(biāo)準(zhǔn)數(shù)據(jù)格式,提供給可視化模塊調(diào)用。其中g(shù)ltf格式為文本格式,也可以自己開(kāi)發(fā)轉(zhuǎn)換程序。
(2) 無(wú)插件可視化模塊。主要對(duì)空間數(shù)據(jù)服務(wù)器的二三維數(shù)據(jù)進(jìn)行管理與處理操作,以此提供豐富的場(chǎng)景應(yīng)用。一般二維 OGC 數(shù)據(jù)和三維數(shù)據(jù)分開(kāi)管理,其中 OGC 數(shù)據(jù)主要進(jìn)行 resolution 設(shè)置與樣式渲染操作,三維數(shù)據(jù)管理主要包括數(shù)據(jù)加載、緩存設(shè)置與抽析?;跀?shù)據(jù)管理模塊對(duì)外提供場(chǎng)景抬升、場(chǎng)景飛行、透明度變換、場(chǎng)景切換、圖層加載等應(yīng)用功能。
空間數(shù)據(jù)服務(wù)平臺(tái)數(shù)據(jù)庫(kù)按照應(yīng)用劃分為圖件工程數(shù)據(jù)庫(kù)、空間數(shù)據(jù)庫(kù)、三維數(shù)據(jù)庫(kù)和 OGC 服務(wù)注冊(cè)庫(kù)四大類:其中圖件工程主要為 ArcGIS 工程數(shù)據(jù),以 mxd 文檔進(jìn)行管理,其相關(guān)元數(shù)據(jù)信息存儲(chǔ)于關(guān)系數(shù)據(jù)庫(kù)中;空間數(shù)據(jù)庫(kù)主要存儲(chǔ)空間要素類數(shù)據(jù),存儲(chǔ)于空間數(shù)據(jù)庫(kù)中;三維數(shù)據(jù)庫(kù)以文件目錄形式存儲(chǔ)與 NAS 數(shù)據(jù)庫(kù)中;OGC 服務(wù)注冊(cè)庫(kù)主要是以 OGC 服務(wù)發(fā)布的服務(wù)元數(shù)據(jù)表,如表 1所示。
三維無(wú)插件地質(zhì)數(shù)據(jù)服務(wù)體系開(kāi)發(fā),主要包括實(shí)施環(huán)境的搭建、OGC WMS 服務(wù)發(fā)布流程、系統(tǒng)部署環(huán)境等。
網(wǎng)站采用 Play 框架開(kāi)發(fā),使用 Java 開(kāi)發(fā)語(yǔ)言,主要集成三維可視化場(chǎng)景和資源目錄導(dǎo)航;
三維可視化引擎采用 Cesicum,該引擎是基于WebGL 技術(shù)針對(duì)地學(xué)三維場(chǎng)景的應(yīng)用引擎;城市地質(zhì)圖件采用 ArcGIS Server 發(fā)布基于 OGC WMS的數(shù)據(jù)服務(wù);Web 服務(wù)器、消息調(diào)度服務(wù)器、負(fù)載均衡服務(wù)器、等統(tǒng)一部署于 Docker 環(huán)境下[15-16],采用工具[17-18]如表 2。
空間數(shù)據(jù),尤其地質(zhì)空間數(shù)據(jù)的服務(wù)共享,核心是基于 WebGIS 技術(shù)??臻g數(shù)據(jù)服務(wù)發(fā)布的過(guò)程分手動(dòng)發(fā)布與自動(dòng)發(fā)布兩種方式,手動(dòng)發(fā)布根據(jù) GIS 提供商步驟一步步操作發(fā)布即可,自動(dòng)發(fā)布一般通過(guò)腳本文件調(diào)用服務(wù)發(fā)布接口,通過(guò)程序執(zhí)行達(dá)到服務(wù)發(fā)布的目的,不同的軟件服務(wù)發(fā)布的步驟有差異,但是OGC 標(biāo)準(zhǔn)是統(tǒng)一的,本研究中 OGC 發(fā)布服務(wù)發(fā)布平臺(tái)采用 ArcGIS Server 作為 WebGIS,進(jìn)行城市空間數(shù)據(jù)的發(fā)布。包括城市地質(zhì)鉆孔、地層等數(shù)據(jù)通過(guò) Rest接口形式提供接口調(diào)用。
表1 OGC 服務(wù)注冊(cè)庫(kù)名稱、代號(hào)及類型Table 1 Parameter name, code name and type of ogc service database
空間數(shù)據(jù)共享平臺(tái)所有應(yīng)用服務(wù)均部署于虛擬化云環(huán)境中,采用 Docker 進(jìn)行服務(wù)的封裝,根據(jù)應(yīng)用分類進(jìn)行劃分:網(wǎng)站及負(fù)載均衡節(jié)點(diǎn),主要是部署原型系統(tǒng)和負(fù)載均衡;調(diào)度節(jié)點(diǎn),主要部署消息隊(duì)列負(fù)責(zé)各節(jié)點(diǎn)之間通訊與數(shù)據(jù)傳輸。結(jié)構(gòu)化存儲(chǔ)服務(wù)節(jié)點(diǎn),主要是數(shù)據(jù)庫(kù)集群節(jié)點(diǎn);非結(jié)構(gòu)化存儲(chǔ)服務(wù)節(jié)點(diǎn),主要是 NAS 服務(wù)器,存儲(chǔ)三維模型數(shù)據(jù);地質(zhì)圖服務(wù)節(jié)點(diǎn),主要是 arcgis Server 服務(wù)器發(fā)布 WMS等服務(wù)。
丹陽(yáng)地處長(zhǎng)江三角洲、上海經(jīng)濟(jì)圈走廊,位于江蘇省南部,屬太湖流域片區(qū)。東距國(guó)際大都市上海 200 公里,西距省城南京 68 公里;東與常州市武進(jìn)區(qū)、新北區(qū)相鄰,西與鎮(zhèn)江市區(qū)、句容市相連,南與金壇接壤。丹陽(yáng)從 1924 年就開(kāi)展了區(qū)域地質(zhì)調(diào)查、物化遙勘察,是城市地質(zhì)調(diào)查試點(diǎn)城市。主要功能包括:場(chǎng)景漫游、地層鉆孔抬升模擬、三維圖層透明度設(shè)置、WMS 服務(wù)解析與顯示等,由于地質(zhì)數(shù)據(jù) (鉆孔等數(shù)據(jù)) 有部分為涉密數(shù)據(jù),應(yīng)用以地層抬升和 WMS 自動(dòng)化解析為例,展示了數(shù)據(jù)應(yīng)用效果。
地層抬升是將城市地質(zhì)要素地質(zhì)地層、鉆孔等通過(guò)高程拉伸,從二維平面角度切換成三維空間體系形式,更加立體的查看鉆孔、地層數(shù)據(jù)的空間分布特征,并通過(guò)地層抬升模式,可以查看地層內(nèi)部的地質(zhì)特征,同時(shí),更生動(dòng)的模擬了城市地質(zhì)數(shù)據(jù)從平面向三維立體的動(dòng)態(tài)演示過(guò)程。
當(dāng)今空間數(shù)據(jù)服務(wù)的共享,都是遵循了 OGC WMS 等協(xié)議,以此實(shí)現(xiàn)數(shù)據(jù)客戶端與服務(wù)端的分離,解決了服務(wù)耦合性與重用性問(wèn)題。平臺(tái)在支持三維模型數(shù)據(jù)的基礎(chǔ)上,遵循 OGC WMS 協(xié)議,支持基于 OGC WMS 協(xié)議發(fā)布的地質(zhì)圖層加載與顯示。見(jiàn)圖3 加載土地質(zhì)量評(píng)價(jià)采樣點(diǎn)分布圖。
表2 平臺(tái)開(kāi)發(fā)工具列表Table 2 Platform Development Tool
圖2 地層抬升效果圖Fig.2 Stratigraphic uplift effect map
圖3 遵循 OGC WMS 發(fā)布的土地質(zhì)量評(píng)價(jià)采樣點(diǎn)分布圖顯示Fig.3 Land quality assessment sampling point distribution map based OGC WMS
空間信息服務(wù)的發(fā)展是以數(shù)據(jù)共享和應(yīng)用為目標(biāo),信息服務(wù)的標(biāo)準(zhǔn)化,可以提供服務(wù)的利用率,減少重新開(kāi)發(fā)的耗時(shí)成本。同時(shí),提供更便捷與交互式的可視化成果是空間信息服務(wù)推廣的重要手段,基于以上兩方面的分析,本文提出了一種三維無(wú)插件展示空間數(shù)據(jù)服務(wù)的體系,對(duì)系統(tǒng)的架構(gòu)及存儲(chǔ)結(jié)構(gòu)進(jìn)行了設(shè)計(jì),同時(shí)開(kāi)發(fā)了系統(tǒng)介紹了環(huán)境的搭建、服務(wù)的發(fā)布等過(guò)程,最后以丹陽(yáng)市城市地質(zhì)數(shù)據(jù)為應(yīng)用實(shí)例,初步實(shí)現(xiàn)了原型系統(tǒng),與傳統(tǒng)的三維地質(zhì)可視化平臺(tái)相比,平臺(tái)不依賴于任何客戶端或?yàn)g覽器插件,采用純 javascript 實(shí)現(xiàn),方便了用戶瀏覽或訪問(wèn)數(shù)據(jù);與通用的 web 地學(xué)處理軟件系統(tǒng)相比,系統(tǒng)提供了三維場(chǎng)景交互式應(yīng)用效果,極大的提高了用戶的交互式體驗(yàn),滿足了互聯(lián)網(wǎng)下的應(yīng)用需求。接下來(lái),系統(tǒng)將注重解決三維模型算法服務(wù),將地質(zhì)處理算法等共享服務(wù)移植到云環(huán)境中,提供更大范圍的應(yīng)用實(shí)踐。