付兵杰,夏金梧,丁凡椏,李 書,范 萌,李亞虎
(1. 長江勘測規劃設計研究有限責任公司,湖北 武漢 430010;2. 水利部長江勘測技術研究所,湖北 武漢 430011)
巖體聲發射是指巖體內部的成分結構和存在的缺陷等自然因素在外加荷載作用下,應變能積蓄到特定閾值,以彈性波的形式釋放,由聲發射源向四周擴散所產生的現象[1-2]。聲發射技術在水利水電樞紐區開挖形成的人工邊坡以及自然高危邊坡,尤其是水庫建設中形成的庫區崩塌型岸坡、硬質巖邊坡等臨滑時期穩定性監測預報方面具有較強的優勢。聲發射的水平、聲源的空間分布直接反映邊坡的變形動態。通過合理的聲發射接收信號布設方案,監測滑坡或崩塌體臨滑時產生的聲發射信號;再利用聲發射聲源定位功能,定位臨滑點,對滑坡變形過程進行實時動態監控和預警預報,追蹤滑坡破裂面的發展,從而準確評價滑坡的穩定性。傳統邊坡聲發射監測系統多采用C/S 架構,數據庫存儲在本地,數據展示和分析以客戶端軟件為主,缺少瀏覽器端直觀的三維場景構建,適合在局域網中運行,在系統兼容、升級拓展、數據共享和用戶體驗等方面有待提升。隨著Web技術的發展,前后端分離的B/S 架構逐漸成為軟件設計和開發的主流模式,SpringBoot、Cesium 等相關技術被廣泛應用于水質監測[3]、動態洪澇管理[4-5]、礦山管理[6]、水文預報[7]、流域虛擬場景搭建[8]、地下三維管網[9]等領域,可有效彌補C/S架構的不足。
本文以湖北省秭歸縣郭家壩鎮邊坡、江西省新余市某礦山邊坡為例,基于SpringBoot[10-11]和Cesium[12-13]設計并構建了B/S 架構下的邊坡聲發射監測系統。系統將數據的獲取、存儲和發布設計為獨立的后端數據模塊,前端通過API 接口獲取后端數據,實現了前、后端分離;設計了三維場景可視化、監測數據管理、在線統計分析、監測預警預報、系統設置等功能,為邊坡地質災害在線智能監測提供了全方位、立體化、動態化的示范性應用。
根據邊坡聲發射監測的業務需求和應用場景,系統采用5 層架構,即支撐層、數據層、服務層、應用層和用戶層。支撐層主要為系統提供軟硬件底層支持,包括數據獲取終端和基礎設施,是保障系統穩定高效運行的必要前提。聲發射監測儀用于聲發射信號的采集、降噪、優化和定位計算等操作。無人機可搭載航測相機、激光雷達等設備,用于獲取邊坡影像、地形等相關地理空間數據。數據處理軟件包括CesiumLab、ArcGIS、ERDAS 等,用于影像和地形數據的輸入、輸出、增強、糾正、融合、拼接、裁剪和切片等基礎操作。數據層主要負責各類數據的統一組織、存儲和管理。地理空間數據屬于非結構化數據,用于提供統一的空間框架支撐。業務數據和支撐數據為結構化數據,存儲在關系型數據庫中,業務數據主要包括監測場地、探頭傳感器、聲發射源、信號波形、參數設置、操作命令等;支撐數據主要包括用戶信息、權限控制、日志數據等。服務層以服務的形式對數據進行處理、整合和發布。Web服務器是服務發布和前后端數據交互通信的基礎載體。地理空間數據引擎基于Cesium API 發布地理信息服務,包括影像瓦片服務、地形瓦片服務、在線基礎地理數據公共服務、聲源和探頭對象動態標注服務等。關系型數據引擎以RESTful風格API的形式對外發布服務,包括聲源屬性查詢服務、探頭屬性查詢服務、信號波形查詢服務、聲源關聯探頭分析服務、聲源關聯信號波形查詢服務、報表統計分析服務、用戶管理服務、系統設置服務等。應用層基于服務層的接口,通過瀏覽器端可視化界面實現數據的在線瀏覽、查詢、管理和分析,包括三維場景可視化、監測數據管理、在線統計分析、監測預警預報、系統設置等功能。用戶層主要根據不同權限對用戶角色進行劃分,普通用戶負責三維可視化場景、在線統計分析圖表、預警預報結果的瀏覽查看;后臺管理人員負責監測數據的編輯與管理;超級管理員負責系統設置和用戶管理,以及普通用戶和后臺管理員的全部權限。
聲發射監測儀通常包括探頭、信號采集器、通信傳輸模塊、上位機、蓄電池等部分。探頭按照一定的規則布設在邊坡上,聲發射信號由探頭傳感器獲取和轉換后,經信號采集器處理、采集、收發,由通信傳輸單元發送至上位機,經降噪、優化和定位計算等處理,得到聲源發生位置、預警等級等信息,再上傳至Web服務器的關系型數據庫中。
系統功能模塊包括5 個一級模塊和18 個二級模塊,如圖1所示。
假設某一聲發射源信號被探頭i、j響應,則信號傳播方程式為:
式中,x、y、z為聲發射源的空間坐標;t為信號發射時間;v為信號傳播速度;si(x,y,z) 、sj(x,y,z)分別為探頭i、j到聲發射源的響應距離;ti、tj分別為探頭i、j的信號接收時間;(xi,yi,zi)、(xj,yj,zj)分別為探頭i、j的空間坐標。
在實際應用中,邊坡的內部構成總體差異不大,視為各向同性均勻材料,即假定聲發射信號在邊坡內部的傳播速度是相等的,一般可通過實驗方法測定。
兩個探頭響應距離的差值為:
將sij、xi、yi、zi、xj、yj、zj視為已知觀測值,x、y、z視為未知量,則線性化誤差方程為:
式中,lij=(sij)-sij;(sij)為將未知量近似值代入公式計算所得。
當聲發射源信號被多個探頭響應時,可聯立公式構成方程組,矩陣形式為:
根據最小二乘法,其法方程為:
可求出未知數的解為:
迭代過程中,當未知量改正數小于規定閾值時,迭代過程終止。理論上建立4 個方程組即可求解聲發射源的空間坐標;實際應用中為了提高解算精度,常有多余觀測方程,即至少需要4 個探頭響應到該聲發射源的信號。
根據系統總體架構,數據層包括地理空間數據、業務數據、支撐數據3 類,具有文本、信號、影像、地形、矢量等多種形式,表現出數據量大、來源各異、維度多樣、結構不統一、時空兼顧等特點。為保證數據的完整性和一致性,需對其進行分類、提取、處理、關聯和融合,規化到統一的空間基準和時間基準上,構建多源多維異構數據的一體化存儲和發布體系,實現瀏覽器端統一高效的數據可視化框架。
聲發射監測業務數據和支撐數據包括監測場地、探頭、聲發射源等空間對象的位置和屬性信息,以及系統實施過程中產生的大量非空間數據,如監測儀器布設時的參數設置數據、運行時的操作命令數據和日志數據、事件響應時的信號波形數據等。將這些數據統一設計為結構化數據,存儲在關系型數據庫中,可在數據輸入時保證時空尺度、格式、編碼、分類的一致性。各數據表格通過唯一的標識ID進行關聯,如聲發射源表通過ID 關聯監測場地、探頭和波形信號等。系統布設時將監測場地和探頭的位置、屬性信息以及參數設置信息錄入數據庫;系統運行時將操作命令、日志和信號波形數據以固定格式實時上傳至數據庫,聲發射源的位置、屬性信息經監測儀處理和計算后上傳。業務數據和支撐數據具有數據量大、時空性強、變化頻率高等特點,系統采用基于服務的方式對其進行統一發布,可快速實現信息共享和版本更新。用戶通過服務定義的API接口調用數據,保證了數據的安全性和一致性,實現了空間對象與非空間數據在接口層面的融合。
地理空間數據包括三維場景數據、矢量圖層數據和在線基礎地理數據。三維場景數據主要利用無人機平臺搭載航測相機或激光雷達,多角度獲取邊坡及其周邊的真實影像數據和地形數據,再利用三維建模軟件,經導入、對齊、密集點云生成、紋理生成等步驟獲取。由于三維場景數據特別是高清影像往往數據量較大,直接以文件的形式提供服務,會影響瀏覽速度和用戶體驗。系統采用預生成瓦片服務的形式,即預先在服務器中對影像和地形數據進行分級切片,瀏覽器端調用時根據顯示范圍和比例尺對切片數據進行拼接后返回客戶端,經Cesium相關API實現模型渲染、融合和場景構建。影像和地形在切片時要保證空間參考、切片層級、算法的一致性,避免融合時出現裂縫和鬼影。為了構建矢量圖層數據,基于Ajax調用API接口獲取探頭、聲發射源的信息,基于三維場景底圖數據進行幾何要素的繪制和標注,實現了監測對象結構化數據向矢量圖層數據的轉化。利用天地圖API加載在線基礎地理數據,與矢量圖層數據、三維場景數據實現在Cesium引擎環境統一時空基準下的融合。此外,在三維場景中對監測對象矢量進行點擊查詢操作時,可基于Ajax調用相關聯的非空間數據在瀏覽器端進行瀏覽和分析,實現空間數據與非空間數據在用戶界面的融合。
結構化、更新頻率高的業務數據和支撐數據,通過服務接口的形式動態提供;數據量大、更新頻率低的三維場景數據采用預生成瓦片服務的形式提供,這種發布方式實現了監測對象、非空間數據與三維場景數據在瀏覽器端的有效融合,提升了瀏覽效率,保證了數據的快速更新,且兼容性較好,不受操作系統和瀏覽器的限制,為未來應用拓展至智能手機平臺提供了基礎。
基于探頭和聲源對象的二維屬性信息,對探頭掃描和聲源擴散進行動態效果仿真,可增加監測數據的直觀性、形象性和生動性,提升用戶體驗。PostProcessStage是Cesium中的場景后期處理類,用于對場景或對象進行紋理、顏色渲染。系統首先基于Ajax請求從RESTful 風格API 接口獲取探頭、聲源對象的個數和屬性信息,并利用PostProcessStageLibrary 創建探頭、聲源的“效果對象”,得到多個PostProcessStage-Composite;然后將其加入PostProcessStageCollection 集合中,并設置fragmentShader、uniforms 等參數信息;最后根據對象加入的順序,進行屏幕后期處理,將仿真效果實時繪制到屏幕上。考慮到動態效果與地形起伏的一致性,避免多視角瀏覽時動態效果的“漂浮”現象,系統設置“效果對象”貼地顯示。
根據探頭的掃描特性和聲源的發射擴散特性,分別采用雷達掃描、波形擴散的形式對探頭、聲源進行動態模擬。設置PostProcessStage 類的fragmentShader、uniforms 參數,可實現對特效位置、顏色、紋理和動畫的設計。將探頭和聲源的屬性信息融入這些參數中,可實現二維屬性與三維特效的動態綁定和有機統一。對于探頭,其位置屬性為雷達掃描中心,探測距離為雷達掃描半徑,探測周期為雷達掃描持續時間;對于聲源,其位置屬性為波形擴散中心,發射最大距離為波形擴散半徑,發射周期為波形擴散持續時間。
系統以湖北省秭歸縣郭家壩鎮邊坡、江西省新余市某礦山邊坡為例構建。聲發射監測儀按照一定的規則布設在邊坡上,利用大疆無人機M300 獲取影像、地形數據,基于Cesium Lab軟件進行切片,影像切片采用PNG格式,地形切片采用Terrain格式。業務數據和支撐數據存儲在MySQL 數據庫中。系統采用B/S 架構,Web 應用服務器采用Tomcat,后端采用Spring-Boot、MyBatis[11]技術實現RESTful[7]風格的API 接口體系,以JAR 包的形式發布服務;前端采用HTML、Javascript、CSS語言實現系統界面,基于Ajax技術提交請求到后端,服務器收到請求后調用JAR包響應,獲取數據后在前端進行渲染和展示,利用Cesium作為影像、地形數據和監測對象的三維可視化引擎。
三維場景可視化主要包括監測場地的邊坡漫游、空間量測、空間查詢、圖層管理等功能。邊坡漫游主要包括平移、放大縮小、視角調整、地圖復位、三維漫游等地圖操作,當前位置(經緯度、視角高)、視角(航向角、俯仰角)、比例尺的實時顯示以及指北針等功能。空間量測主要包括距離、面積的不間斷量測以及量測結果的清除。空間查詢主要包括監測邊坡、探頭、聲源的屬性查詢。圖層管理主要包括天地圖影像、天地圖地名、探頭、聲源等圖層的管理。湖北省秭歸縣郭家壩鎮邊坡、江西省新余市某礦山邊坡的三維場景構建以及空間量測、空間查詢功能見圖2。

圖2 三維場景可視化結果
監測數據管理主要包括業務數據和支撐數據表格的查詢、編輯、排序、篩選、導出和打印等功能以及信號波形數據的可視化,可分為聲發射源、探頭、波形數據、參數設置、狀態/環境5類。聲發射信號波形數據可視化見圖3,支持數據視圖、圖片保存、柱狀圖/折線圖切換。

圖3 聲發射信號波形數據可視化
在線統計分析主要對探頭、聲發射源等監測對象的分布和狀態信息進行統計匯總、關聯分析,以柱狀圖和餅圖的形式展現,便于用戶了解相關情況。統計圖表基于Ajax 請求的統計數據和ECharts[10]插件實現(圖4)。探頭和聲源的分布主要統計各監測場地的數量;探頭狀態主要統計各監測場地正常運行、待維修、維修中、未啟用的探頭數目;聲源預警主要統計各監測場地紅色預警、橙色預警、黃色預警、藍色預警的聲源數目。邊坡預警等級劃分根據GB50330-2013《建筑邊坡工程技術規范》和《三峽庫區高切坡監測預警系統實施方案》等相關規程規范確定。
監測預警預報主要是對探頭掃描監測、聲發射源擴散進行模擬仿真,以及對一些關注的匯總參數和預警指標進行統計和時空分析,便于用戶及時獲取預警險情,包括實時指標預警、預報等級分析、探頭雷達圖和聲源擴散圖。實時指標預警主要負責實時監測探頭、聲源、信號波形、用戶等總數以及紅色、橙色、黃色、藍色預警聲源數目。預報等級分析主要統計不同等級聲源的分布情況和隨時間的變化趨勢。探頭雷達圖主要根據傳感器的監測范圍,在三維場景中進行貼地模擬、掃描仿真。聲源擴散圖主要根據聲源的擴散范圍和預警等級,在三維場景中進行貼地模擬、擴散仿真。圖5 中探頭雷達采用藍色掃描線,聲源擴散圖采用紅色波紋。
系統設置主要包括用戶數據、日志數據、數據字典的查詢、編輯、添加、刪除、導出和打印等功能。
針對邊坡聲發射監測問題,采用B/S 開發架構,設計并實現了一套邊坡聲發射監測系統。后端基于SpringBoot+MyBatis 統一封裝業務并發布RESTful 風格的API 接口,代碼易維護,數據共享便捷,擴展性強,兼容性好;前端基于Cesium+LayUI+ECharts 進行了界面設計和三維可視化仿真,數據表現形式豐富,用戶體驗直觀明了。該系統在多源多維異構數據的融合、發布與可視化,探頭雷達掃描和聲源波形擴散的動態效果仿真等方面進行了改進和完善,具有一定的實際應用價值和推廣前景,在功能的豐富程度和應用平臺(如智能手機)拓展方面有進一步完善的空間。