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