罗鹏斌 祁晓龙 孙玉莲
摘要 数据存储技术经历了从手工管理到文件管理、再到数据库管理系统3个阶段,数据库技术中关系数据库占据了主要地位。针对气象行业A文件所存储的历史数据的管理和共享问题,应用Visual Studio、C#语言的开发环境,利用SQL Server 2008数据库技术实现信息共享,建立详细的历史资料数据库,将A文件数据进行统一入库,实现各类天气情况的历史查询、统计、显示、导出,为以后气候分析、气象灾害风险评估等提供基础数据支撑。
关键词 气象基础数据;支撑系统;数据库;软件设计;甘肃临夏
中图分类号 P409 文献标识码 A 文章编号 1007-5739(2016)09-0241-03
Abstract There are three stages in data storage technology,from manual management to document management,and then to database management systems. In database technology,the relational database occupies a major position. Aiming at the managements of stored historical data,issues of the meteorological industry A File were shared,and the Visual Studio,C# language development environment were implicated. To establish detailed database of historical data,information sharing was achieved by SQL Server 2008 depended on applying database. The A File data will be put in storage uniformly to achieve all kinds of weather conditions′ historical inquiry,statistics,and display,export for providing basic data support on the climate analysis,meteorological disaster risk assessment and etc in future.
Key words meteorological basic data;support system;database;software design;Linxia Gansu
现在社会经济飞速发展,对气象要素、各种气象极值及气象服务产品的质量要求越来越高。气象是为当地政府及农业生产服务的,目前提供预报服务产品还是靠传统的手工抄录资料、手工计算等。制作起来不仅慢,还存在不准确、繁琐、气象产品供给性不及时等现象。气象信息的传递与经济飞速发展及农业生产实际需求存在差距。缺少多样性和针对性,这与越来越精细化的农业生产管理要求极不相适应。因此,再按老套路的办法手工抄录资料、手工计算等制作服务产品,势必跟不上形势发展的需要,这就要求气象工作者改变现状,制作出一套既快又便捷的制作服务产品的系统,依靠科技进步改善气象信息的准确性。
临夏州气象灾害占到自然灾害的86%以上,主要是干旱、晚霜冻、冰雹、雷阵雨、大风、大(暴)雨等,其发生的频率高,危害的范围广,特别是对农业生产、农业设施、水资源、生态系统造成巨大的影响,因此随着气象灾害风险评估的需求日益增长,建立一个详细的历史资料数据库(资料来源是各县市A文件数据),将A文件数据进行统一,实现各类天气情况的历史查询、统计、导出,为以后气候分析、气象灾害风险评估提供基础数据支撑具有重大的意义[1-2]。
1 开发环境与开发语言
应用Visual Studio、C#语言的开发环境。利用SQL Server 2008将结构化、半结构化和非结构化文档的数据直接存储到数据库中。对数据进行查询、搜索、同步、分析和导出操作。
2 数据整理和软件设计
2.1 A文件结构分析
A文件是气象部门以文本格式存储每月气象数据的文件,1个A文件存储1个站点1个月的气象数据,是气象上最早存储气象资料的方式之一,这种方式直到目前还在使用。它从手工制作到自动化形成大体分3个阶段:第一阶段是1951—1980年,这个阶段主要是以手工制作为主,主要存储的是每天3次观测(8:00、14:00、20:00)的數据及一些日数据;第二阶段是1980—2005年,是手工制作向自动化推进的发展阶段,主要存储的是每天4次观测(2:00、8:00、14:00、20:00)的数据及一些日数据、最值;第三阶段为2006年到现在,这个阶段其格式正式规范化、精细化,制作进入纯自动化,主要存储的是每个小时观测的数据以及一些日数据、最值及其出现时间。A文件经过了以上3个阶段改革在格式上有着很大的不同,如果要将这些宝贵的数据存储到统一的数据库中,对分析历年A文件存储格式至关重要[3]。
从表1可以看出,A文件格式上虽有着很大不同,但是它却有着很强的规律性,总体来看它的数据存储可以分成2类,第一类是小时数据存储,存储的是特定某个小时的数据,它的变化规律是从定时化向着每小时化变化,总的趋势是从8:00、14:00、20:00到2:00、8:00、14:00、20:00再向00:00—23:00变化的;第二类是日数据,即1 d只有1个观测数据,如每天的最大值、最小值、蒸发、日照等要素数据。下面归类了这2类数据的成员组成:小时数据包括气压、气温、降水、相对湿度、水汽压、露点温度、风、地温、深层地温、云、日照、能见度等。日数据包括蒸发、日照、雪、冻土、天气现象、最值出现时间、夜晚降水、白天降水、日降水等。
结合上述,如何把3次(8:00、14:00、20:00)、4次(2:00、8:00、14:00、20:00)及24 h观测的数据进行统一,就要把A文件格式变化分成2个阶段:一个是3次观测;另一个是4次和24 h观测。由此格式转换上就有了很清晰的思路,首先可以通过年代判断是3次观测阶段还是4次或24 h观测阶段;然后确定好A文件中所包含的信息量,设定好时间;最后通过符号所代表的气象要素及其格式读取相应的数据,对照表1和2类数据的各要素组成把数据放入到相应的数据存储空间。
2.2 数据库设计
SQL Server 2008在Microsoft的数据平台上发布,可以组织管理任何数据[4]。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。在这里通过A文件的结构分析结果建立相应的数据库。分析A文件格式,A文件中存在2种类型数据,一类是小时数据,一类是日数据,并且这2类数据由不同气象要素组合,根据不同数据类型设计合理的数据存储空间结构。
2.2.1 小时数据。小时数据项组成:站点编号、日期、气压、气温、降水、相对湿度、水汽压、露点、温度、2 min风向、2 min风速、10 min风向、10 min风速、0 cm地温、5 cm地温、10 cm地温、15 cm地温、20 cm地温、40 cm地温、80 cm地温、160 cm地温、320 cm地温、云状、总云量、低云量、日照、能见度等。数据表ID:dbo.Per_day_data。数据来源:A文件。数据入库方式:应用软件转换入库。简述:4次观测,每天4组数据;每小时观测,每天24组数据。
2.2.2 日数据。日数据项组成:站点编号、日期、蒸发、日照、雪深、雪压、第一冻土层上限、第一冻土层下限、第二冻土层上限、第二冻土层下限、天气现象、最大气压、最大气压出现时间、最小气压、最小气压出现时间、最高气温、最高气温出现时间、最低气温、最低气温出现时间、最小相对湿度、最小相对湿度出现时间、10 min最大风风向、10 min最大风风速、10 min最大风出现时间、10 min极大风风向、10 min极大风风速、10 min极大风出现时间、0 cm地温最高、0 cm地温最高出现时间、0 cm地温最低、0 cm地温最低出现时间、夜晚降水、白天降水、降水日合计等。数据表ID:dbo.Per_day_data。数据来源:A文件。数据入库方式:应用软件转换入库。简述:一天一组数据,以天为周期[5-6]。
2.3 软件功能制作
随着气象观测的自动化,数据文件的规范化、详细化,作为存储观测数据的A文件已经不方便进行数据查询统计了;除此之外,规范前的A文件数据格式和规范后的A文件数据格式有着很大的差异,以前的一些查询统计软件已经不能够实现一些关键性的功能,因此开发一个新的应用平台来实現数据的整理(建立一个的专门的数据库来存储A文件的数据)、查询、统计、导出等功能是很有必要的。
2.3.1 A文件转换与入库。1950—2004年的A文件,格式上有着或多或少的变化,2005年以后随着A文件的规范化和数据的详细化,文件格式又有大的变化,因此把A文件数据格式进行转换入库是本平台的基本功能,也是核心功能之一(图1)。
A文件数据转换入库功能模块:一是实现A文件数据的读取,统一数据格式并把统一后的数据在表格中显示;二是把统一后的数据导入到建立好的数据库中;三是制作管理员的权限,即当用户只能在登录上管理员后才能应用这个功能。模块界面如图2~4所示。
2.3.2 查询、统计、显示、导出。查询:通过SQL语言,根据设定的站点、时间从数据库中查询符合条件的数据并存入表格。统计:第1种方式是直接通过查询出来的数据,做合计、筛选、归类、降序、升序处理得出所需要的结果;第2种方式是在数据库中直接检索结果数据。显示:数据以表格的格式显示,以柱状图、折线图、曲线图、玫瑰图直观显示数据发展趋势。导出:存在表格中的数据可以导出到Excel中,便于以后处理。表2详细叙述了平台实现的功能。
3 结语
建立了易于存取、查询、检索的数据库,实现对数据的统一管理。把A文件数据无差错的转换导入到了建立好的数据库中,更好地保存了这些数据。为了能够方便运用这些数据,制作了相应的应用软件实现各类气象数据的查询、统计、显示、导出等功能,为以后气候分析、气象灾害风险评估等工作提供了很好的数据支撑和方便。
4 参考文献
[1] 宋昆,李严.SQL Server数据库开发实例解析[M].北京:机械工业出版社,2006.
[2] 李俊民,高春燕.Access数据库开发实例解析[M].北京:机械工业出版,2006.
[3] 王石.精通Visual C# 2005:语言基础、数据库系统开发、Web开发[M].北京:人民邮电出版社,2007.
[4] 张威.C#语言基础教程[M].北京:人民邮电出版社,2001.
[5] 王若曈,黄向东,张博,等.海量气象数据实时解析与存储系统的设计与实现[J].计算机工程与科学,2015(11):2045-2054.
[6] 黄锐,任伟颖,蓝天飞.人工读取区域自动气象站存储数据的方法与技巧[J].气象水文海洋仪器,2015(2):87-90.