【摘要】水文屬于跟國計民生相關的重點基礎性科學,能夠給防汛抗旱、水資源保護以及工程設計等多方面工作形成良好的信息基礎。而隨著水文科學的發(fā)展,傳統形式的原始資料計算程序已經無法符合目前所呈現的應用需求,需要積極利用計算機技術等現代高新科技對計算程序進行開發(fā)和推廣應用,讓水文原始資料的計算工作呈現出更好的準確性和簡便性。本文主要利用VISUAL BASIC 6.0以及MICROSOFT EXCEL 2003進行了程序開發(fā)和應用的分析。
【關鍵詞】水文;原始資料;計算程序;應用
1、開發(fā)工具
對水文原始資料的計算需要具備繪制表格、數據輸入、數據計算、數據編輯、結果輸出、結果保存以及打印等操作。利用編程語言,例如VB、C++以及delphi等都能夠實現計算、保存以及打印之類的功能,不過若想對復雜的表格進行繪制,這些工具就顯得不夠方便,對數據的編輯也顯得比較困難。筆者經過一段時間的分析和研究,發(fā)現將VB跟excel之間進行配合使用能夠對這個問題形成良好的解決。利用excel來進行表格的繪制、數據編輯以及文件保存和打印,然后利用VB6.0對excel對象進行調用,實現計算以及控制的功能,不但能夠有效縮減編程工作量,還可以將繪制表格以及編輯數據等方面的難題形成良好的解決。程序開發(fā)工具主要是VISUAL BASIC 6.0以及MICROSOFT EXCEL 2003。
2、程序開發(fā)
2.1開發(fā)流程
該程序主要利用分布式的模塊化設計方式,程序當中的每一個功能,比如水位計算、流量計算以及斷面計算等都有一個相對應的模塊。模塊化最為主要的優(yōu)點在于各個模塊之間相對獨立,結構更為清晰,方便進行修改以及維護。主要包括:①原始資料模板的制作。根據水文測驗的相關規(guī)范,對原始資料的文件表格進行設計,在文件當中將原始資料的觀測數據輸入到其中,從而供給主程序進行使用。②對水位和流量等原始數據的計算模塊進行編寫,每個模塊都是一個相對獨立的程序包,繼而完成原始數據讀取、計算處理、錯誤處理以及文件寫入等相關功能。③主程序的編寫,達成總體設計以及模塊調用之類的功能。
2.2關鍵技術
2.2.1懸浮窗體
目前,有許多應用程序(比如qq和東方快車等)都利用到了浮動窗體技術。我們所設置的程序也對這種技術進行了應用,在程序運行之后,程序的窗口會浮動在屏幕的左上角位置。在同時將很多應用程序打開的情況之下,此窗體會始終處在最前面。程序界面顯得十分簡潔、實用,應用起來比較方便。
2.2.2FSO對象模型的遍歷文件
針對存儲介質當中文件遍歷屬于操作系統中進行文件管理最為基本的操作。我們在程序當中對數據文件進行制作的過程當中,需要對特定文件(計算原始資料的表格文件)進行讀取,這就需要進行遍歷文件的檢索處理,把其它一些不相關的excel文件全都過濾掉,我們主要利用FSO對象模型來實現這個功能。FSO對象的模型工具能夠利用程序對文件以及文件夾進行創(chuàng)建、移動、改變以及刪除,同時檢測是否有指定文件或者文件夾存在,存在于哪里等功能。此外,FSO對象的模型工具也能夠獲得文件以及文件夾相應的信息,比如創(chuàng)建日期以及修改日期等。
3、程序功能
3.1基本功能
3.1.1水位
能夠對逐日水位和逐日平均水位進行計算,同時還能確定月總數、月最高水位、月平均水位、月最低水位、最高水溫、最低水溫、平均水溫以及各項數據相應的日期。能夠實現對河干以及連底凍等復雜情況的解決。
3.1.2流量
能夠實現對整體流量的計算,從而推算出斷面流量、平均流速、平均水深、最大測點流速等,如果對比降水位進行觀測還能夠實現對出水面比降以及糙率的計算。此外,還可以實施多點法流量的計算,對流速儀法、水面浮標法以及小浮標法等多種檢測方法加以利用對流量進行測驗。并且能夠對死水和分流等比較特殊的情況形成有效的處理。
3.1.3含沙量
將水樣容積、紙和沙含量以及濾紙重量輸入到程序當中,就能夠實現對單樣含沙量的計算。
3.1.4蒸發(fā)量
對逐日蒸發(fā)量、月度最大蒸發(fā)量、最小蒸發(fā)量以及日期等進行計算,能夠對結冰情況加以處理,并進行合并量的觀測,還能夠實現對蒸發(fā)器溢流以及加入水量現象的處理。
3.1.5斷面
將起點距以及測點高程輸入到其中,程序會自動對水面寬進行查讀,從而實現對各個水位級斷面的面積進行計算。該程序能夠實現對任意約束條件下任何形狀斷面的計算。
3.1.6水位流量關系表
將整數水位級流量輸入到其中,能夠計算每個水位所相應的流量。
3.2擴展功能
3.2.1水力半徑
在推求洪峰以及洪水計算等情況之下都需要對水力半徑進行計算。在以前,大都利用平均水深來代替水力半徑,不過會呈現出一定程度的誤差,特別是窄深河流。利用此程序能夠對濕周進行計算,跟面積之間相除之后得到不同水位級相應的水力半徑。
3.2.2數據文件
在數據運行的過程當中需要對數據文件加以應用,就是把各組原始數據編輯在數據文件當中,工作量較大,而且有誤操作問題的出現將會給程序運行整體形成影響。將程序所計算出的每份流量當做是單獨的excel文件進行保存,之后對每份流量特征值(比如斷面位置、流量、測驗方法、施測時間、平均水深、平均流速等數據)進行讀取,依據流量測驗的先后順序寫入到文本文件當中,當做整編程序數據文件。
3.2.3原始資料
該程序供給出了資料連算功能,能夠一次性針對全部資料進行連續(xù)計算。好處在于程序出現改動之后,不用再針對每份資料進行計算,有效降低了工作量。
結束語:
總而言之,現有水文資料的計算方法較為繁瑣,耗費了過多的人力和時間,所以對水文原始資料的計算程序進行開發(fā)顯得非常重要。而隨著各種現代高新科技的發(fā)展,編程語言顯得更加強大,能夠為水文原始資料的計算程序開發(fā)形成良好的基礎。利用程序對水文原始資料進行計算,能夠實現工作量的減少,提升了工作效率,同時減少錯誤發(fā)生的幾率,能夠呈現出十分優(yōu)質的應用效果,值得進一步開發(fā)和推廣應用。
參考文獻:
[1]朱俊,尹炳槐.基于VB.NET2010的水文資料測驗應用系統[J].人民長江,2016,47(S1):66-70.
[2]魏勝利.水文原始資料計算程序開發(fā)與應用[J].黑龍江水利科技,2015,43(01):168-171.
作者簡介:張群(1987.12-),漢族,男,遼寧大石橋人,本科,工程師,研究方向為水文水資源。