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