朱喬利,何成威,劉亦超
(湖北省水利水電規劃勘測設計院有限公司,湖北 武漢)
隨著信息技術的不斷升級,加快數字化發展,建設數字中國成為社會發展的核心主題之一。數字技術給各行各業帶來了廣泛的影響,全面融入了交通、建筑、水利、工業、農業等各領域和全過程,其中數字孿生技術的研究與應用逐漸成為行業各界關注的熱點技術[1]。
數字孿生可以理解為一種數字化的理念和技術手段,是物理世界與網絡世界虛實之間雙向映射、實時連接、動態交互的關鍵途徑[2],其基礎與核心就是數據與模型的集成融合。與傳統數據庫管理或二維平面管理系統相比,數字孿生需要充分利用實時監測數據、歷史數據以及實體模型,在統一數字空間內對物理空間場景要素進行多維模擬,提升信息全面性、表達多樣性、反饋實時性、精度準確性等。如今新型測繪技術和方法不斷進步,數據的獲取方式與成果多種多樣,積累了大量信息,同時多源異構問題相應突出。面對終端Web 化的趨勢,以及數字孿生在統一數字空間內實現多源數據的一體化展示的需求,開源三維地圖框架Cesium 能夠將不同來源、不同維度的數據集成展示,適用于地理空間數據動態可視化[3-4]。本文面向Cesium 支持的數據類型,通過對多源數據進行融合可視化方法的研究,實現三維地形、傾斜攝影模型、精細模型等三維數據,以及影像地圖、矢量對象等二維數據和行業專題數據的二三維一體化展示,并以水利工程場景多源數據為例展現了融合可視化效果,為數字孿生數據與模型集成融合提供參考。
Cesium 是開源JavaScript 庫,可創建前端三維地球數字空間,包括3D 虛擬地球和2D 地圖。因其基于WebGL 技術進行圖形可視化渲染,使用硬件加速且無插件,提供跨平臺和跨瀏覽器的功能,可快速高效地搭建空間地球Web 應用[5],所以本文以Cesium 作為多源數據融合可視化的基礎框架。
Cesium 提供對多種二維三維空間內的地理信息數據的可視化支持,主要包括影像柵格數據、地形數據、矢量數據、三維瓦片和三維模型等五類,同時對數據格式也有特定的要求(見表1)。

表1 Cesium 支持的數據類型及格式
Cesium 支持影像柵格數據切片與傳統二維GIS上的切片類似,切片后的文件格式為常規圖片png 或jpg,可在地圖引擎上瀏覽查看;地形數據Terrain 瓦片是Cesium 可解析的地形切片格式。矢量數據支持KML、GeoJson、TopoJson、CZML 等矢量數據組織格式,其中GeoJson 比較通用。
三維模型是數字孿生的重要基礎,GLTF 一般用于表示單個具體模型如汽車等,GLB 是其二進制文件格式。通過大規模三維模型如傾斜攝影模型、BIM、人工模型等能夠在數字空間中反映物理世界的真實內容,3D Tiles 是Cesium 團隊專門為此而設計的開放規范,便于高效進行可視化、共享和互操作等。
通過Cesium 提供的API(應用程序接口)可以調用以上各類數據到前端進行可視化渲染。除了上述地理空間數據格式外,Cesium 支持AJAX (異步JavaScript 和XML)技術[6],具備異步請求服務端各類數據的能力,因此還可訪問關系型數據庫存儲的對象屬性信息和行業專題數據。
數字孿生技術由最早構建航天飛行器孿生體,模擬航天器在軌工作狀態,發展到現在數字化建設的重要抓手。從最初的單一場景應用,到現在復雜城市系統和各專業領域的大場景構建,數字孿生匯聚越來越多的多源異構數據,包含全要素場景衍生數據(地理矢量、傾斜攝影、BIM、激光點云、人工模型等)、行業數據(城市、交通、建筑、水利等)、物聯感知數據(傳感器、智能終端等)多種類型數據。
本文從數字孿生基本思想的角度將孿生數據按照其作用概括為三大類:(1) 場景數據,主要用于構建物理實體的數字孿生體,實現物理對象及所在自然場景到計算機內數字化場景的等價映射;(2) 專業數據,是反映不同行業領域中主要物理對象在自然場景中運行的特征屬性、過程規律、歷史狀態等數據,在數字空間中,行業數據需要通過數字孿生體進行呈現;(3) 感知數據,是對自然界中物理實體和自然對象實時狀態的監測數據,感知數據掛載到數字孿生體可實現對物理世界的實時模擬。圖1 展示了數字孿生數據內涵基本分類到數據外延內容的豐富,隨著數字孿生技術的發展與廣泛應用,孿生數據的外延類型越來越多,單一模型已經無法滿足數字孿生場景的構建[7]。

圖1 孿生數據基本分類
專業數據與感知數據均以數字孿生體為載體展現,且大多以關系型結構化數據在數據庫中存儲調用。因此,本文主要針對構建數字孿生體的場景數據的處理與融合可視化方法進行介紹。
本文地理空間數據是孿生場景數據中對宏觀地理空間的數字描述,包括影像底圖、區域數字正射影像、地形、矢量要素等。影像、地形都屬于柵格數據,通常使用dem 或tif 格式存儲;矢量要素如測繪地形圖、規劃范圍線、工程布置圖等,常見的文件格式有shapefile 文件、dxf/dwg、kml/kmz 等。面向Cesium 支持的數據格式處理流程如圖2 所示。

圖2 地理空間數據處理流程
柵格數據和矢量數據均能通過數據處理工具轉換為Cesium 支持的格式,柵格數據量較大時,可通過網絡服務器工具進一步將切片文件發布為數據服務便于網絡調用。矢量數據可根據實際需求處理為本地Geojson 文件或直接發布為地圖服務,前者可在前端自定義多種樣式,較為靈活,后者則適合數據量較大時統一發布。
三維模型數據則是對孿生場景中自然物理對象的詳細映射,傾斜攝影模型生產工具大部分產生的結果是osgb 格式,BIM 數據格式則有多種,主要有.rvt、.dgn、.3dxml 等格式;人工模型數據主要格式有.fbx、.obj、.dae、.3ds 等。三維模型數據統一坐標基準后都可以處理為3D Tiles 文件或進一步發布為數據服務供Cesium 加載,對于單個或數量較少的人工模型可以轉換為.gltf 加載。三維模型數據處理流程如圖3 所示。

圖3 三維模型數據處理流程
3.3.1 影像分級加載
影像數據量通常較大,通過影像分級疊加實現在不同比例尺下不同精度和范圍的影像數據加載,提高影像數據的可視化效率。通常對全球范圍加載單張影像圖片,隨后調用全國影像服務、數字孿生應用區域高精度影像服務。對不同精度影像融合可視化能優化數據存儲空間,保證任何比例尺下三維球體表面影像的完整顯示和精度需求。
3.3.2 傾斜與BIM 融合傾斜攝影模型是對自然實景外部的三維映射,BIM 和人工模型則對場景中物理對象內外部精細模擬,例如建筑物室內場景。本文采用傾斜攝影模型壓平[8]后嵌入BIM 的方法實現兩者融合構建室內外結合的孿生場景(見圖4)。

圖4 傾斜與BIM 數據融合示意
3.3.3 數據集成管理
通過前文Cesium 數據支持分析可以看出Cesium的數據加載方式以讀取數據存儲地址或數據服務url地址為主,本文應用文件+關系型數據庫技術方法融合管理多源數據,即文件存儲數據主體、數據庫存儲元數據和目錄等信息,數據庫中增加url 字段存儲文件主體的地址,與屬性數據統一管理。
基于上述多源數據融合可視化技術和Cesium 框架,開發了某水利工程數據融合可視化應用,如圖5所示,主要包括影像、地形、水系矢量、傾斜攝影模型、BIM 等數據,另外點擊模型顯示物理對象附帶的屬性數據。利用Cesium API 開發接口實現以上各類數據的加載:ImageryProvider 類加載影像數據,TerrainProvider 類載入地形數據,GeoJsonDataSource則讀取矢量數據,3D Tiles 數據由Cesium3D Tileset類加載。

圖5 多源數據融合可視化應用實例
本文在分析Cesium 支持的數據類型和數字孿生多源數據融合可視化需求的基礎上,對多源數據處理和融合可視化的關鍵技術方法進行了研究,實現了影像、地形、矢量要素和三維模型數據常用格式向Cesium 支持數據格式的轉換和數據融合集成管理,并以某水利工程場景為例,通過Cesium 框架開發實現多源數據融合可視化應用,為數字孿生場景構建提供了一定的參考借鑒。