滿春濤 王君
(哈爾濱理工大學自動化學院,黑龍江 哈爾濱 150080)
隨著電子、計算機、通信等技術的飛速發(fā)展,水文信息的采集及傳輸實現(xiàn)了飛速發(fā)展。根據(jù)我國水利部2003年發(fā)布的《水文自動測報系統(tǒng)技術規(guī)范》和2000年發(fā)布的《水文情報預報規(guī)范》,水文自動測報系統(tǒng)的中心站應該能夠實現(xiàn)數(shù)據(jù)的接收、處理和管理,并能夠讀出固態(tài)存儲器的數(shù)據(jù),供水文資料整編使用。而應用軟件的開發(fā)可以根據(jù)需要,選擇適宜的程序開發(fā)工具,提高系統(tǒng)的開放性、可靠性和可維護性。為此,本論文提出對采集的水文信息進行系統(tǒng)的分析和管理,提高其利用率和有效性。同時考慮到系統(tǒng)的安全性,建立了用戶權限管理模塊.
由圖1可見,水文信息分析及管理系統(tǒng),主要包括用戶管理模塊、監(jiān)測站信息管理模塊、實時數(shù)據(jù)管理模塊、歷史數(shù)據(jù)管理模塊、報警信息管理模塊五大模塊。各模塊的主要功能為:
(1)用戶管理模塊:通過設置用戶的口令、密碼及權限,管理用戶的信息。用戶的權限設置為管理員和訪客。對于具有管理員權限的用戶,可以修改密碼,添加用戶,刪除用戶,同時實現(xiàn)對數(shù)據(jù)庫的管理;而具有訪客權限的用戶,只可以修改自己的密碼,同時也只能實現(xiàn)實時數(shù)據(jù)的讀取,不能對數(shù)據(jù)庫進行管理。
(2)監(jiān)測站信息管理模塊:用于顯示監(jiān)測站的基本信息,主要包括監(jiān)測站名稱、監(jiān)測站類型、監(jiān)測站所處地理位置、水位基值、水位下限值、水位上限值、水位計類型、通訊方式、水位計分辨率、雨量計分辨率、監(jiān)測站SIM 卡號等信息。
(3)實時數(shù)據(jù)管理模塊:用于實時顯示接收到的信息,根據(jù)接收到的不同水文信息,以報表、折線、條形圖的形式將其顯示出來。
(4)歷史數(shù)據(jù)管理模塊:用于分析歷史數(shù)據(jù)庫的信息,將相應的水文信息以報表、折線、條形圖的形式顯示出來,并對歷史數(shù)據(jù)進行統(tǒng)計分析,得出歷史最高值、最低值、平均值、等信息,據(jù)此進行預報工作。
(5)報警信息管理模塊:將接收到的實時數(shù)據(jù)與水位基值、水位下限值、水位上限值進行比較,使用綠、黃、紅三種顏色進行報警。位于水位下限值和水位基值之間時用綠色顯示,表示處于缺水狀態(tài);位于水位基值和水位上限值之間時用黃色顯示,表示處于安全狀態(tài);位于水位上限值之上時用紅色顯示,表示處于水位過高狀態(tài),需立即采取措施。
為了極好的實現(xiàn)水文信息分析及管理系統(tǒng),本設計的數(shù)據(jù)庫采用SQL Server 2000 數(shù)據(jù)庫,提高其擴展性和可靠性。本設計中主要建立了兩個數(shù)據(jù)庫,一個是用戶信息數(shù)據(jù)庫,一個是水文信息數(shù)據(jù)庫。
用戶信息數(shù)據(jù)庫主要用于存儲用戶的各種信息。主要包括用戶的編號、姓名、地址、電話、單位、城市、出生日和用戶類型等信息。
水文信息數(shù)據(jù)庫,根據(jù)項目的需要,主要包括監(jiān)測站信息表、報警記錄表、水文信息數(shù)據(jù)表三個數(shù)據(jù)表。監(jiān)測站信息表用于存儲有關監(jiān)測站的各類信息,報警記錄表主要用于記錄報警的時間及報警類型,而水文信息數(shù)據(jù)表用于存放接收到的各類水文信息,重點包括雨量、水位、溫度三類信息。
本程序使用VC++6.0作為開發(fā)語言。采用ADO數(shù)據(jù)庫訪問技術。ADO(ActiveX DataObject)是Microsoft 開發(fā)數(shù)據(jù)庫應用程序的最新接口,它為VC++程廳設計員提供了一種新的、更加簡單快捷的數(shù)據(jù)庫編程技術。
報表是數(shù)據(jù)的格式化顯示。類CDC 提供了5種成員函數(shù),分別是DrawText()函數(shù)、ExtTextOut()函數(shù)、GrayString() 函數(shù)、Tabbed-TextOut()函數(shù)和 TextOut()函數(shù)。表體部分主要用DrawText()繪制,其中的參數(shù)lpRe-ct 分別定義了8個RECT 結構的變量Rect0、Rect[7]。Rect0 用于繪標題,Rect[0]到 Rect[6]分別用于繪制列標頭。參數(shù)nFormat 定義了2個UINT 結構的變量 nFormat1、nFormat2。nFormat1 用于繪標題,nFormat2 用于繪表體。
void ChydrographicView::OnDraw (CDC*pDC)//繪制報表
在視圖類ChydrographicView 增加一個成員函數(shù)Dline(),專門用于繪制折線圖。用ClassWizard 定義這個函數(shù),函數(shù)的類型為void,函數(shù)的聲明為Dline(int n,CString fdn),函數(shù)的訪問類型為Private。接下來編輯函數(shù)Dline():
void ChydrographicView::Dline (int n,CString fdn)//繪制折線圖
以條形圖的形式顯示水文信息的設計思想和以折線圖的形式顯示水文信息的設計思想類似,在視圖類ChydrographicView 增加一個成員函數(shù)Dbar(),專門用于繪制條形圖。
以2002年的水文信息數(shù)據(jù)為例,進行統(tǒng)計分析。圖2為全年的水位折線圖,圖3為雨季的水位折線圖,圖4為全年的雨量柱狀圖,圖5為全年的雨量折線圖。
通過圖2的全年水位折線圖和圖3的雨季水位折線圖可以看出,松花江呼蘭河流域在2002年全年水位基本平穩(wěn),基本維持在152m左右,僅在8月份有較大的水位變化,最高值接近153.5m。通過圖4的雨量柱狀圖和圖5的雨量折線圖可以看出,松花江呼蘭河流域在2002年的降雨量主要集中在6到9月份,但這期間的降雨量分布并不均勻,最高值接近40mm,最低值接近0mm,從全年來看,降雨量分布比較分散。
本文通過對采集到的水文信息進行顯示及統(tǒng)計分析,得到了松花江呼蘭河流域水文信息的部分統(tǒng)計規(guī)律,對進一步利用呼蘭河流域的水利資源具有重要的指導作用。
[1]范曉平.跟著實例學Visual C++6.0 訪問數(shù)據(jù)庫繪圖制表[M].北京航空航天大學.2003
[2]余晨,李文炬.SQL Server 2000 培訓教程[M].清華大學出版社.2002
[3]陳維興,林小茶.C++面向對象程序設計教程[M].2002
[4]袁志娟.視頻監(jiān)控系統(tǒng)中監(jiān)控中心的軟件設計與實現(xiàn)[D].華中科技大學碩士學位論文.2007
[5]Xun Gui,Lan Yao,Zhigang Liu,Qingquan Qian.General Power Transmission Line On-Line Monitoring Software System Based on Wireless Public Network[J].Proceedings of the 7th World Congress on Intelligent Control and Automation.2008,6:2777-2782
[6]葉紹松 阮祥發(fā) 趙 燕.基于SQL Server 2000 數(shù)據(jù)庫的庫存管理系統(tǒng)的設計與研究[J].機械設計與制造.2006