水文测验系统软件开发与应用
作者:admin 来源:未知 日期:2020-12-11 08:22人气:
[摘要]基于Java编程语言所开发编译的《甘肃省水文测验系统》实现水文测验原始资料的分析处理,解决了水文站自动监测设备数据资料整编工作、多种测验方式下的流量计算、服务于水情预报的水位流量关系曲线分析等水文数据处理的程序化。具有水文原始资料录入、计算整理、图形处理、资料成果导出等功能。软件符合基层水文资料测算需求,从而实现内业计算的高效性、便捷性、实用性。
[关键词]Java;水文资料;软件系统;开发应用
1概述
水文资料整编是将水文测站收集的原始资料,按照科学的方法和统一的格式进行整理、分析、审查、汇编、刊印的整套工作。通过整编,把原始水文资料提炼成为系统的整编成果,以供防洪、科研、水利等其他国民经济建设应用[1]。目前,甘肃省水文资料整编采用《水文资料整编系统》HDP5.0软件,极大地促进了水文资料整编工作,该软件侧重于水文资料审查与汇编刊印,对水文资料在站整编中原始资料的计算、校核、制图、制表等问题并未涉及[2]。水文测验原始资料的记载、计算、校核等工作主要由人工完成,工作效率低,易出现不规范、计算错误等问题,从而影响后续水文资料审查、汇编成果质量。同时,随着水文现代化的逐步推进和水文自动化仪器设备的推广使用,自动化仪器设备采集的数据记录格式的不同和未进行分析整理等问题无法直接用于资料整编。在这样的前提下,利用计算机编程语言等新技术开发编译的《甘肃省水文测验系统》软件(下文简称测验系统)解决了上述存在的问题,水文计算的程序化满足了水文行业内业工作的需求,自动化设备所监测的数据得到了充分应用。
2系统设计
2.1系统需求
(1)所开发编译的测验系统应结合甘肃省水文现状,实现水文测验原始资料的分析处理,并能与《水文资料整编系统》HDP5.0进行数据对接。(2)测验系统面向水文测站职工和资料整编技术人员,主要针对在站整编和审查阶段中容易出现的计算错误、记载不规范等问题,提高水文资料整编成果质量。(3)测验系统应具有水文原始资料录入、资料分析计算、图形处理、资料成果导出等功能。解决非驻测水文站自动监测设备数据的提取转换、多种测验方式下的流量计算整编、服务于水情预报的Z-Q关系曲线等其他相关水文原始资料分析计算的程序化。(4)应具有完整独立的数据库管理体系,利用计算机硬件和软件技术对测验系统涉及的水文数据进行有效的收集、存储、处理和应用。
2.2系统设计原则
《甘肃省水文测验系统》软件开发是一项功能众多、结构复杂、立足于甘肃省流域特性的软件系统工程,为保证测验系统达到预期设计需求,在系统开发过程中应遵照软件工程的思想和方法原则[3]。(1)功能性与规范性原则。应满足基层水文工作者的日常性内业工作需求,能够对各类水文原始数据进行分析处理,具备可操作性,各项功能应按照《水文资料整编规范》(SL247-2012)要求设计,计算方法应符合水文行业技术标准。(2)易用性与灵活性原则。各项操作逻辑应简单、明确,操作界面简洁,突出重点,用户通过较少的学习成本可熟练掌握软件。各项基础资料的输入,应以最少量的输入达到数据录入的目的。(3)可靠性与可维护性原则。开发过程应遵循边开发边测试,以测试结果修正软件主体。应具有一定的容错性与恢复性,在出现中断事件的情况下系统能够重新恢复运行。软件内部结构与数据库应具有可修改、可扩展等特点,以便后续对系统软件进行功能性升级。
2.3系统设计结构
基于Java编程语言,应用Spring、MyBatis、Maven等框架来构建测验系统,主要分为界面层、操作层、分析处理层与数据库管理层。利用Java语言丰富的资源库与外部接口结合ECharts可视化图表库、LibXL控制库与界面层,实现数据录入、水文分析、图表显示、打印输出等功能,各功能模块之间通过数据库进行通信。水文分析模块是以水文行业规范为标准创建的数据分析计算类,原始资料数据通过界面交互窗口以键盘录入或文档导入等方式获取,并储存于相应数据库分类表中。原始资料经过水文分析模块计算分析形成成果资料,以图表等形式打印输出,测验系统软件结构见图1。
2.4系统界面设计
测验系统软件基于Windows系统环境开发,支持Windows7以上所有版本,建议采用Windows10系统运行。操作界面采用扁平化设计风格,界面直观、简洁,操作方便快捷,用户接触软件后对界面功能可一目了然,简单培训即可掌握操作。使用户专注于主要业务操作流程,提高了测验系统的易用性。测验系统界面见图2。
3系统功能
3.1功能区说明
测验系统功能区由工作区域、功能导航栏、子功能设置栏、状态提示栏组成。(1)工作区域由选择框、表格、菜单控件组成,是主要的工作区域。提供测站与年份选择、水文资料录入、计算分析输出、图表显示等功能。(2)功能导航栏由若干个特定的按钮控件构成,可快速访问测验系统内各工作区域,提供测站信息录入、水文分析模块、用户帮助等基本功能。(3)子功能设置栏是程序各基本功能内部独立的设置选项,提供参数设置、分析计算、数据保存、导出文档等各类操作接口。(4)状态提示栏用于动态地显示测验系统的运行状态信息,如菜单命令或错误提示等,为用户下一步操作提供实时指导意见。
3.2基本功能
3.2.1设备数据分析功能设备数据转换模块主要对JH-2型雨量计和SEBAPULS型雷达水位计等非驻测水文站自动监测设备所采集的水文数据进行分析处理。如JH-2型雨量计是以5分钟为基本单位依次记录,逢降雨则记录观测值,无降雨则记录为“0”,全年可观测105120次,数据量是十分庞大的。故应对数据进行分析简化,剔除无效观测值,消除数据中存在的数据丢失、奇异值、重复值、乱码等问题[4]。实现自动监测设备数据与《水文资料整编系统》HDP5.0的格式对接,以满足非驻测水文站资料整理的要求。(1)降水量数据分析模块。降水量数据分析算法应符合《降水量观测规范》(SL21-2006)要求,模块应能够准确的分析出“摘录雨量”、“逐时雨量”、“时段雨量”、“逐日雨量”。其中“摘录雨量”通过整编后可得到《逐日降水量表》、《降水量摘录表》、《各时段最大降水量表(1)》。(2)水位数据分析模块。水位数据分析算法应符合《水位观测规范》(GB50138-2010)要求。模块算法应能够按照“四段制”等相关技术标准对水位进行精简摘录,同时保留节点水位和特征值水位。当平水期水位过程呈锯齿状时,应对水位进行平滑处理。处理后的水位变化过程应完整,能够满足流量推求与保证率水位的挑选。通过整编后可得到《逐日平均水位表》、《洪水水位摘录表》。3.2.2流量测验计算功能流量测验计算模块主要是对各类流量测验资料进行计算、分析、整理和输出打印。河道流量测验采用最为广泛的方法是流速面积法,是通过实测过水断面上的流速和过水断面面积来推求流量的一种方法。(1)流速仪法计算模块。程序模块主要采用分析法计算流量,计算内容主要包括测点流速、垂线平均流速、部分平均流速、部分流量、断面流量等,断面面积的计算。能够处理垂线单点法、垂线多点法,且不受垂线布设的限制,可通过水位自动分析过水断面数据。能够处理停滞、逆流、陡岸、死水边、分流等一系列特殊水情。计算后可得到《畅流期流速仪法实测流量记载表》,见图3。(2)浮标法计算模块。根据甘肃省水文测验方式,使用最为广泛的是中泓浮标法与均匀浮标法。模块利用水位内插的方法确定水边,计算其过水断面面积,结合浮标流速获得断面瞬时虚流量。适用于单一河道与复式河道下的流量计算,只需录入水位与浮标历时,选择相应的河道横断面数据即可完成一份浮标流量计算。计算后可得到《浮标法流量测验记载表》。(3)比降面积法计算模块。模块首先根据测量数据绘制纵断面水面线与洪痕线推求洪痕水位,再用洪痕水位分别计算上下河道横断面面积并绘制横断面图,最后对绘制的横断面图与纵断面图进行合理性分析。满足要求后通过水面比降、糙率和断面数据等资料,采用曼宁公式获得流量调查数据。主要应用于河道洪水调查,计算后可得到《洪调断面洪峰流量计算成果表》,洪调断面河段纵断面分析见图4。3.2.3水位流量关系曲线功能关系曲线模块适用于水情报汛中临时曲线率定,通过实测的流量资料快速进行关系曲线率定,可满足水情信息随测随报的及时性要求。实测流量与水位数据在空间的分布上没有递增关系,自变量为分散性变量。由于水位流量关系趋势线以曲线形式展现,可在直角坐标系中先创建散点图,再利用统计学中三项式回归方程对各散点进行拟合,求得拟合曲线的各个节点坐标值并将其绘制为光滑的曲线,即获得水位流量关系曲线[5]。程序可完成单一曲线法与临时曲线法两种定线,模块水位流量关系曲线图见图5。3.3数据管理测验系统数据管理提供文件储存与MySQL数据库两种模式。文件储存是由操作系统的文件管理模块提供支持,将数据资料以文本文件的形式储存于程序子目录“\DataStorage”文件夹中。通过“\Stations.sw”文件索引,可访问“\DataStorage”下不同路径来实现对数据资料的存取与查询。MySQL数据库是一种开放源代码的关系型数据库管理系统,系统程序创建数据库名称为“hydrologicflow”,计算数据与成果数据按照“数据类别+测站编码+年份”的命名形式储存于不同的表项中。
4系统实现
4.1功能实现
(1)数值有效位数与进舍规则。测验系统内部算法按照“四舍六入,五后有数进,否则奇进偶舍”技术规范要求保留适当有效位数,舍去多余数字。从统计学的角度,“四舍六入五留双”比“四舍五入”要科学,它使舍入后的结果更平均。先判断待取舍数的数值量级,并确定有效位数,再根据四舍六入法则进行取舍。(2)河道横断面面积分析。由于河道横断面的复杂性、多样性,在计算机程序处理时无法只利用横断面高程与水位数据准确的锁定水流位置从而分析过水断面面积。因此,通过计算机编程技术首次提出“河道中数”概念,从而解决河道断面面积分析中存在的不确定性难题。“河道中数”是指河道中各过水断面内所测得高程的最低点所对应的起点距,此值必须存在于大断面测量数据中。通过“河道中数”可精准锁定河道中水流位置,识别出断面的类别,如单一断面、复式断面等,准确的计算出不同的水力条件下的河道过水断面面积。(3)Excel文档操作。测验系统内各水文分析模块计算成果需要通过Excel文档输出打印,系统程序采用LibXL库实现对Excel的操作。LibXL是XLware公司开发的第三方支持库,可以不依赖微软Excel环境和.NET框架读写Excel文件,支持Excel二进制格式和XML格式。(4)图形分析绘制。图形是进行水文数据分析的一个重要工具,以图的形式通过点的位置、曲线的走势等形式,直观呈现研究对象间的数量关系。测验系统采用ECharts-Java.dll封装库,可在Java环境下使用toString()方法将代码转换为JSON结构的数据,并借用IE内核显示图形。ECharts-Java可用于河道断面图、水位流量关系图、逐日水位流量趋势图等图形的绘制,其中大断面示意图见图6。
4.2系统测试
测验系统经过前期开发于2019年初步完成,后由甘肃省平凉水文水资源勘测局组织对测验系统进行测试。测试方法主要采用黑盒测试,从水文职工日常工作视角出发,所有测试数据和测试方式均采用实测资料并模拟成测站实际工作环境。对测验系统的窗口界面、系统功能、数据管理及外部结构进行测试,通过实例测试来确定软件是否满足设计需求,具体方案如下:(1)根据水文工作需求在甘肃省内挑选具有代表性的水文勘测局、水文站对测验系统进行测试。(2)测试实例采用2年以上水文实测资料,并能覆盖所有可能途径,包含合理资料与不合理资料。实例库进行定期修订和补充,增加新的或不同的测试实例帮助发现更多的缺陷。(3)实例测试应由输入测试、执行测试、成果测试三部分组成。交由指定人员指导使用,收集实际应用中的意见,集中再测试,以提升测试效率。(4)软件开发人员应及时修正测试中发现的错误,并详细记录软件版本号、错误原因、修正方法、涉及范围等内容,防止因修正方法偏差而导致程序出现其他错误。修正完成后的软件需采用原出错实例进行再次测试,并将出错实例纳入永久测试实例库。
5应用成效
2019年度在完成软件测试的基础上,根据反馈的意见补充强化了对于特殊情况的处理能力,并通过了专家组评审。测验系统软件先在平凉水文水资源勘测局下属各测站使用,参与在站资料测算和整编工作,后在甘肃省部分水文站及省外相关单位推广使用。(1)参与完成2018至2019年度甘肃省水文水资源局下属61处水文站、477处雨量站的降水量自动监测设备资料摘录与整编工作。(2)参与完成2019年度平凉水文水资源勘测局下属6处水文站实测流量分析计算、整编工作,13处定点洪水调查资料计算、整编工作。(3)参与完成《甘肃省平凉市崆峒区泾河南干渠灌区耗水系数监测实验研究水资源监测技术报告》中总干渠渠首站水位自动检测设备资料分析整编工作。(4)参与完成2018至2019年度杭州市水文水资源监测总站、湖州市水文水站等地区测站流量资料测算整编工作。6结语《甘肃省水文测验系统》软件充分结合甘肃省河流水文特性,严格按照《水文资料整编规范》等技术规范进行设计和编程,填补了甘肃省水文资料在站计算、校核、制图、制表和自动化仪器设备数据处理等方面的空白。软件经甘肃省各水文测站多年综合应用后,认为本测验系统符合基层水文工作需要,提高了水文测算数据的准确率与记载格式的规范度,解决了水文自动化仪器设备监测数据资料整编难题,提高了水文资料在站整编的工作效率和成果质量,节省了人力。下一步将继续优化系统功能,使软件各项操作逻辑更加符合水文职工的使用习惯,便于职工学习掌握。同时加强后期维护,以应适应计算机硬件更新和新形式下水文工作需求。
作者:雒仪 赵映东 王毓森 党喜成 单位:甘肃省平凉水文水资源勘测局 甘肃省水文水资源局
上一篇:计算机科技信息网络建设发展策略
下一篇:休闲农业与乡村旅游发展分析
下一篇:休闲农业与乡村旅游发展分析