水文原始资料计算程序开发与应用分析
2018-10-14张群
【摘要】水文属于跟国计民生相关的重点基础性科学,能够给防汛抗旱、水资源保护以及工程设计等多方面工作形成良好的信息基础。而随着水文科学的发展,传统形式的原始资料计算程序已经无法符合目前所呈现的应用需求,需要积极利用计算机技术等现代高新科技对计算程序进行开发和推广应用,让水文原始资料的计算工作呈现出更好的准确性和简便性。本文主要利用VISUAL BASIC 6.0以及MICROSOFT EXCEL 2003进行了程序开发和应用的分析。
【關键词】水文;原始资料;计算程序;应用
1、开发工具
对水文原始资料的计算需要具备绘制表格、数据输入、数据计算、数据编辑、结果输出、结果保存以及打印等操作。利用编程语言,例如VB、C++以及delphi等都能够实现计算、保存以及打印之类的功能,不过若想对复杂的表格进行绘制,这些工具就显得不够方便,对数据的编辑也显得比较困难。笔者经过一段时间的分析和研究,发现将VB跟excel之间进行配合使用能够对这个问题形成良好的解决。利用excel来进行表格的绘制、数据编辑以及文件保存和打印,然后利用VB6.0对excel对象进行调用,实现计算以及控制的功能,不但能够有效缩减编程工作量,还可以将绘制表格以及编辑数据等方面的难题形成良好的解决。程序开发工具主要是VISUAL BASIC 6.0以及MICROSOFT EXCEL 2003。
2、程序开发
2.1开发流程
该程序主要利用分布式的模块化设计方式,程序当中的每一个功能,比如水位计算、流量计算以及断面计算等都有一个相对应的模块。模块化最为主要的优点在于各个模块之间相对独立,结构更为清晰,方便进行修改以及维护。主要包括:①原始资料模板的制作。根据水文测验的相关规范,对原始资料的文件表格进行设计,在文件当中将原始资料的观测数据输入到其中,从而供给主程序进行使用。②对水位和流量等原始数据的计算模块进行编写,每个模块都是一个相对独立的程序包,继而完成原始数据读取、计算处理、错误处理以及文件写入等相关功能。③主程序的编写,达成总体设计以及模块调用之类的功能。
2.2关键技术
2.2.1悬浮窗体
目前,有许多应用程序(比如qq和东方快车等)都利用到了浮动窗体技术。我们所设置的程序也对这种技术进行了应用,在程序运行之后,程序的窗口会浮动在屏幕的左上角位置。在同时将很多应用程序打开的情况之下,此窗体会始终处在最前面。程序界面显得十分简洁、实用,应用起来比较方便。
2.2.2FSO对象模型的遍历文件
针对存储介质当中文件遍历属于操作系统中进行文件管理最为基本的操作。我们在程序当中对数据文件进行制作的过程当中,需要对特定文件(计算原始资料的表格文件)进行读取,这就需要进行遍历文件的检索处理,把其它一些不相关的excel文件全都过滤掉,我们主要利用FSO对象模型来实现这个功能。FSO对象的模型工具能够利用程序对文件以及文件夹进行创建、移动、改变以及删除,同时检测是否有指定文件或者文件夹存在,存在于哪里等功能。此外,FSO对象的模型工具也能够获得文件以及文件夹相应的信息,比如创建日期以及修改日期等。
3、程序功能
3.1基本功能
3.1.1水位
能够对逐日水位和逐日平均水位进行计算,同时还能确定月总数、月最高水位、月平均水位、月最低水位、最高水温、最低水温、平均水温以及各项数据相应的日期。能够实现对河干以及连底冻等复杂情况的解决。
3.1.2流量
能够实现对整体流量的计算,从而推算出断面流量、平均流速、平均水深、最大测点流速等,如果对比降水位进行观测还能够实现对出水面比降以及糙率的计算。此外,还可以实施多点法流量的计算,对流速仪法、水面浮标法以及小浮标法等多种检测方法加以利用对流量进行测验。并且能够对死水和分流等比较特殊的情况形成有效的处理。
3.1.3含沙量
将水样容积、纸和沙含量以及滤纸重量输入到程序当中,就能够实现对单样含沙量的计算。
3.1.4蒸发量
对逐日蒸发量、月度最大蒸发量、最小蒸发量以及日期等进行计算,能够对结冰情况加以处理,并进行合并量的观测,还能够实现对蒸发器溢流以及加入水量现象的处理。
3.1.5断面
将起点距以及测点高程输入到其中,程序会自动对水面宽进行查读,从而实现对各个水位级断面的面积进行计算。该程序能够实现对任意约束条件下任何形状断面的计算。
3.1.6水位流量关系表
将整数水位级流量输入到其中,能够计算每个水位所相应的流量。
3.2扩展功能
3.2.1水力半径
在推求洪峰以及洪水计算等情况之下都需要对水力半径进行计算。在以前,大都利用平均水深来代替水力半径,不过会呈现出一定程度的误差,特别是窄深河流。利用此程序能够对湿周进行计算,跟面积之间相除之后得到不同水位级相应的水力半径。
3.2.2数据文件
在数据运行的过程当中需要对数据文件加以应用,就是把各组原始数据编辑在数据文件当中,工作量较大,而且有误操作问题的出现将会给程序运行整体形成影响。将程序所计算出的每份流量当做是单独的excel文件进行保存,之后对每份流量特征值(比如断面位置、流量、测验方法、施测时间、平均水深、平均流速等数据)进行读取,依据流量测验的先后顺序写入到文本文件当中,当做整编程序数据文件。
3.2.3原始资料
该程序供给出了资料连算功能,能够一次性针对全部资料进行连续计算。好处在于程序出现改动之后,不用再针对每份资料进行计算,有效降低了工作量。
结束语:
总而言之,现有水文资料的计算方法较为繁琐,耗费了过多的人力和时间,所以对水文原始资料的计算程序进行开发显得非常重要。而随着各种现代高新科技的发展,编程语言显得更加强大,能够为水文原始资料的计算程序开发形成良好的基础。利用程序对水文原始资料进行计算,能够实现工作量的减少,提升了工作效率,同时减少错误发生的几率,能够呈现出十分优质的应用效果,值得进一步开发和推广应用。
参考文献:
[1]朱俊,尹炳槐.基于VB.NET2010的水文资料测验应用系统[J].人民长江,2016,47(S1):66-70.
[2]魏胜利.水文原始资料计算程序开发与应用[J].黑龙江水利科技,2015,43(01):168-171.
作者简介:张群(1987.12-),汉族,男,辽宁大石桥人,本科,工程师,研究方向为水文水资源。