黃 玲,王 霄,張 譯
(貴州大學(xué)電氣工程學(xué)院,貴陽 550025)
我國疆域遼闊,地質(zhì)環(huán)境復(fù)雜多樣[1],地質(zhì)災(zāi)害分布廣、類型多、頻度高、強(qiáng)度大[2],滑坡、崩塌及泥石流等已經(jīng)成為危害最大的地質(zhì)災(zāi)害[3],一旦發(fā)生,常給人民的生命財(cái)產(chǎn)安全和工業(yè)生產(chǎn)活動(dòng)造成巨大的損失。針對礦山開采誘發(fā)滑坡的廣泛性、邊坡巖體復(fù)雜性等實(shí)際情況[4],國內(nèi)外學(xué)者和技術(shù)人員對滑坡監(jiān)測系統(tǒng)開發(fā)進(jìn)行了深入研究,許多文獻(xiàn)對滑坡災(zāi)害監(jiān)測及預(yù)警預(yù)報(bào)技術(shù)進(jìn)行了研究和探討[5],但仍然存在許多不足,如監(jiān)測設(shè)備不夠智能、預(yù)警模型無法滿足需求等,使專業(yè)監(jiān)測預(yù)警的作用沒有完全發(fā)揮出來。
據(jù)此,從貴州地質(zhì)構(gòu)造的實(shí)踐需要出發(fā),設(shè)計(jì)并實(shí)現(xiàn)一套適合貴州地質(zhì)特色的集數(shù)據(jù)存儲(chǔ)、展示、分析山體滑坡穩(wěn)定性為一體的綜合山體監(jiān)測預(yù)警系統(tǒng)。通過數(shù)學(xué)建模預(yù)測山體狀態(tài),進(jìn)行危險(xiǎn)等級的劃分,再利用數(shù)據(jù)可視化技術(shù)在后端對所設(shè)計(jì)的數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行可視化處理并傳輸?shù)絎eb端[6-7]進(jìn)行展示,通過訪問Web端,實(shí)時(shí)查看山體滑坡的相關(guān)數(shù)據(jù),從而對山體滑坡的歷史數(shù)據(jù)進(jìn)行分析評價(jià),利用存儲(chǔ)的歷史工作數(shù)據(jù)對山體滑坡進(jìn)行更好的預(yù)測。基于Web的可視化監(jiān)測預(yù)警系統(tǒng)可實(shí)現(xiàn)數(shù)據(jù)監(jiān)測、可視化展示以及對山體滑坡進(jìn)行預(yù)測等功能,對避免由山體滑坡帶來的巨大財(cái)產(chǎn)損失和人傷亡極具現(xiàn)實(shí)意義[8]。
系統(tǒng)通過切向角傳感器、降雨量傳感器、土壤溫濕度傳感器、環(huán)境溫濕度傳感器將采集到的數(shù)據(jù)通過MQTT傳輸數(shù)據(jù),再利用阿里云服務(wù)器作為中轉(zhuǎn)站,負(fù)責(zé)下位機(jī)網(wǎng)絡(luò)交互和應(yīng)用信息發(fā)布。
在Python 3.7環(huán)境下配置MQTT通信協(xié)議,實(shí)現(xiàn)數(shù)據(jù)的訂閱、處理與數(shù)據(jù)可視化。其中利用Django框架開發(fā)監(jiān)控界面;使用Python語言實(shí)現(xiàn)系統(tǒng)后臺(tái)功能邏輯和滑坡預(yù)測;使用HTML語言和相關(guān)腳本語言實(shí)現(xiàn)前端模板頁面;選擇Mysql保存山體滑坡等數(shù)據(jù)并使用Navicat工具對數(shù)據(jù)庫進(jìn)行管理,隨后利用數(shù)據(jù)可視化技術(shù)在后端對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行可視化處理并傳輸?shù)絎eb端進(jìn)行展示。
同時(shí),在系統(tǒng)中融入模糊綜合評價(jià)算法實(shí)現(xiàn)對山體滑坡的危險(xiǎn)等級劃分并對山體滑坡進(jìn)行預(yù)測,最后將整個(gè)監(jiān)測預(yù)警系統(tǒng)進(jìn)行服務(wù)器部署以適應(yīng)實(shí)際工業(yè)環(huán)境的應(yīng)用。整體系統(tǒng)框架如圖1所示。
圖1 山體滑坡預(yù)警系統(tǒng)框架圖
滑坡是非線性系統(tǒng),等級狀態(tài)往往具有模糊性和不確定性,模糊綜合評價(jià)法常作非線性判斷滑坡穩(wěn)定性方法之一。其模型簡單、易于掌握,因此模糊綜合評價(jià)法被廣泛用于滑坡的預(yù)測預(yù)報(bào)中,但仍存在滑坡預(yù)警等級無法進(jìn)行精確劃分和評價(jià)指標(biāo)權(quán)重賦值問題?;诖?,在此采用模糊綜合評價(jià)法對山體滑坡等級進(jìn)行劃分,利用該方法對用環(huán)境溫濕度傳感器、土壤濕度傳感器、降雨量傳感器、傾角位移傳感器等采集到的數(shù)據(jù)進(jìn)行融合,從而得到山體滑坡預(yù)警等級的評價(jià)結(jié)果。該方法以數(shù)學(xué)為基礎(chǔ),構(gòu)造出評價(jià)指標(biāo)體系并根據(jù)層次分析法確定各個(gè)因素的權(quán)重,通過模糊變換原理,確認(rèn)各因素隸屬度函數(shù),將構(gòu)造得到的模糊矩陣確定山體滑坡的穩(wěn)定性。方法發(fā)揮了專家經(jīng)驗(yàn)的優(yōu)點(diǎn),減少人為臆斷導(dǎo)致的誤差,其評價(jià)結(jié)果具有客觀準(zhǔn)確性。算法的流程圖如圖2所示。
圖2 層次分析模糊綜合評價(jià)算法流程圖
因素集是由影響評價(jià)對象因素構(gòu)成的集合,通過查閱國內(nèi)外相關(guān)文獻(xiàn)和專家經(jīng)驗(yàn),此山體滑坡評價(jià)模型選用環(huán)境溫濕度、土壤濕度、降雨量、位移量作為影響因素,確定山體滑坡監(jiān)測預(yù)警模型的因素集如下式:
式中,ui(i=1,2,3,4,5)分別對應(yīng)環(huán)境溫度、環(huán)境濕度、土壤濕度、降雨量和位移量,它們具有不同程度的模糊性。
該山體滑坡監(jiān)測預(yù)警模型評價(jià)集為對山體滑坡穩(wěn)定性評價(jià)做出的評價(jià)結(jié)果的集合,劃分為3個(gè)等級,記為:
式中,vi(i=1,2,3)為山體滑坡監(jiān)測預(yù)警模型的評價(jià)指標(biāo),分別表示安全級、注意級和警報(bào)級,詳細(xì)參數(shù)指標(biāo)如表1所示。
表1 預(yù)警影響因子等級評價(jià)指標(biāo)
評價(jià)指標(biāo)一般是用模糊語言來描述的,使用隸屬函數(shù)數(shù)量化。為消除其模糊性,需構(gòu)建隸屬函數(shù)進(jìn)行數(shù)量化評價(jià),因素集到評語集的模糊映射即為隸屬程度。用(0,1)的數(shù)值表示隸屬程度,其值越高,即隸屬程度越高,模糊性就越高。使用線性關(guān)系得到隸屬函數(shù)值。由此得到單滑坡影響因素的綜合模糊關(guān)系矩陣R如下式:
采用層次分析法確定山體滑坡各因素權(quán)重,建立遞階層次結(jié)構(gòu)模型,將其分為三層,分別為目標(biāo)層、準(zhǔn)則層和方案層。目標(biāo)層需對山體滑坡監(jiān)測預(yù)警模型做出穩(wěn)定性評價(jià);準(zhǔn)則層為各影響因子;方案層為山體滑坡評價(jià)結(jié)果,將其分為三個(gè)等級:安全級、注意集和警報(bào)集。最后構(gòu)造判斷矩陣,計(jì)算權(quán)重并進(jìn)行一致性檢驗(yàn)。
將滑坡因素集上的集合通過模糊變換為滑坡評價(jià)集上的模糊集合,即為山體滑坡監(jiān)測預(yù)警模糊綜合評價(jià),其變換式如下式:
上式中,C為滑坡評價(jià)集上的三個(gè)等級模糊子集;cj(j=1,2,3)為相應(yīng)等級子集的隸屬度,cj由ai和ri共同決定。比較各個(gè)影響因素的隸屬度大小情況,再根據(jù)最大隸屬度原則,輸出結(jié)果則為隸屬度最大所對應(yīng)的那個(gè)滑坡監(jiān)測預(yù)警等級。
整個(gè)山體滑坡監(jiān)測預(yù)警系統(tǒng)基于Web服務(wù),采用B/S工作方式,通過瀏覽器訪問山體滑坡監(jiān)測預(yù)警系統(tǒng)。用戶通過瀏覽器連接到該山體滑坡監(jiān)測預(yù)警網(wǎng)站時(shí),處于邏輯層的Web服務(wù)器從文件系統(tǒng)中加載Web頁面腳本,并將其傳遞給腳本引擎。腳本引擎負(fù)責(zé)解析并執(zhí)行腳本,腳本使用數(shù)據(jù)庫連接器打開存儲(chǔ)層連接并對數(shù)據(jù)庫執(zhí)行Sql語句。此山體滑坡監(jiān)測預(yù)警系統(tǒng)采用Django框架進(jìn)行Web開發(fā),前端使用HTML語言、CSS、JS等實(shí)現(xiàn)網(wǎng)頁展示,后端主要使用Django自帶的Web框架進(jìn)行一些邏輯編寫,融合模糊綜合評價(jià)法實(shí)現(xiàn)山體滑坡的數(shù)據(jù)處理、等級判斷和結(jié)果預(yù)測等。同時(shí),使用Ajax技術(shù)實(shí)現(xiàn)前后端交互。
在用戶信息管理模塊,用戶可填寫自己的基本信息并能對自己的信息進(jìn)行修改。用戶登陸以后可以進(jìn)入自己的個(gè)人中心,查看和修改個(gè)人信息。在滑坡致災(zāi)因子管理模塊中,主要是顯示山體滑坡致災(zāi)因子的一些數(shù)據(jù)。經(jīng)授權(quán)登陸后的用戶可以點(diǎn)擊查看山體滑坡影響因子的一些簡要介紹以及它們對滑坡的詳細(xì)影響情況。管理員可以在數(shù)據(jù)庫中添加或刪除山體滑坡影響因子,用戶則可以在前端界面進(jìn)行影響因子查詢。系統(tǒng)顯示界面如圖3所示。
圖3 滑坡影響因子顯示界面
這一模塊是模糊綜合評價(jià)算法對山體滑坡做出穩(wěn)定性評價(jià)的可視化實(shí)現(xiàn),既可對山體滑坡進(jìn)行穩(wěn)定性評價(jià),還可查看山體滑坡歷史信息。
用戶登陸成功之后進(jìn)入首頁,當(dāng)用戶點(diǎn)擊“山體滑坡歷史信息查看”這一欄時(shí),就會(huì)進(jìn)入另一個(gè)界面,通過MQTT將部署在現(xiàn)場的傳感器采集到的數(shù)據(jù)實(shí)時(shí)傳來,顯示在此部分,用戶即可實(shí)時(shí)監(jiān)測當(dāng)?shù)鼗碌木唧w情況,歷史數(shù)據(jù)也會(huì)保留。若點(diǎn)擊山體滑坡穩(wěn)定性可進(jìn)入另一個(gè)界面,如圖4所示。
圖4 滑坡穩(wěn)定性評價(jià)界面
為讓用戶更直觀地了解當(dāng)?shù)鼗碌攸c(diǎn)及穩(wěn)定性情況,本系統(tǒng)以發(fā)布地圖的形式讓用戶查看玉屏縣的滑坡數(shù)據(jù)以及穩(wěn)定情況。通過天地圖,調(diào)用API接口,制作出玉屏縣地圖。這里以地圖或者衛(wèi)星的形式進(jìn)行發(fā)布,將玉屏縣的地圖數(shù)據(jù)、滑坡點(diǎn)數(shù)據(jù)發(fā)布成地圖服務(wù)形式載入系統(tǒng)之中,融合算法模型,點(diǎn)擊地圖上的滑坡點(diǎn),就會(huì)彈出該滑坡點(diǎn)的影響因子情況以及該點(diǎn)的滑坡穩(wěn)定性情況。
為讓該系統(tǒng)更好為當(dāng)?shù)鼐用穹?wù),設(shè)計(jì)選取一個(gè)臨災(zāi)階段來作為研究現(xiàn)場來進(jìn)行測試,將硬件部署在所選取的研究區(qū)域?qū)崿F(xiàn)實(shí)時(shí)監(jiān)測。將系統(tǒng)提前部署在貴州省玉屏縣木弄村的野雞坡水庫。通過網(wǎng)頁訪問可得到由傳感器傳來的數(shù)據(jù):環(huán)境濕度72.6%、環(huán)境溫度26.3℃、土壤濕度76.2%、切線角α度、降雨量66 mm/h,滑坡發(fā)生時(shí)間為2020年7月9日的13:23,網(wǎng)頁中發(fā)布預(yù)警時(shí)間為同年7月9日12:01。后經(jīng)實(shí)地勘察,確實(shí)發(fā)現(xiàn)該地點(diǎn)出現(xiàn)塌方現(xiàn)象,后聯(lián)系當(dāng)?shù)叵嚓P(guān)部門到事發(fā)地點(diǎn)進(jìn)行相應(yīng)處理。現(xiàn)場清理圖如圖5所示。
圖5 滑坡地點(diǎn)現(xiàn)場清理圖
基于Web技術(shù),根據(jù)系統(tǒng)設(shè)計(jì)標(biāo)準(zhǔn)流程設(shè)計(jì)并實(shí)現(xiàn)了山體滑坡的監(jiān)測和預(yù)警功能。用戶通過簡單的網(wǎng)站訪問即可實(shí)現(xiàn)對山體滑坡數(shù)據(jù)的實(shí)時(shí)監(jiān)測并能接收滑坡的預(yù)警信息,從而提前做好預(yù)防措施。有效實(shí)現(xiàn)山體滑坡的遠(yuǎn)程監(jiān)測改變了以往的村頭播報(bào)滑坡信息方式,提高了遠(yuǎn)程監(jiān)測管理的效率和居民應(yīng)對災(zāi)害的能力。將該系統(tǒng)應(yīng)用到實(shí)際案例中,結(jié)果顯示該系統(tǒng)的各個(gè)功能模塊正常運(yùn)行,能夠?qū)逻M(jìn)行有效的監(jiān)測預(yù)警。