王國(guó)聞 臧燁祺 吳升杰 郭永剛
(西藏農(nóng)牧學(xué)院,西藏 林芝 860000)
大壩強(qiáng)震監(jiān)測(cè)分析技術(shù)隨著計(jì)算機(jī)技術(shù)及網(wǎng)絡(luò)通信技術(shù)的發(fā)展,各種數(shù)學(xué)理論與方法的完善,不再是簡(jiǎn)單的記錄獲取、簡(jiǎn)單的譜分析技術(shù)。它是一個(gè)包含地質(zhì)學(xué)、水工結(jié)構(gòu)、結(jié)構(gòu)動(dòng)力學(xué)、數(shù)學(xué)、電子技術(shù)、計(jì)算機(jī)等多學(xué)科交叉融合的應(yīng)用技術(shù)。與傳統(tǒng)的水電工程安全監(jiān)測(cè)手段相比,大壩強(qiáng)震監(jiān)測(cè)在安全方面有其獨(dú)特的優(yōu)勢(shì),強(qiáng)震監(jiān)測(cè)為實(shí)時(shí)監(jiān)測(cè),能夠第一時(shí)間發(fā)現(xiàn)大壩異常,為震后救災(zāi)工作、驗(yàn)證大壩安全性及抗震結(jié)構(gòu)設(shè)計(jì)合理性提供幫助。目前,我國(guó)對(duì)于大壩抗震監(jiān)測(cè)以及相關(guān)數(shù)據(jù)的處理雖在不斷發(fā)展,但還是據(jù)西方國(guó)家有不小的差距,特別是在西藏地區(qū)。由于西藏地區(qū)發(fā)展水平的限制,目前仍處于起步階段,但西藏水資源豐富,擁有相當(dāng)數(shù)量的大壩,而西藏地震帶眾多,因此,大壩強(qiáng)震監(jiān)測(cè)系統(tǒng)對(duì)于西藏來(lái)說(shuō)是十分需要且迫切需要的,本系統(tǒng)采用B/S 結(jié)構(gòu),與傳統(tǒng)C/S 結(jié)構(gòu)開發(fā)的強(qiáng)震監(jiān)測(cè)系統(tǒng)相比具有升級(jí)簡(jiǎn)單、表現(xiàn)方法多樣、跨平臺(tái)性、維護(hù)開銷小等優(yōu)點(diǎn)。同時(shí),結(jié)合WebGIS 技術(shù)方便科研人員對(duì)震源機(jī)制、傳播途徑等深入研究及管理人員準(zhǔn)確定位監(jiān)測(cè)點(diǎn)、監(jiān)測(cè)臺(tái)站等地理信息。
由于B/S 架構(gòu)具有總體擁有成本低、維護(hù)簡(jiǎn)單、開發(fā)簡(jiǎn)單、跨平臺(tái)、無(wú)需安裝,可以通過(guò)瀏覽器軟件隨時(shí)隨地的進(jìn)行業(yè)務(wù)操作。由于客戶端采用瀏覽器軟件,故無(wú)需維護(hù)服務(wù)端軟件。同時(shí),系統(tǒng)的擴(kuò)展非常容易,只需要修改服務(wù)端代碼就可以實(shí)現(xiàn)系統(tǒng)更新擴(kuò)展。基于以上優(yōu)勢(shì),采用B/S 架構(gòu)構(gòu)建強(qiáng)震監(jiān)測(cè)分析系統(tǒng)??傮w結(jié)構(gòu)包括Web 客戶端、服務(wù)端、數(shù)據(jù)存儲(chǔ)端、采集端四部分構(gòu)成。
1.1.1 Web 客戶端。Web 客戶端又稱用戶端,與服務(wù)端向?qū)?yīng),提供用戶交互界面,處理少量的事務(wù)邏輯,同時(shí)將服務(wù)器響應(yīng)的各種Web 資源以圖表、圖像等形式呈現(xiàn)給用戶。本系統(tǒng)采用Arc GIS API for JavaScript、html、jquery、JavaScript 等開發(fā)客戶端界面,以google 瀏覽器為界面展示瀏覽器,發(fā)送請(qǐng)求到服務(wù)器并將服務(wù)器的返回結(jié)果進(jìn)行展示。
1.1.2 服務(wù)端。服務(wù)端是一種針對(duì)性的服務(wù)程序,為客戶端提供數(shù)據(jù)資源、處理業(yè)務(wù)邏輯、數(shù)據(jù)加工等服務(wù)。同時(shí),服務(wù)程序需要托管到服務(wù)器管理軟件中,目前較為流行的網(wǎng)絡(luò)服務(wù)器管理軟件包括Apache、IIS、Nginx 等,由于本系統(tǒng)采用微軟的Visual Studio作為開發(fā)平臺(tái),因此本系統(tǒng)采用微軟IIS 作為網(wǎng)絡(luò)服務(wù)器管理軟件托管本系統(tǒng)服務(wù)程序,以及使用ArcGIS Server 提供各種地理信息服務(wù)[3]。
1.1.3 數(shù)據(jù)存儲(chǔ)端。數(shù)據(jù)存儲(chǔ)是將數(shù)據(jù)通過(guò)特定的數(shù)據(jù)格式記錄到計(jì)算機(jī)硬盤或外部特定的存儲(chǔ)介質(zhì)中。數(shù)據(jù)存儲(chǔ)服務(wù)是通過(guò)網(wǎng)絡(luò)將多個(gè)終端產(chǎn)生的數(shù)據(jù)進(jìn)行集中存儲(chǔ),具有保證數(shù)據(jù)存儲(chǔ)共享性、節(jié)省磁盤成本等特點(diǎn)。本系統(tǒng)采用MySQL 數(shù)據(jù)庫(kù)與MongoDB數(shù)據(jù)庫(kù)相結(jié)合,MySQL 存放設(shè)備信息、臺(tái)站信息、文件信息、警報(bào)信息、用戶信息等數(shù)據(jù)存儲(chǔ)對(duì)象。MongoDB 存儲(chǔ)管理監(jiān)測(cè)數(shù)據(jù)。MySQL 是關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)中最具代表性的數(shù)據(jù)管理系統(tǒng),將數(shù)據(jù)根據(jù)關(guān)系分類保放在不同的表中,能提高數(shù)據(jù)存取效率及操作的靈活性,在Web 應(yīng)用方面MySQL 應(yīng)用較為廣泛。MongoDB 一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json 的bson 格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。
1.1.4 采集端。數(shù)據(jù)采集,又稱數(shù)據(jù)獲取,是利用傳感器獲取數(shù)據(jù),并將數(shù)據(jù)輸入到系統(tǒng)內(nèi)部的一個(gè)接口。隨著通信技術(shù)及計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)據(jù)采集技術(shù)被應(yīng)用在社會(huì)的各個(gè)領(lǐng)域。采集得到的數(shù)據(jù)是各種物理量轉(zhuǎn)換后的電信號(hào),可以是模擬量,也可以是數(shù)字量。采集方式是隔一定時(shí)間(稱采樣周期)對(duì)同一點(diǎn)數(shù)據(jù)重復(fù)采集。采集的數(shù)據(jù)是瞬時(shí)值,也可是某段時(shí)間內(nèi)的一個(gè)特征值。準(zhǔn)確的數(shù)據(jù)測(cè)量是數(shù)據(jù)采集的基礎(chǔ)。數(shù)據(jù)量測(cè)方法有接觸式和非接觸式,檢測(cè)元件多種多樣。本系統(tǒng)采用接觸式量測(cè)方法,將傳感器放在監(jiān)測(cè)點(diǎn),采集震動(dòng)數(shù)據(jù)。將采集的數(shù)據(jù)傳輸?shù)缴衔粰C(jī),由上位機(jī)進(jìn)行簡(jiǎn)單處理后上傳到服務(wù)器。采集端數(shù)據(jù)拾取方式分為3 種,觸發(fā)式數(shù)據(jù)拾取、定時(shí)數(shù)據(jù)拾取及實(shí)時(shí)數(shù)據(jù)拾取。觸發(fā)式數(shù)據(jù)拾取是當(dāng)?shù)卣饋?lái)臨時(shí)及時(shí)采集數(shù)據(jù)并上傳;定時(shí)數(shù)據(jù)拾取是為采集日常數(shù)據(jù);實(shí)時(shí)數(shù)據(jù)拾取是為檢測(cè)設(shè)備工作狀態(tài)及采集當(dāng)前時(shí)間下的數(shù)據(jù)。
基于WebGIS 技術(shù)構(gòu)建的大壩強(qiáng)震監(jiān)測(cè)分析系統(tǒng)整體框架主要分為客戶端、服務(wù)端、數(shù)據(jù)存儲(chǔ)端以及采集端,具體如圖1,客戶端主要是用戶使用的終端,目前本系統(tǒng)用戶主要通過(guò)web 瀏覽器實(shí)現(xiàn)對(duì)系統(tǒng)的操作,應(yīng)用服務(wù)器端是系統(tǒng)開發(fā)的核心,主要承擔(dān)對(duì)前端和后臺(tái)數(shù)據(jù)的交互、業(yè)務(wù)邏輯處理、數(shù)據(jù)處理分析功能,數(shù)據(jù)存儲(chǔ)主要是對(duì)系統(tǒng)的多種數(shù)據(jù)進(jìn)行存儲(chǔ),采集端為系統(tǒng)提供基礎(chǔ)數(shù)據(jù)保證[1]。
圖1 系統(tǒng)整體結(jié)構(gòu)圖
系統(tǒng)功能模塊包括地圖功能模塊、臺(tái)站特征模塊、實(shí)時(shí)檢測(cè)模塊、報(bào)警模塊、文件管理模塊、數(shù)據(jù)處理分析模塊、系統(tǒng)管理模塊,并且每個(gè)功能模塊又包含多個(gè)子模塊,以便于完成系統(tǒng)的多種操作,使系統(tǒng)具有編輯、分析、查詢、監(jiān)測(cè)等多種功能[6],具體如圖2 所示。
圖2 系統(tǒng)結(jié)構(gòu)功能圖
本系統(tǒng)開發(fā)過(guò)程中運(yùn)用了多種目前的計(jì)算機(jī)前沿技術(shù),其中包括采用微軟提供的ASP.NET 框架,運(yùn)用HTML、CSS、JavaScript、JQuery、Bootstrap 構(gòu)建前端界面,通過(guò)ArcGIS API for JavaScript 加載ArcGIS Server 及天地圖中地圖、要素等數(shù)據(jù)實(shí)現(xiàn)在線顯示。以C#作為后臺(tái)開發(fā)語(yǔ)言、Visual Studio 2019 為開發(fā)平臺(tái)開發(fā)后端應(yīng)用程序,MySQL、MongoDB 作為本系統(tǒng)的數(shù)據(jù)庫(kù),采用EntityFramework 進(jìn)行數(shù)據(jù)庫(kù)連接。
ASP.NET 是微軟提供用于開發(fā)web 應(yīng)用程序的一整套的解決方案,包括驗(yàn)證、緩存、狀態(tài)管理、調(diào)試和部署等全部功能。將界面邏輯與業(yè)務(wù)邏輯分開,簡(jiǎn)化界面代碼編寫,業(yè)務(wù)邏輯代碼結(jié)構(gòu)清晰,簡(jiǎn)化數(shù)據(jù)庫(kù)連接及業(yè)務(wù)操作[2]。
JQuery 使一種快速、簡(jiǎn)潔的JavaScript 框架,它將JavaScript 常用功能方法封裝,提供了一種便捷的JavaScript 開發(fā)模式,具有高效靈活的樣式、id、標(biāo)簽選擇器極大簡(jiǎn)化了界面交互邏輯的實(shí)現(xiàn),同時(shí)JQuery兼容各種主流瀏覽器。
Bootstrap 為前端界面設(shè)計(jì)提供一系列整潔、優(yōu)美的前端組件、css樣式,集成HTML、CSS、Java Script等技術(shù)。
由ESRI 開發(fā)的一組用于調(diào)用ArcGIS Server REST API 接口的JavaScript 腳本,提供CDN 與NPM 兩種JavaScript 引用模式,本系統(tǒng)采用CDN 引用模式。
本模塊地圖包括場(chǎng)址區(qū)地質(zhì)構(gòu)造分布及地震帶劃分圖層、潛在震源區(qū)域圖層、潛在震源區(qū)歷史地震分布圖層、場(chǎng)區(qū)烈度分布圖層、庫(kù)區(qū)地質(zhì)構(gòu)造及斷層分布圖層、行政區(qū)劃及交通圖層,這些地圖圖層由ArcGIS Server 及天地圖提供。本系統(tǒng)采用ArcGIS API for JavaScript 為以上圖層提供選取、縮放、查詢、瀏覽、編輯、添加要素信息功能。
3.1.1 空間數(shù)據(jù)編輯??臻g數(shù)據(jù)編輯包括創(chuàng)建新的要素?cái)?shù)據(jù)、修改刪除已存在的要素?cái)?shù)據(jù),是空間數(shù)據(jù)維護(hù)加工的基本環(huán)節(jié),同時(shí)是WebGIS 二次開發(fā)的基本功能。本系統(tǒng)的空間數(shù)據(jù)編輯是對(duì)監(jiān)測(cè)點(diǎn)、臺(tái)站點(diǎn)、庫(kù)區(qū)等要素信息的添加、刪除、修改,保證空間數(shù)據(jù)的正確性、實(shí)時(shí)性。
3.1.2 專題信息查詢。根據(jù)測(cè)點(diǎn)名稱、臺(tái)站名稱、庫(kù)區(qū)名稱等條件查詢特定區(qū)域并放大。
3.1.3 圖層信息管理。為方便科學(xué)研究、震后救災(zāi)工作等,本系統(tǒng)使用不同的圖層。圖層信息管理主要實(shí)現(xiàn)對(duì)圖層的添加、刪除功能。
為提高工作人員工作效率,精確定位到監(jiān)測(cè)點(diǎn)、設(shè)備等信息,采用樹狀結(jié)構(gòu)管理信息。以臺(tái)站為根節(jié)點(diǎn),下屬節(jié)點(diǎn)分別為設(shè)備節(jié)點(diǎn)及監(jiān)測(cè)點(diǎn)節(jié)點(diǎn),設(shè)備節(jié)點(diǎn)設(shè)置下屬傳感器節(jié)點(diǎn)及通道信息節(jié)點(diǎn)。
3.2.1 設(shè)備子模塊。設(shè)備子模塊是為保障快速實(shí)時(shí)掌握設(shè)備信息,及時(shí)有效整合設(shè)備資源和提高設(shè)備使用效率,保障高效處理設(shè)備問題設(shè)立的。
3.2.1.1 設(shè)備信息管理。該功能是為了完成儀器設(shè)備現(xiàn)代化信息管理,具有設(shè)備信息高度集成、靈活性強(qiáng)、分配使用便捷、設(shè)備利用高效等優(yōu)勢(shì)。設(shè)備信息管理主要實(shí)現(xiàn)功能包括設(shè)備基本信息的編輯功能、設(shè)備狀態(tài)查詢及設(shè)備開關(guān)機(jī)操作。
3.2.1.2 設(shè)備參數(shù)配置。強(qiáng)震監(jiān)測(cè)設(shè)備需要設(shè)定特定參數(shù)實(shí)現(xiàn)自動(dòng)監(jiān)測(cè)報(bào)警功能,其中包括采樣參數(shù)的配置,配置采樣頻率、量程范圍、采樣通道、觸發(fā)通道等參數(shù);觸發(fā)設(shè)置用設(shè)置觸發(fā)方式、閾值、長(zhǎng)短時(shí)間窗等參數(shù)[5];任務(wù)配置用于設(shè)置觸發(fā)日期、觸發(fā)時(shí)刻等信息;報(bào)警參數(shù)配置最大安全加速度、最小危害加速度,最大安全加速度是通過(guò)水工建筑物按抗震計(jì)算求得,最小危害加速度是通過(guò)抗震設(shè)計(jì)參數(shù)計(jì)算求得的相應(yīng)測(cè)點(diǎn)能抵御的最大加速度;網(wǎng)絡(luò)參數(shù)設(shè)置與設(shè)備通信的服務(wù)器相關(guān)參數(shù)包括IP 地址、端口號(hào)。
3.2.1.3 設(shè)備通道信息顯示。一臺(tái)強(qiáng)震監(jiān)測(cè)設(shè)備具有多個(gè)通道,設(shè)備通過(guò)通道與傳感器連接獲取數(shù)據(jù)。根據(jù)設(shè)備發(fā)送的配置信息,將通道信息顯示在用戶界面。并且,當(dāng)設(shè)備端對(duì)通道信息進(jìn)行修改時(shí)實(shí)時(shí)更新數(shù)據(jù)庫(kù)中通道信息。
3.2.1.4 下屬傳感器信息顯示。強(qiáng)震傳感器是用來(lái)監(jiān)測(cè)采集震動(dòng)信息的裝置。由于一臺(tái)設(shè)備具有多個(gè)傳感器,為方便傳感器的信息管理,設(shè)立傳感器信息顯示功能,顯示設(shè)備下屬傳感器型號(hào)、廠家、類型等信息。同時(shí),為避免傳感器發(fā)生故障后需要人工檢查,減少人工成本,添加傳感器狀態(tài)實(shí)時(shí)顯示。
3.2.2 監(jiān)測(cè)點(diǎn)管理。監(jiān)測(cè)點(diǎn)是用于觀察震動(dòng)來(lái)臨時(shí)位移、加速度等物理量變化的觀測(cè)點(diǎn),監(jiān)測(cè)點(diǎn)管理主要實(shí)現(xiàn)編輯監(jiān)測(cè)點(diǎn)的位置、高程、經(jīng)緯度信息等功能。
通過(guò)點(diǎn)擊地圖中監(jiān)測(cè)點(diǎn)或設(shè)備點(diǎn)要素,以波形的形式實(shí)時(shí)顯示該點(diǎn)采集到的數(shù)據(jù)。在顯示波形時(shí)提供數(shù)據(jù)保存、波形凍結(jié)功能。根據(jù)設(shè)定的閾值由設(shè)備自主判斷是否發(fā)生警報(bào)信息,報(bào)警信息會(huì)實(shí)時(shí)顯示在地圖相應(yīng)的監(jiān)測(cè)點(diǎn)上,用戶可以在地圖中點(diǎn)擊出現(xiàn)感嘆號(hào)的監(jiān)測(cè)點(diǎn)查看相關(guān)警報(bào)信息并處理;同時(shí)用戶可以查詢歷史警報(bào)信息。
文件管理主要用于管理數(shù)據(jù)文件位置信息、文件名、文件下載。而數(shù)據(jù)源分析模塊是在系統(tǒng)接受需要處理的數(shù)據(jù)時(shí)可以進(jìn)行以下操作:
3.4.1 文件查詢功能。通過(guò)文件名、臺(tái)站名、日期等條件聯(lián)合查詢得到滿足要求的文件。
3.4.2 處理分析功能。將文件數(shù)據(jù)加載后進(jìn)行單位換算、錯(cuò)點(diǎn)剔除、基線校正、濾波處理預(yù)處理工作;將預(yù)處理后數(shù)據(jù)分別進(jìn)行積分處理、譜分析、統(tǒng)計(jì)分析、災(zāi)害評(píng)估;分析報(bào)告下載。
3.4.2.1 單位換算。由于采集設(shè)備采集到的數(shù)據(jù)一般為電壓值,而水工抗震分析一般需要使用加速度。因此,需要對(duì)采集到的數(shù)據(jù)進(jìn)行單位換算,換算方式為電壓值乘以標(biāo)定系數(shù)得到的就是加速度值。
3.4.2.2 錯(cuò)點(diǎn)剔除。由于外界信號(hào)干擾等原因,會(huì)出現(xiàn)一些突出的奇異點(diǎn),這些奇異點(diǎn)會(huì)使之后的數(shù)據(jù)分析結(jié)果出現(xiàn)極大偏差,故本系統(tǒng)采用格拉布斯去除奇異點(diǎn)。
3.4.2.3 基線校正。由于地震振動(dòng)是上下左右振動(dòng),因此產(chǎn)生的加速度是在零值(基線)上下振動(dòng)。但是,由于設(shè)備存在低頻噪聲、低頻環(huán)境噪聲等原因會(huì)造成基線偏移現(xiàn)象,故使用零漂校正或直線趨勢(shì)校正進(jìn)行基線校正。
3.4.2.4 濾波處理。由于水工建筑在未發(fā)生地震時(shí)以低頻振動(dòng)為主,而需要監(jiān)測(cè)的振動(dòng)數(shù)據(jù)以高頻為主,因此需要對(duì)數(shù)據(jù)進(jìn)行低頻濾波。
3.4.2.5 積分處理。通過(guò)對(duì)預(yù)處理后的數(shù)據(jù)進(jìn)行一次、二次積分可以得到振動(dòng)的速度及位移。
3.4.2.6 譜分析。獲取傅里葉譜、功率譜、反應(yīng)譜。
3.4.2.7 統(tǒng)計(jì)分析。統(tǒng)計(jì)振動(dòng)時(shí)長(zhǎng)、最大幅值等信息。
3.4.2.8 災(zāi)害評(píng)估。更具以上分析得到的數(shù)據(jù)對(duì)大壩進(jìn)行災(zāi)害評(píng)估,評(píng)價(jià)大壩在災(zāi)后安全程度。
本系統(tǒng)采用微軟ASP.NET 框架結(jié)合ArcGIS API for JavaScript,討論實(shí)現(xiàn)基于WebGIS 的大壩強(qiáng)震監(jiān)測(cè)分析系統(tǒng)。該系統(tǒng)平臺(tái)實(shí)現(xiàn)對(duì)強(qiáng)震數(shù)據(jù)的實(shí)時(shí)獲取,并進(jìn)行數(shù)據(jù)分析自動(dòng)化,最后生成分析報(bào)表。本系統(tǒng)具有模塊化、易維護(hù)、跨平臺(tái)等多種優(yōu)越性,為大壩強(qiáng)震監(jiān)測(cè)分析提供新的實(shí)現(xiàn)方案和技術(shù)參考。