黃永芳,郭永剛,2*,李 峰
(1.西藏農(nóng)牧學(xué)院水利土木工程學(xué)院,西藏 林芝;2.西藏土木水利電力工程技術(shù)研究中心,西藏 林芝)
西藏自治區(qū)位于青藏高原西南部,氣候條件以西北嚴(yán)寒、東南溫暖濕潤為主,平均海拔在4 000 m 以上,素有“世界屋脊”之稱。藏東南特殊地理環(huán)境,形成了不同于低海拔地區(qū)的地質(zhì)災(zāi)害機(jī)理。該地區(qū)發(fā)生的地質(zhì)災(zāi)害影響了當(dāng)?shù)鼐用竦纳a(chǎn)生活和經(jīng)濟(jì)發(fā)展。SpringBoot 框架已應(yīng)用在各行各業(yè),如趙璽博等[1]學(xué)者將其應(yīng)用在校園管理當(dāng)中,為校園網(wǎng)的使用增加了便利;邵健偉等[2]學(xué)者應(yīng)用在水利工程中的水文預(yù)報(bào),為水庫的調(diào)度提供了參考數(shù)據(jù);余鵬翔等[3]學(xué)者將其應(yīng)用在農(nóng)業(yè)養(yǎng)殖中,提高了養(yǎng)殖大戶的養(yǎng)殖技術(shù);林靜等[4]學(xué)者將其應(yīng)用在醫(yī)療數(shù)據(jù)中,為科研學(xué)者提供了獲取數(shù)據(jù)的便利。SpringBoot 技術(shù)的使用能推動(dòng)地質(zhì)災(zāi)害管理技術(shù)向前發(fā)展。本研究選取藏東南滑坡地質(zhì)災(zāi)害為主要的研究對(duì)象,結(jié)合當(dāng)前的SpringBoot 技術(shù),根據(jù)當(dāng)?shù)氐臍夂蚯闆r、地理?xiàng)l件等實(shí)際情況,開發(fā)出滑坡地質(zhì)災(zāi)害的管理系統(tǒng)。
為了使滑坡管理系統(tǒng)的用戶體驗(yàn)感好,在本項(xiàng)目中使用前后端分離的技術(shù)。前端有Bootstrap 技術(shù)、jQuery 技術(shù)等。Bootstrap 技術(shù)是基于Java Web 的前端開發(fā)框架技術(shù),該技術(shù)融合了前端的技術(shù),促進(jìn)了前端頁面的便捷化發(fā)展。Bootstrap 技術(shù)自身提供了網(wǎng)格系統(tǒng)、鏈接樣式、背景基本結(jié)構(gòu),CSS 樣式設(shè)計(jì)完備,并且定義了JavaScript 插件,給用戶帶來不一樣的視覺體驗(yàn)。Bootstrap 技術(shù)具有鮮明的特色,如具備兼容性,操作簡單。jQuery 技術(shù)是提供更加簡便的代碼設(shè)計(jì)模式。該技術(shù)可在多個(gè)編輯器中編輯,執(zhí)行過程分為入口模塊、底層支持模塊、功能模塊。jQuery 技術(shù)當(dāng)前具有獨(dú)特的選擇器和事件處理過程,大大提升了JS 的代碼編寫。jQuery 技術(shù)自身有內(nèi)置的動(dòng)畫效果,技術(shù)開發(fā)人員只需要調(diào)用對(duì)應(yīng)部分,減少了技術(shù)開發(fā)人員編寫JS 的時(shí)間。
本系統(tǒng)采用IntelliJ IDEA 軟件,該軟件兼容多種的后端開發(fā)技術(shù),具有靈活的排版功能等優(yōu)越特性。本系統(tǒng)使用的后端技術(shù)有SpringBoot 技術(shù)、Mybatist 技術(shù)等。SpringBoot 技術(shù)的工作執(zhí)行遵守兩個(gè)重要的策略,即開箱即用和約定優(yōu)于配置。SpringBoot 技術(shù)開發(fā)程序從配置開發(fā)環(huán)境到部署上線過程操作簡單,從工程文件的建立到運(yùn)行,開發(fā)人員只需要聯(lián)網(wǎng),全程自動(dòng)配置Spring 容器,Maven 產(chǎn)生的依賴包可以清理緩存和打包JARS 文件運(yùn)行上線,創(chuàng)建獨(dú)立的應(yīng)用程序。Mybatis 技術(shù)是apache 的開源項(xiàng)目,支持存儲(chǔ)過程、高級(jí)映射和定制化SQL,開發(fā)過程為基本初始化、接受調(diào)用請(qǐng)求、處理操作請(qǐng)求,三層功能由API 接口層、數(shù)據(jù)處理層、基礎(chǔ)支撐層組成。該技術(shù)的使用能提升軟件整體的完整性和可開放性。
滑坡的致害因子信息需通過各種數(shù)學(xué)方法,采用合理的數(shù)學(xué)模型和方法進(jìn)行處理,對(duì)處理結(jié)果進(jìn)行綜合的分析評(píng)價(jià),系統(tǒng)總體設(shè)計(jì)主要包括:輸入、輸出系統(tǒng)、模型庫、方法庫管理、圖形圖像庫,系統(tǒng)的數(shù)據(jù)管理核心是一個(gè)分布式數(shù)據(jù)庫,系統(tǒng)的數(shù)據(jù)及信息處理以各種數(shù)學(xué)模型為后臺(tái)通過代碼編程實(shí)現(xiàn)前臺(tái)人機(jī)交互對(duì)話形式操作管理。系統(tǒng)滑坡易發(fā)性評(píng)價(jià)、危險(xiǎn)性評(píng)價(jià)是基于模型庫的自動(dòng)分析系統(tǒng)。見圖1。
圖1 系統(tǒng)框架
滑坡災(zāi)害是巖體內(nèi)部的剪應(yīng)力分布不平衡,從而發(fā)生滑動(dòng)。坡體滾落的碎石,能破壞道路設(shè)施、交通設(shè)施等,故設(shè)計(jì)滑坡災(zāi)害的管理系統(tǒng),能減少災(zāi)害帶來的損失。藏東南地區(qū)是世界第三極,受歐亞板塊與印度洋板塊影響,地表不斷抬升和隆起,巖體內(nèi)部地質(zhì)多樣,地表山峰險(xiǎn)峻,切割密度大,常年多雨。這些因素都在逐漸孕育滑坡災(zāi)害的發(fā)生?;聻?zāi)害需要對(duì)其地理位置、構(gòu)造部位、影響因素進(jìn)行統(tǒng)計(jì)?;鹿芾硐到y(tǒng)需要有兩個(gè)使用對(duì)象,一個(gè)是用戶端,用來統(tǒng)計(jì)在藏東南各個(gè)地區(qū)的滑坡發(fā)生數(shù)據(jù),另一個(gè)管理端,是對(duì)藏東南地區(qū)所有滑坡統(tǒng)計(jì)數(shù)據(jù)進(jìn)行集合處理,便于后臺(tái)的算法分析。對(duì)滑坡災(zāi)害的分析需要統(tǒng)計(jì)影響因素的圖層信息,按照人為影響因素、水文影響因素、地形影響因素、地理影響因素等進(jìn)行分類處理。文件數(shù)據(jù),需要兼容word、pdf 等格式的文檔,且能導(dǎo)入導(dǎo)出。模型數(shù)據(jù)需要建立滑坡災(zāi)害的易發(fā)性分區(qū)、危險(xiǎn)性分區(qū)。鏈接數(shù)據(jù)是通過引入外鏈數(shù)據(jù),可以便于管理人員獲取ArcGIS 圖層的原始數(shù)據(jù)。
根據(jù)需求分析創(chuàng)建系統(tǒng)需要的相應(yīng)實(shí)體類及其屬性,各實(shí)體類創(chuàng)建相應(yīng)數(shù)據(jù)庫表存儲(chǔ)數(shù)據(jù)[5]??偟臄?shù)據(jù)分為基礎(chǔ)數(shù)據(jù)、圖層數(shù)據(jù)等,表結(jié)構(gòu)總設(shè)計(jì)見表1。數(shù)據(jù)庫主要外鍵關(guān)系的ER 關(guān)系圖,見圖2。圖中可知,滑坡數(shù)據(jù)作為其他數(shù)據(jù)的核心連接,可知滑坡點(diǎn)數(shù)據(jù)統(tǒng)計(jì)的重要性。
表1 數(shù)據(jù)總表
圖2 系統(tǒng)ER 圖
滑坡管理系統(tǒng)分為視圖層、業(yè)務(wù)層、持久層。視圖層首頁左側(cè)欄目顯示所有的目錄結(jié)構(gòu),右側(cè)顯示滑坡點(diǎn)的內(nèi)容展示。點(diǎn)擊目錄后,分別進(jìn)入不同的內(nèi)容頁,例如進(jìn)入圖層頁后,可看到預(yù)測區(qū)域滑坡點(diǎn)分布信息圖層、滑坡區(qū)地形地貌分布圖層等。見圖3。
圖3 視圖首頁
業(yè)務(wù)層是業(yè)務(wù)的邏輯處理,提供接口和接口實(shí)現(xiàn)類,提供controller 層調(diào)用的方法。調(diào)用dao 層接口,接收dao 層返回的數(shù)據(jù),完成項(xiàng)目的基本功能設(shè)計(jì)。使用的注解有@Controller 等。持久層是對(duì)數(shù)據(jù)的存儲(chǔ)以及交互,在Dao 層創(chuàng)建mapper 文件,每一個(gè)mapper對(duì)應(yīng)數(shù)據(jù)庫創(chuàng)建的表名。用注解方式對(duì)方法注入增刪改查的語句。使用注解有@MapperScan 等。
藏東南地區(qū)占地面積廣,山群聚集,給滑坡災(zāi)害的救援工作帶來一定困難,故本研究設(shè)計(jì)滑坡災(zāi)害管理系統(tǒng),使用Maven 進(jìn)行項(xiàng)目管理?;赟pringBoot框架開發(fā)的項(xiàng)目,mysql 作為底層數(shù)據(jù)庫,前端采用freemarker 模板引擎,Bootstrap 作為前端UI 框架。集成了jpa、mybatis 等框架。實(shí)踐證明,該系統(tǒng)能夠獲取監(jiān)測儀所監(jiān)測的數(shù)據(jù)并存入數(shù)據(jù)庫來進(jìn)行監(jiān)測數(shù)據(jù)的增刪改查,并且利用模型分析數(shù)據(jù)來實(shí)現(xiàn)預(yù)報(bào)預(yù)測功能。在后續(xù)的開發(fā)中,會(huì)引入神經(jīng)網(wǎng)絡(luò)算法、機(jī)器學(xué)習(xí)算法等,加強(qiáng)對(duì)后臺(tái)滑坡數(shù)據(jù)的算法處理,從而提高滑坡預(yù)警的精確度。