趙 冬,余雨萍
(中原工學(xué)院 軟件學(xué)院,鄭州450007)
為了控導(dǎo)水勢(shì)、保堤護(hù)灘,確保防洪安全,許多河流沿岸都需要修建險(xiǎn)工及控導(dǎo)工程.隨著時(shí)間的推移,河道工程在抗御水流沖擊和洪水沖刷過(guò)程中,工程根石不斷發(fā)生流失變化.因此,掌握根石分布狀況,準(zhǔn)確計(jì)算缺石量,適時(shí)對(duì)根石不足的主要壩岸補(bǔ)充根石非常重要.
以往的根石探測(cè)都是用人工方式進(jìn)行的,對(duì)于采集到的數(shù)據(jù),還需進(jìn)行大量復(fù)雜的運(yùn)算,才能得出河流的缺石量數(shù)據(jù).由于原始數(shù)據(jù)都產(chǎn)生于縣級(jí)單位,省、市級(jí)河務(wù)管理單位還需從所轄各市、縣級(jí)單位提交的統(tǒng)計(jì)數(shù)據(jù)中匯總出缺石量數(shù)據(jù),用以制定出年度撥款計(jì)劃.
為提高探測(cè)數(shù)據(jù)管理的準(zhǔn)確性及時(shí)效性,物探部門引進(jìn)了先進(jìn)的根石探測(cè)儀器,可提高根石探測(cè)的精確度.但儀器探測(cè)到的數(shù)據(jù)量非常大,人工處理顯然不能滿足要求.河流根石探測(cè)管理系統(tǒng)對(duì)實(shí)地采集到的探測(cè)數(shù)據(jù)進(jìn)行批量導(dǎo)入和處理,生成斷面剖面圖及斷面缺石面積圖表,經(jīng)過(guò)計(jì)算得出任一壩垛的缺石量,由此實(shí)現(xiàn)根石探測(cè)數(shù)據(jù)的數(shù)字化管理,可為預(yù)報(bào)險(xiǎn)情提供參考依據(jù),使防洪部門做到早預(yù)報(bào)、早加固,避免險(xiǎn)情的發(fā)生[1].
河流探測(cè)部門在每年汛前、汛中、汛后三個(gè)重要時(shí)期對(duì)河道工程特別是靠河壩垛的根石進(jìn)行探測(cè).本系統(tǒng)的主要業(yè)務(wù)是根據(jù)探測(cè)數(shù)據(jù)計(jì)算每個(gè)壩垛的缺石量.在整條河流經(jīng)的各縣區(qū)都有很多工程,每個(gè)工程修筑了很多壩垛,用來(lái)加固河堤.每個(gè)壩垛由幾個(gè)斷面組成,根石探測(cè)是以斷面為單位的,主要探測(cè)水下根石的深度,并根據(jù)探測(cè)數(shù)據(jù)計(jì)算出水下坡度以及缺石量等數(shù)據(jù),從而判斷該壩垛是否需要加固.系統(tǒng)還提供對(duì)探測(cè)數(shù)據(jù)的查詢、統(tǒng)計(jì)等相關(guān)功能.
系統(tǒng)的數(shù)據(jù)處理模塊將探測(cè)到的原始波形數(shù)據(jù)轉(zhuǎn)換成TXT文檔,系統(tǒng)的探測(cè)數(shù)據(jù)導(dǎo)入模塊將TXT文檔導(dǎo)入到系統(tǒng)中,并以此為源數(shù)據(jù),進(jìn)行后期的查詢、統(tǒng)計(jì)及斷面圖繪制等操作.同時(shí),對(duì)壩垛附近地區(qū)的自然、生態(tài)環(huán)境、工程、壩垛、根石探測(cè)斷面、圖片、多媒體、成果報(bào)告文檔、探測(cè)數(shù)據(jù)(包括壩頂高程、根石臺(tái)高程、水面高程、測(cè)點(diǎn)根石深度、探測(cè)時(shí)間、探測(cè)單位等)以及基礎(chǔ)數(shù)據(jù)進(jìn)行管理.
斷面是為了探測(cè)河流根石情況而人工確定的,每個(gè)壩垛根據(jù)其形狀及水流的方向有多個(gè)斷面,其示意圖如圖1所示.進(jìn)行探測(cè)時(shí),一天探測(cè)多個(gè)壩垛,每個(gè)壩垛探測(cè)多個(gè)斷面.
圖1 斷面示意圖
缺石量是用戶最關(guān)心的數(shù)據(jù),也是河流根石探測(cè)工作的最終目的.所謂缺石量,即河流壩垛缺少根石的體積總數(shù).缺石量最基層的計(jì)算單位是壩垛.圖1中的“迎水?dāng)嗝妗?、“上跨斷面”、“前頭斷面”等即為標(biāo)準(zhǔn)的斷面名稱.選擇m個(gè)測(cè)量部位,分別得到m個(gè)橫剖面,設(shè)為A0,A1,…,Am.測(cè)量時(shí),假設(shè)在橫剖面Ai(i=0,1,…,m)上取n個(gè)測(cè)量點(diǎn),以河底水平線為橫坐標(biāo),過(guò)測(cè)量起始點(diǎn)并垂直于河底水平線的直線為縱坐標(biāo),建立坐標(biāo)系,則n個(gè)測(cè)量點(diǎn)的橫坐標(biāo)分別是x0,x1,…,xn,對(duì)應(yīng)的測(cè)量高度分別是y0,y1,…,yn.
連接(x0,y0),(x1,y1),…,(xn,yn)等點(diǎn)中相臨的兩點(diǎn),就構(gòu)成了防洪壩橫剖面的實(shí)際邊界曲線的近似折線,折線與連接(x0,y0)點(diǎn)和(xn,yn)點(diǎn)的斜線所圍成的平面圖形稱為缺石面,其面積就是近似的缺石部分的面積.各缺石面相互平行.計(jì)算出Ai面的缺石圖形的面積后,連接Ai和Ai+1(i=0,1,…,m-1)面上相應(yīng)的測(cè)量點(diǎn),就構(gòu)成了一個(gè)棱臺(tái).由棱臺(tái)體積的計(jì)算公式計(jì)算出缺石量.因此,缺石量的計(jì)算主要在于計(jì)算Ai面的缺石圖形的面積.
以x0,x1,…,xn作為區(qū)間[x0,xn]的分點(diǎn),運(yùn)用分段積分方法,可以計(jì)算出橫剖面Ai的缺石面積.設(shè)p/q=a,則可得到橫剖面Ai的缺石面積:
壩垛的缺石量是由本次探測(cè)的每個(gè)斷面的缺石面積和壩垛的護(hù)圍長(zhǎng)度計(jì)算出來(lái)的.如果用V表示某壩垛的缺石量,用Sn表示第n個(gè)斷面的缺石面積,用L表示該壩垛的護(hù)圍長(zhǎng)度,則缺石量的計(jì)算公式如下[2]:
根據(jù)系統(tǒng)的業(yè)務(wù)需求,系統(tǒng)功能設(shè)計(jì)如圖2所示.
圖2 系統(tǒng)功能結(jié)構(gòu)圖
(1)數(shù)據(jù)維護(hù)功能.用戶單位需要管理的數(shù)據(jù)分為基礎(chǔ)數(shù)據(jù)和探測(cè)數(shù)據(jù)兩大類.基礎(chǔ)數(shù)據(jù)指的是河務(wù)管理中的行政機(jī)構(gòu)及工程管理層次中各級(jí)單位的有關(guān)數(shù)據(jù);探測(cè)數(shù)據(jù)是每年河流汛前、汛期及訊后探測(cè)到的相關(guān)數(shù)據(jù).
(2)綜合查詢功能.用戶要求能對(duì)上述各種數(shù)據(jù)進(jìn)行方便、快速的查詢,包括查詢工程信息、查詢壩垛信息、查詢?nèi)笔康?;要求能根?jù)部門、工程名稱、壩垛名稱等對(duì)缺石量進(jìn)行組合條件查詢.查詢過(guò)程中隱含著缺石量計(jì)算過(guò)程.
(3)統(tǒng)計(jì)分析功能.系統(tǒng)可生成各級(jí)單位的根石探測(cè)斷面統(tǒng)計(jì)表、根石探測(cè)成果表、斷面統(tǒng)計(jì)表、根石探測(cè)匯總表等報(bào)表,根據(jù)原始探測(cè)數(shù)據(jù)繪制出斷面圖.所有的統(tǒng)計(jì)報(bào)表及生成的斷面圖都能導(dǎo)出、打印.
(4)文件管理功能.系統(tǒng)除了共享探測(cè)數(shù)據(jù)以外,還可以共享各級(jí)單位的不同類型的文件.對(duì)不同權(quán)限的用戶,分別提供文件上傳、查詢等功能.
(5)系統(tǒng)管理功能.系統(tǒng)管理功能包括用戶管理、權(quán)限分配、密碼修改、數(shù)據(jù)備份等功能.
本項(xiàng)目采用面向?qū)ο蠓治雠c設(shè)計(jì)的建模方法,使用UML作為建模語(yǔ)言,從幾個(gè)角度對(duì)系統(tǒng)建立模型.
3.2.1 用例模型
采用用例模型描述系統(tǒng)的需求,首先要識(shí)別出系統(tǒng)的參與者,然后對(duì)參與者的主要用例進(jìn)行描述.本項(xiàng)目的參與者主要有4種,分別為數(shù)據(jù)管理人員、行政管理人員、系統(tǒng)管理員和普通人員.圖3所示是主要的參與者——數(shù)據(jù)管理人員用例圖.
圖3 數(shù)據(jù)管理人員用例圖
3.2.2 領(lǐng)域模型
在建立好用例模型后,下一步是從用例描述中抽象出領(lǐng)域模型,找出分析類,然后按照一定的原則進(jìn)行系統(tǒng)設(shè)計(jì),找出相應(yīng)的邊界類和控制類.圖4所示是系統(tǒng)分析類以及其關(guān)聯(lián)關(guān)系.
圖4 領(lǐng)域模型
3.2.3 設(shè)計(jì)模型
系統(tǒng)的參與者通過(guò)邊界類與系統(tǒng)打交道.參與者向邊界類發(fā)起訪問(wèn),邊界類把參與者的申請(qǐng)?zhí)峤唤o控制類,控制類最終訪問(wèn)實(shí)體類.在設(shè)計(jì)模型時(shí),可能一個(gè)用例對(duì)應(yīng)一個(gè)邊界類,也可能一個(gè)參與者對(duì)應(yīng)一個(gè)邊界類.圖5所示是系統(tǒng)設(shè)計(jì)模型之一——導(dǎo)入探測(cè)數(shù)據(jù)順序圖.其中,DetectDataInManager等類是控制類,frmMain是邊界類,而projectInfo等類是實(shí)體類[3—4].
圖5 導(dǎo)入探測(cè)數(shù)據(jù)順序圖
本系統(tǒng)所用的程序開(kāi)發(fā)語(yǔ)言是C#2.0,程序開(kāi)發(fā)平臺(tái)是Visual Studio 2005.后臺(tái)數(shù)據(jù)庫(kù)是Microsoft SQL Server 2005,它是使用基于SQL Server2005數(shù)據(jù)庫(kù)的三層架構(gòu)模式開(kāi)發(fā)的.圖6所示是所繪制的一個(gè)斷面圖.
圖6 斷面效果圖
從圖6中可以看出,對(duì)應(yīng)于垂直直角邊和水平直角邊的長(zhǎng)度的比值有3個(gè)標(biāo)準(zhǔn),是1∶1.0、1∶1.3和1∶1.5,分別表示嚴(yán)重缺石、少量缺石和不缺石等情況.因此,對(duì)于每個(gè)經(jīng)過(guò)探測(cè)的斷面,都可以按上述3個(gè)標(biāo)準(zhǔn)計(jì)算出相應(yīng)的缺石面積,進(jìn)而利用某個(gè)壩垛各斷面的缺石面積對(duì)該壩垛進(jìn)行積分運(yùn)算,得出3個(gè)相應(yīng)的缺石量.
本文描述了河道整治工程中根石缺石量的計(jì)算模型,給出了基于UML的系統(tǒng)分析設(shè)計(jì)模型,以及最終的實(shí)現(xiàn)效果描述.系統(tǒng)可導(dǎo)入河流每年汛前、汛期及汛后探測(cè)到的根石數(shù)據(jù),并能對(duì)其進(jìn)行統(tǒng)計(jì)分析,計(jì)算得出每個(gè)壩垛的缺石量,并繪制出斷面圖,從而可匯總得出省、市、縣局等各級(jí)行政單位所轄流域總的缺石量數(shù)據(jù),并生成規(guī)范格式的報(bào)表,為河流管理部門制定財(cái)政采購(gòu)計(jì)劃及對(duì)下級(jí)工程部門撥款等工作提供準(zhǔn)確、科學(xué)的依據(jù).
[1]李永強(qiáng).黃河下游游蕩性河段河道整治工程環(huán)境影響評(píng)價(jià)[J].中國(guó)水利,2007(5):37-39.
[2]姜小俊,胡建炯,史永忠.海底基巖高程測(cè)量中淺地層剖面儀數(shù)據(jù)處理方法研究[J].測(cè)繪科學(xué),2008(5):169-172.
[3]趙德新,劉瑾.設(shè)計(jì)模式思想及其應(yīng)用[J].天津理工大學(xué)學(xué)報(bào),2007(5):58-62.
[4]李明樹(shù),楊秋松,翟健.軟件過(guò)程建模方法研究[J].軟件學(xué)報(bào),2009(3):524-528.