孙永顺,吴有恒
(1.贵州省三穗县气象局,贵州 三穗 556500;2.贵州省贵阳市气象局,贵州 贵阳 550001)
基于VBA的两要素自动气象站数据查询系统
孙永顺1,吴有恒2
(1.贵州省三穗县气象局,贵州 三穗 556500;2.贵州省贵阳市气象局,贵州 贵阳 550001)
两要素气象站原始数据的文本文件记录了各站点气温、降水量数据,文本文件数据复杂繁多。利用VBA面向对象的语法结构进行应用程序开发,该系统从原始数据文件中提取各站点气温、降水量数据,并实现了气温、降水量的日数据、日合计、月平均、年平均以及极值条件查询功能,极大地提高了两要素资料查询和统计工作效率。
VBA;两要素气象数据;查询系统
随着气象卫星、多普勒雷达、多要素自动气象站的广泛使用,气象科学研究的课题已向中小尺度的方向发展,同时提出了地面自动气象观测点密度要向以网格状间隔5 km方向发展。两要素自动站作为区域自动站正在发挥着人工无法代替的重要作用,大量的两要素自动气象观测站投入业务观测运行,为中小尺度的气象预报提供了及时准确的气象要素,提高了中小尺度天气的监测预警能力。所以对两要素自动站收集提供的数据资料提取后进行研究是气象科学研究工作的重要组成部分。本文介绍了利用Excel内置的VBA开发程序提取两要素气象数据并实现有查询功能的系统开发。
选取Office中的Excel作为开发平台。Excel有着强大的数据处理和数据存储功能,而且内置了大量函数,可连接到多种数据库,对数据处理进行了最强有力的支持,Excel已经不能看成是一个简单的应用程序了,它是一个强大的开发平台。利用其内嵌的VBA进行应用软件开发,具有运行速度快,使用方便,开发高效等特点。
两要素气象数据文件每天有4个文件(即4个后缀名为*.02 、*.08、*.14、*.20 的文件),这 4个文件里面包括了各站点名、前6h的气温、前6h的降水量。功能设计及思路如下:
图1 系统组成模块图
①从每天4个数据文件里面按站点提取数据后形成新的基础数据表文件。
②由于每年会增加新的两要素站点,要求系统对新出现的站点要能自动识别并添加维护数据。
③根据站点、日期的选择进行每天的数据查询。
④降水量条件查询实现对某年降水量日合计值大于等于"xxx"mm的站点及具体时间的查询。
⑤温度条件查询实现对某年某日某时温度值大于等于"xxx"℃的站点及具体时间查询。
⑥实现对某年某月某站点的月、年平均温度或月、年平均降水量的查询。
⑦能够打印所查询的数据。
结合功能设计的需求,可将该系统分为维护站点数据、生成基础数据表等模块。模块如图1所示:
由每天的4个数据文件里提取数据后可按年维护站点并形成一个基础数据Excel文件。部分核心代码如下:
以新形成的基础数据文件为核心,根据需要设计查询功能。这里以日数据查询为例。
2.5.1 日数据查询的窗体界面设计 打开Microsoft Office Excel 2003中文版,点击“工具”→“宏”→“Visual Basic编辑器”,执行其中“插入”菜单下的“用户窗体”命令,插入一个窗体,并设置好窗体的Name属性,根据需要添加一些控件即可(图2)。
2.5.2 日数据查询功能程序代码 在已建好的窗体里面添加一些代码,源码如下:
图2 日数据查询窗体
该系统利用了VB的子集VBA作为开发工具,不需要安装程序,只要将其拷贝到安装有Excel环境的计算机上就可以直接运行,而且软件占用内存空间小,运行速度快,真正意义实现了安全可靠、方便、快捷。该系统提高了在实际工作中需要提取查询、保存两要素自动气象站数据工作人员的工作效率,减轻了日常工作负担,同时为完善气象灾害监测预警系统及气象灾害数据库起到了重要作用。
[1] 韩小良,韩舒婷.Excel VBA高效办公实用宝典[M].北京:中国铁道出版社,2008.
[2] 李政,李莹,等.Excel高级应用案例教程[M].北京:清华大学出版社,2010.
P413
B
1003-6598(2011)03-0040-03
2011-03-13
孙永顺(1981-),男,助工,主要从事地面气象测报工作。