国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Django的小水庫雨水工情一體化監(jiān)測平臺研究與開發(fā)

2024-05-15 13:32:16武學(xué)毅張永嵩
中國水能及電氣化 2024年4期
關(guān)鍵詞:大壩雨水水位

武學(xué)毅 劉 杰 張永嵩

(1.中國水利水電科學(xué)研究院,北京 100048;2.北京中水科工程集團(tuán)有限公司,北京 100048;3.內(nèi)蒙古自治區(qū)水利事業(yè)發(fā)展中心,內(nèi)蒙古 呼和浩特 010020;4.遼寧水利土木工程咨詢有限公司,遼寧 沈陽 110003)

全國共有水庫9.8萬座[1],其中小型水庫9.33萬座,小型水庫工程大壩變形監(jiān)測、滲流監(jiān)測、雨水情監(jiān)測覆蓋率低,自動化程度低,預(yù)警信息不暢,是當(dāng)前我國水利工程安全事故的主要隱患點(diǎn)[2]。目前,全國小型水庫信息化建設(shè)已有一定成效,但水平卻參差不齊,信息分散、資源整合不到位等現(xiàn)象仍較為普遍[3]。在小型水庫信息化平臺開發(fā)過程中,開發(fā)者通常面臨Web應(yīng)用擴(kuò)展開發(fā)困難、表單處理能力不足、數(shù)據(jù)庫開發(fā)要求較高等難題,這些問題同時(shí)導(dǎo)致系統(tǒng)運(yùn)行維護(hù)困難。如何便捷解決上述問題,提升小型水庫標(biāo)準(zhǔn)化、精細(xì)化和智慧化管理水平,為各級防汛減災(zāi)決策提供強(qiáng)有力的支撐[4],助力水庫矩陣管理,成為水利工程信息化系統(tǒng)開發(fā)需解決的一道難題。

Django框架是一個(gè)高級Python Web框架,其擁有自主管理后臺admin interface,自帶的ORM可以讓每條記錄都是一個(gè)對象,框架中的App可自由插拔[5],這些優(yōu)點(diǎn)將有利于解決水利工程信息化系統(tǒng)開發(fā)時(shí)遇到的困難。本文主要介紹基于Django框架的小型水庫雨量、水位、大壩滲壓等信息綜合展示平臺的研究與開發(fā)。

1 系統(tǒng)設(shè)計(jì)

1.1 系統(tǒng)架構(gòu)技術(shù)

Python是現(xiàn)今世界上最受歡迎的語言之一,而Django則是基于Python的一個(gè)Web框架。目前全世界有超過8萬個(gè)網(wǎng)站采用Django架構(gòu)開發(fā)?;贒jango搭建的Web系統(tǒng)具備高速、高并發(fā)、高可擴(kuò)展性,能夠很好地處理海量的數(shù)據(jù)以及秒級多用戶交互。世界第二大搜索引擎YouTube采用Django處理高負(fù)載請求。Django具有優(yōu)秀的跨平臺能力,同樣的功能開發(fā)后,可以迅速地發(fā)布到各種移動端系統(tǒng)。Django框架后臺和客戶端是基于Python開發(fā)的,因此開發(fā)者能夠用Django快速增加諸如用戶歷史訪問、版本控制、多設(shè)備賬戶同步以及文件分享服務(wù)等功能。

Django采用了MTV(Model、Template and Views)的框架模式(見圖1)。Model負(fù)責(zé)業(yè)務(wù)對象與數(shù)據(jù)庫對象(ORM);Template負(fù)責(zé)如何把頁面展示給用戶;Views負(fù)責(zé)業(yè)務(wù)邏輯,并在適當(dāng)?shù)臅r(shí)候調(diào)用Model和Template。Django抽象集成了一般網(wǎng)頁開發(fā)的模式,只要建立項(xiàng)目,就會自動生成相關(guān)的文件以及配套設(shè)置,為搭建項(xiàng)目文件環(huán)境提供了快速的方式,減少重復(fù)代碼的使用,使開發(fā)者能夠?qū)W⒂谧约旱脑O(shè)計(jì)與實(shí)現(xiàn)[6]。

圖1 Django的MTV框架

1.2 功能描述

基于Django的小水庫雨水工情一體化監(jiān)測平臺主要實(shí)現(xiàn)雨水情信息以及大壩安全監(jiān)測信息的收集、處理和展示功能。

雨水情信息包括數(shù)據(jù)查詢和圖形報(bào)表等功能,見圖2。主要實(shí)現(xiàn)對降雨量、庫水位、出入庫流量等數(shù)據(jù)的采集、整編分析、查詢和展示,以及過程線、柱狀圖、各時(shí)段報(bào)表的制作等,為洪水預(yù)報(bào)和科學(xué)調(diào)度等提供數(shù)據(jù)支持。

圖2 雨水情信息功能結(jié)構(gòu)

大壩安全監(jiān)測是掌控大壩運(yùn)行狀態(tài)的重要手段。安全監(jiān)測模塊包括數(shù)據(jù)查詢、圖形報(bào)表、報(bào)告生成等功能,大壩安全監(jiān)測信息功能結(jié)構(gòu)見圖3??蓪?shí)現(xiàn)對滲流壓力監(jiān)測數(shù)據(jù)的采集、整編、分析、查詢、下載和展示,以及自動生成安全監(jiān)測報(bào)告等,為大壩安全運(yùn)行提供支撐。

圖3 大壩安全監(jiān)測信息功能結(jié)構(gòu)

2 功能研發(fā)和實(shí)現(xiàn)

小水庫雨水工情一體化監(jiān)測平臺主要包括信息綜合展示模塊、后臺處理模塊、數(shù)據(jù)粗差處理模塊和滲壓分布展示模塊。

2.1 綜合展示模塊

信息綜合展示主要是面向水庫運(yùn)行管理單位或防汛應(yīng)急管理相關(guān)單位提供水庫基礎(chǔ)信息和雨水工情監(jiān)測、預(yù)警信息,該模塊展示平臺見圖4。前端頁面中主要利用HTML、CSS和JS進(jìn)行設(shè)計(jì)樣式和可視化模塊布局,使用Ajax技術(shù)和Jason數(shù)據(jù)格式進(jìn)行前后端交互,通過Windows.setInterval()方法定時(shí)刷新頁面獲取最新監(jiān)測信息。Windows.setIntercal()函數(shù),主要功能為設(shè)置瀏覽器定時(shí)運(yùn)行函數(shù)代碼,比如設(shè)置瀏覽器多長時(shí)間按程序中的函數(shù)進(jìn)行一次計(jì)算。為明確本文平臺數(shù)據(jù)刷新時(shí)長采用的方法,此處指出采用的方法為“Windows.setIntercal()方法”。

圖4 雨水工情監(jiān)測信息綜合展示大屏界面

2.2 后臺管理模塊

數(shù)據(jù)后臺主要通過Python語言進(jìn)行底層開發(fā),使用基于角色的權(quán)限管理模塊對用戶進(jìn)行分級管理,通過django-apscheduler模塊實(shí)現(xiàn)雨水情和大壩監(jiān)測數(shù)據(jù)的異步獲取,引入Python的Pandas庫,對監(jiān)測資料進(jìn)行數(shù)據(jù)分類、清洗、分析、異常判別、統(tǒng)計(jì)、預(yù)警和可視化輸出。完成開發(fā)后的監(jiān)測平臺數(shù)據(jù)管理頁面見圖5。Django框架自帶輕量級基于文件的數(shù)據(jù)庫SQLite,為了提高平臺的多用戶并發(fā)訪問性能,便于遠(yuǎn)程維護(hù)和數(shù)據(jù)庫備份,系統(tǒng)使用關(guān)系型數(shù)據(jù)庫MySQL進(jìn)行數(shù)據(jù)存儲,只需在Django的settings.py文件中設(shè)置ENGINE為django.db.backends.mysql即可實(shí)現(xiàn)數(shù)據(jù)庫引擎的切換。

圖5 監(jiān)測平臺后臺數(shù)據(jù)管理頁面

2.3 數(shù)據(jù)粗差處理模塊

系統(tǒng)利用異常值統(tǒng)計(jì)檢驗(yàn)法進(jìn)行數(shù)據(jù)粗差處理。粗差的識別探測屬于數(shù)據(jù)異常檢測范疇[7],現(xiàn)有研究發(fā)現(xiàn)大壩安全監(jiān)測數(shù)據(jù)一般遵從正態(tài)分布特征[8],在統(tǒng)計(jì)學(xué)中,標(biāo)準(zhǔn)偏差σ是衡量一組測值的變化量或離散度的量度,μ是正態(tài)分布的位置參數(shù),描述正態(tài)分布的集中趨勢位置(見圖6)。某時(shí)刻測值落在(μ-3σ,μ+3σ)以外的概率小于千分之三。因此將每個(gè)測點(diǎn)的歷史數(shù)據(jù)樣本在正態(tài)分布以及小概率原理基礎(chǔ)上,按照3σ準(zhǔn)則[見式(1),xi在式(1)計(jì)算范圍內(nèi)為非異常值,否則判定為異常值]對數(shù)據(jù)異常點(diǎn)進(jìn)行判定。

圖6 數(shù)據(jù)樣本正態(tài)分布

[μ(xi-n,xi+n)-3σ(xi-n,xi+n)]≤xi≤

[μ(xi-n,xi+n)+3σ(xi-n,xi+n)]

(1)

式中xi——數(shù)據(jù)庫中某一物理量任一數(shù)據(jù);

μ(xi-n,xi+n)——數(shù)據(jù)序列f(xi-n,xi+n)樣本均數(shù),n取6;

σ(xi-n,xi+n)——數(shù)據(jù)序列f(xi-n,xi+n)標(biāo)準(zhǔn)差,n取6。

2.4 滲壓分布展示模塊

Echarts是一個(gè)使用JavaScript實(shí)現(xiàn)的開源可視化庫,底層依賴矢量圖形庫ZRender,提供直觀、交互豐富、可高度個(gè)性化定制的數(shù)據(jù)可視化圖表[9]。在大壩監(jiān)測斷面上展示滲壓分布需要開發(fā)者自定義編碼進(jìn)行繪制,包括大壩輪廓、設(shè)計(jì)水位、實(shí)際水位、測壓管輪廓、滲壓和浸潤線6個(gè)部分。

在繪制大壩剖面輪廓的時(shí)候,需要根據(jù)實(shí)際大壩圖紙的寬高,以及各關(guān)鍵點(diǎn)位的坐標(biāo)做數(shù)據(jù)的預(yù)處理。大壩高度、寬度及各關(guān)鍵點(diǎn)位坐標(biāo)計(jì)算完成后,以二維數(shù)組形式寫入series的data。

設(shè)計(jì)水位利用一條虛線繪制,起始點(diǎn)坐標(biāo)X=0,Y=設(shè)計(jì)水位,終點(diǎn)的橫坐標(biāo)X需要計(jì)算,計(jì)算方法是根據(jù)圖紙中的數(shù)據(jù)(按三角形處理)X=[(designFL-13.3)×33.9/13.3],Y=設(shè)計(jì)水位。并在虛線上用markpoint來標(biāo)識警示水位。實(shí)際水位使用類型為custom的填充模式,與大壩輪廓中type=‘line’的填充方式不同,這里包括了多邊形的繪制,關(guān)鍵之處為設(shè)置shape的points、return的編寫、data中3個(gè)點(diǎn)的坐標(biāo)計(jì)算。

測壓管的繪制方法同實(shí)際水位(圖7中的藍(lán)色部分)相同。該系統(tǒng)為了實(shí)現(xiàn)圖表顯示區(qū)可聯(lián)操作,各測壓管的滲壓水位為實(shí)測值,連成一條線就是大壩的浸潤線示意圖,這里設(shè)置smooth為0.4對曲線進(jìn)行了平滑處理。

圖7 大壩監(jiān)測斷面展示的滲壓分布、庫水位及浸潤線

3 工程應(yīng)用實(shí)例

內(nèi)蒙古扎敦水利樞紐是以一座以防洪、森林防火、供水為主,兼顧發(fā)電等綜合利用的工程。本文以扎敦水利樞紐工程監(jiān)測數(shù)據(jù)入庫、處理、整編、展示為工程案例,對平臺數(shù)據(jù)庫粗差處理、后臺管理、滲壓分布及綜合展示等功能進(jìn)行試驗(yàn)。

試驗(yàn)結(jié)果顯示,數(shù)據(jù)庫按算法設(shè)定的粗差處理原則,僅處理一個(gè)測點(diǎn)(數(shù)據(jù)2049條,錯(cuò)誤1條)準(zhǔn)確率在99.95%以上(見圖8),數(shù)據(jù)平臺反映時(shí)間為1ms,隨著處理數(shù)據(jù)量的增加,準(zhǔn)確率可進(jìn)一步提升(無異常監(jiān)測數(shù)據(jù)長序列過程線見圖9)。對于無浸潤線的混凝土重力壩,平臺內(nèi)實(shí)際水位處理算法可正常執(zhí)行,未報(bào)錯(cuò),滲壓分布展示模塊可以展示滲壓值,見圖10。采用基于Django框架的雨水工情監(jiān)測平臺,能準(zhǔn)確、高速處理監(jiān)測數(shù)據(jù),并動態(tài)展示數(shù)據(jù)成果。

圖8 有異常監(jiān)測數(shù)據(jù)長序列過程線

圖9 無異常監(jiān)測數(shù)據(jù)長序列過程線

圖10 平臺滲壓綜合展示界面

4 結(jié) 語

基于Django框架開發(fā)的雨水工情監(jiān)測平臺,可解決目前國內(nèi)小水庫雨水工情監(jiān)測平臺Web應(yīng)用擴(kuò)展開發(fā)困難、表單處理能力不足、數(shù)據(jù)庫開發(fā)要求較高等問題,實(shí)現(xiàn)小型水庫雨量、水位、大壩滲壓自動監(jiān)測和信息綜合展示功能。經(jīng)過工程數(shù)據(jù)驗(yàn)證,該平臺可靠、可高速運(yùn)行。目前研究開發(fā)的平臺在數(shù)據(jù)粗差處理算法方面還待進(jìn)一步優(yōu)化,還不具備孿生、預(yù)測功能,后續(xù)可在預(yù)測模型研究、搭建、平臺部署方面繼續(xù)發(fā)力。

猜你喜歡
大壩雨水水位
農(nóng)事 雨水
如果雨水先喚醒清明
鴨綠江(2021年17期)2021-11-11 13:03:41
大壩:力與美的展現(xiàn)
百科知識(2018年6期)2018-04-03 15:43:54
幫海貍建一座大壩
大壩
神奇的雨水
雨水
旅游(2016年2期)2016-02-04 05:29:06
基于MFAC-PID的核電站蒸汽發(fā)生器水位控制
基于PLC的水位控制系統(tǒng)的設(shè)計(jì)與研究
河南科技(2014年4期)2014-02-27 14:07:11
正式擋水的馬來西亞沐若大壩
中國三峽(2013年11期)2013-11-21 10:39:18
桃园县| 蓝山县| 景泰县| 白城市| 合水县| 恩施市| 涞源县| 松滋市| 柳河县| 浏阳市| 修文县| 乐山市| 景宁| 南投县| 读书| 东光县| 阳曲县| 大名县| 清河县| 泾源县| 南宁市| 南陵县| 土默特左旗| 石狮市| 佛学| 兴安县| 绥化市| 本溪| 进贤县| 澎湖县| 新沂市| 新津县| 丰镇市| 永城市| 墨竹工卡县| 贵溪市| 阳山县| 灵武市| 象州县| 浮梁县| 闵行区|