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