水文站流量測驗成果的計算,一直以來都是采用進行人工計算、校核和統(tǒng)計,這種傳統(tǒng)的方式不僅繁瑣,工作量大而且效率低,隨著科技的發(fā)展,計算機的普及及應用,開發(fā)計算機的應用程序,應用計算機進行流量測驗成果的統(tǒng)計計算,不僅縮短了工作量,同時提高了計算精度,大大提高生產率,解放了勞動力,為測洪、報訊等節(jié)約了時間,為提升水文測報整的數(shù)據(jù)化、性息化提供了支持和保障。
Microsoft office Excel(電子表格)是水文站職工最為常用的應用軟件之一,Excel的VBA(Visual Basic For Application)語言提供了強大的二次開發(fā)功能;結合不同測區(qū)河流特性和現(xiàn)有流量測驗方法,設計適合本地區(qū)河流特性的流量計算程序是提高本地區(qū)流量測驗自動化水平的重要因素,該程序結合水文測站流量測驗計算的具體要求,并滿足《河道流量測驗規(guī)范》和《水文資料整編規(guī)范》的技術要求。除了考慮到流量的計算方法外,還考慮到陡岸邊、兩股流、測深不測速、死水界定、一條垂線兩個水深、多點法、多種流速儀的組合應用,冰期流量計算等特殊條件下的計算,都可以通過程序中的參數(shù)設置將所需要的參數(shù)和系數(shù)輸人到其中,包括岸邊系數(shù)、流速系數(shù)、比降斷面間距、流速儀計算公式、水尺高程等。
根據(jù)水文測驗規(guī)范的要求以及實際工作的需要,利用VBA宏控制語言編寫了流量計算的程序代碼,通過控制Excel對象和流量計算、圖表自動繪制等功能,借此使Excel和VBA在流量測驗計算中得以應用?;赩BA開發(fā)Excel測量程序具有簡便、高效和通用的特點,程序的使用具有直觀、實時、動態(tài)、靈活、交互性與圖形功能強等明顯的優(yōu)勢。由于Office軟件使用的普遍性及其組件之間數(shù)據(jù)良好的交互性和共享性,Excel在數(shù)據(jù)處理與相應報告的生成等方面更具優(yōu)勢。在項目設計開發(fā)以及成果檢驗,都是在水文站的流量實測資料的基礎上進行,而后在其它水文站上檢驗、推廣及應用。
Excel是微軟公司開發(fā)的一種具有計算、繪圖等多種功能通用的電子表格軟件,是微軟辦公套裝軟件的一個重要的組成部分,它具有嚴格的先后順序和邏輯關系,每一個表格具有固定的格式,層次清晰,一目了然,可以進行各種數(shù)據(jù)的處理、統(tǒng)計分析和輔助決策操作,廣泛應用于眾多領域,在水利方面的應用也越來越廣泛;水文測驗中數(shù)據(jù)較多,計算量大,是一項比較繁瑣且人工計算容易出錯的工作,采用Excel編制計算模塊,具有強大的功能和良好的人機交互對話界面,簡單又實用,容易掌握,每一個軟件都有輸人、輸出等工作表,按照記錄本格式填寫,輸出符合表格比較接近,經(jīng)過編制加工后,可以達到'所見即所得"的效果,具有易學易用、功能強大、圖像直觀的特點。
Visual Basic for Applications(簡稱VBA)是新一代標準宏語言,是基于Visual Basic for Windows 發(fā)展而來的。它與傳統(tǒng)的宏語言不同,傳統(tǒng)的宏語言不具有高級語言的特征,沒有面向對象的程序設計概念和方法。而VBA 提供了面向對象的程序設計方法,提供了相當完整的程序設計語言。VBA 易于學習掌握,可以使用宏記錄器記錄用戶的各種操作并將其轉換為VBA 程序代碼。這樣用戶可以容易地將日常工作轉換為VBA 程序代碼,使工作自動化。因此,對于在工作中需要經(jīng)常使用Office 套裝軟件的用戶,學用VBA 有助于使工作自動化,提高工作效率。另外,由于VBA 可以直接應用Office 套裝軟件的各項強大功能,所以對于程序設計人員的程序設計和開發(fā)更加方便快捷。
根據(jù)要解決的問題來選擇 VBA 的使用方式是很重要的,電子表格并不能提供所有問題的解決方案。使用 VBA 子程序來處理自動重復計算任務是很有效的;使用 VBA 建立簡單函數(shù)也是很方便的。該項目主要研究流速儀測驗方式下流量成果,采用一種基于Excel的應用計算機程序來計算流速儀暢流期和冰期實測流量成果的方法。只要將起點距、水深、信號數(shù)和歷時輸人到指定界面下,該次的流量成果就會自動生成。該程序與手工計算的過程方式一樣,不僅能計算流量而且還可以計算每條垂線的部分輸沙率,同時將輸沙率的成果一并體現(xiàn)在流量計算表中。經(jīng)檢驗該程序可適應各種復雜情況下(如復式斷面、多岸邊系數(shù)、測深測速混合、測速垂線多點法混合等不確定因素混合在一起)的流量計算。該程序主要由測站基本信息、暢流期模板、流量編輯、流量計算與打印、系統(tǒng)設置、數(shù)據(jù)庫管理等部分組成。
對于使用流速儀測流的流量計算,首先要獲得流速公式的參數(shù),通過建立流速儀基本信息,在計算處理時可直接調用,極大減少公式的輸人量。通過系統(tǒng)設置中水尺高程的設置,只要填取開始和終了讀數(shù)即可。流量測驗從水邊開始布設測速垂線,逐條輸入測速垂線的相關信息,包括起點距、水深、測時、信號數(shù)和歷時,直至另一水邊結束。對于需要計算輸沙率的測站,可在每條垂線所對應的位置輸人采樣方法、垂線平均含沙量,便能自動計算部分輸沙率。通過各個信息的輸入,流量計算成果表中流量、面積、流速、斷面平均含沙量、糙率和水面比降、以及各極值都會一一自動的計算出來,并且會以電子表格的形式保存輸出,方便打印、保存和校核。
編者認為Excel和VBA編制流量測驗軟具有下列主要特點:
1.數(shù)據(jù)輸入直觀方便簡潔
水文測驗中的雨量、水位、流量、蒸發(fā)等原始數(shù)據(jù)記錄采用表格形式的記載表,該軟件輸人全部采用與記載表一樣格式,只要把測量數(shù)據(jù)按照記載表格式填寫到相應位置即可,非常直觀,熟悉水文測驗的人員不需要專業(yè)學習,直接填寫就可以,比如流量計算,只需輸人站名、施測時間、起點距、水深、總轉數(shù)、歷時等必要實測數(shù)據(jù)。
2.快速準確自動處理數(shù)據(jù)
水文測驗中經(jīng)常遇到一些需不斷重復計算的繁瑣工作,采用Excel數(shù)據(jù)關聯(lián)及相應公式強大功能,使用者可以不關心如何計算,只要把數(shù)據(jù)輸完,輸出工作表就會得到正確計算結果。在測量中,數(shù)據(jù)較多,以往采用計算器人工一步步計算,并根據(jù)水文規(guī)范要求的有效位數(shù)和小數(shù)位數(shù)取舍位數(shù),任務量大且容易出錯。如采用VBA編輯函數(shù),輸出數(shù)據(jù)可自動更新,使用方便,達到零差錯。
3.優(yōu)秀的可視化交互界面
Excel的“所見即所得"功能為用戶提供了一個可視化的交互平臺,可以讓用戶在一個工作表下管理眾多關聯(lián)數(shù)據(jù),多個工作表在同一個任務下運行,過程清晰透明,使用方便。采用Excel計算模塊的輸人輸出工作表可以加工成與人工計算一樣的記載計算表,就像紙質記載表一樣,直接打印即可,達到資料整編規(guī)范要求。
4.Excel計算模塊嚴格遵守水文規(guī)范,使數(shù)據(jù)計算過程和結果符合規(guī)范要求
水文的測驗和整編規(guī)范對測驗數(shù)據(jù)的計算過程小數(shù)取舍有嚴格要求,進位采用取規(guī)范規(guī)定精度位數(shù)后一位數(shù)字,采用“四舍六入,奇進偶舍”方法取舍,不同水文要素的單位和取舍精度都不一樣采用人工計算繁雜,效率低,而且容易出錯。如果使用Excel和VBA結合,只需編輯一個函數(shù)即可輕松達到“四舍六入,奇進偶舍”的效果,計算過程和結果符合水文規(guī)范要求。
5.方便測驗原始數(shù)據(jù)儲存、調用
傳統(tǒng)人工記載一般只對結果導出文本結果,查閱調用原始數(shù)據(jù)很不方便,往往需要查看原始記載表。水文行業(yè)對原始資料保存有嚴格要求,有專門資料庫,有專人負責,其他人員查閱原始資料不方便。但采用Excel計算模塊可以將每次測驗數(shù)據(jù)分別命名,分類保存在指定文件夾中,保存至任意一臺計算機,方便儲存和調用。
作者簡介:
郭銀良,男,1980.7祁連縣農牧水利和科技局。