APP下载

气象报表系统设计与实现

2015-05-15舒秦

电脑知识与技术 2015年8期

舒秦

摘要:按照中国民航总局空中交通管理局的相关规范,民航观测需要编写月总簿和年总簿。该文系统采用B/S架构,收集存储观测数据,并生成规定格式的年月总簿。大大减轻观测员的劳动强度,极大提高了月总簿和年总簿数据的准确性,避免了人工计算处理资料可能产生的错误。同时,由于客户端为浏览器,在维护和管理上也很方便。

关键词:气象报表;观测数据;网站开发;月总簿;年总簿

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)08-0009-03

Abstract:Accordance with the relevant norms of Air Traffic Management Bureau of CAAC, The observation department of meteorology needs to make the monthly books and yearly books for statistics. In this paper, the system uses B / S architecture, and provides capacities of collecting and storing observational data, and generateing monthly and yearly books with specific format. It reduces the labor costs of the observer, and is very convenient for the maintenance and management, as the clients is only browsers.

Key words: meteorology report; observation data; web development; monthly book; annual book

按照中国民航总局空中交通管理局下发的《民用航空气象地面观测规范》第七条规定,民航气象观测应按照规定的格式和要求编写《民用航空气象地面观测月总簿》和《民用航空气象地面观测年总簿》。月总簿和年总簿是民航气象服务机构为国家积累的重要科学技术档案,它们不仅是气象科学研究和天气预报经验总结的基础,也是为国际和国内民航部门提供机场气象资料的重要依据。

1 概述

按照相关规范,气象观测月总簿和年总簿的制作,需要对各种不同的情况采用不同的方式采集大量数据,使用不同的方式对大量数据进行计算和处理。显然,使用人工方式不仅极大增加观测员的劳动强度和负担,而且存在数据处理方式不合规范或计算错误等风险。

本系统按照相关文件规定的民航气象月总簿和年总簿制作规范,完成资料的自动收集、计算处理、排版,最后生成EXCEL和PDF两种格式的文件以便查阅、存档和打印,并提供文本形式的资料备份与导入,具备月总簿和年总簿资料的收集、计算、处理、排版等功能。

2 开发环境

软件由vs2008.net开发,数据库使用oracle10g,采用B/S模式,具有易于维护升级,方便管理的优点。网站服务器部署在气象中心数据库室机房,网站数据库建立在气象中心数据库室现有oracle服务器上,年月总簿在服务器端统一生成,同时,生成的月总簿和年总簿除采用网页格式预览,并提供EXCEL和PDF两种格式打包以供保存和打印。当结果有疑问需要修改时,用户可下载excel格式的报表进行修改。

3 系统设计

民航西南空管局气象中心观测报表系统的整体架构如图1所示。

系统采用B/S架构,报表数据集中存放于服务器端的Oracle数据库中,客户端不保存任何业务数据和数据库连接信息,安全性较高。同时由于数据是集中存放的,不存在数据一致性问题。日常维护通常只需维护WEB服务器即可,所有客户端只是浏览器,升级应用软件时一般无需对客户端做任何修改,因此其维护和升级也比较方便,基本上不影响用户使用。

3.1 报表生成流程

年月报表生成流程如图2所示。年月报表中的相同数据统计由同一段代码生成,确保统计结果一致。网页预览文件可直接在用户界面上点击相应页面查看。PDF与EXCEL文件用于存档与打印。

3.2数据库设计

数据库表设计如表1所示。数据库设计上,采用报表信息表(BOOK_INFO)用以定制年月报表,可修改包含的页面与页序。同时也用于存放观测场的相关信息。观测设备信息存放在EQUIP表中。

观测数据以三类形式存在,一是每个小时的记录数据,一是按天记录的数据。此外,还可能存在临时通知的文本信息。故将以日为单位和以小时为单位的数据分开存储在DAY_INFO中和HOUR_INFO表中,并在DAY_INFO中提供每日额外备注说明的存储位置,每日额外备注说明按照报表样式表集中在月报表的最后一页备注栏显示。日数据中的天气现象演变是比较复杂的字符串,通过分析后,将其分解到Weatheryanbian、nengjianduyanbian、gayanbian、雷暴演变等五张表中,供统计分析使用。由此,在数据的增删改中,需要保持五张分解表与Day_info表的一致。

3.3数据收集方式

数据采用两种方式搜集。一种是从观测自观系统的数据库中提取,一种是在网页上提供每日数据的修改以及录入,以解决第一种方式导入的数据可能存在的错漏,或是格式不兼容导致的导入失败。每一种方式均在存储进数据库之前按照报表数据规范进行检查,检查不通过时,通知用户修改。由于导入数据的格式不尽相同,不同系统的观测留底资料需要单独进行数据的分析与导入。该功能单独封装在类NewDataTran中,可直接进行修改或增添不同格式的导入方式。

3.4数据处理

数据处理分为三部分组成。

首先根据统计需要,从数据库中提取原始数据,并作较为简单的统计。在第一步的结果上,进行进一步的筛选与统计。最后,按照特定的格式输出到预先定义好的excel模板文件中。

3.5数据输出

数据采用三种方式向用户呈现。网页预览方式。可直接点击页面链接打开每一张统计表。如图3和图4所示。点击图3和图4的链接可以网页方式查看对应表,如图5所示。右下方的pdf/excel下载按钮可下载相应格式的报表文件。重新生成用于数据发生变更后再次生成报表。图4中选中“浏览已有年报表”,可在下拉列表框中选择服务器上存在的年报表文件。取消选择,可直接输入年份生成相应年报表。

3.6数据库的备份与恢复

虽然也可以用oracle自带的备份功能,但本系统还是提供了文本格式的数据导出备份,以及相应的导入功能,可用于在没有数据库的情况下进行简单的数据分析。

3.7辅助功能

其他辅助功能如站点信息修改/设备管理,服务器上已有报表浏览下载等,均提供一目了然的界面给用户以进行修改或下载。设备管理如图6所示。

3.8类设计

在类设计上,主要集中在将共有的计算独立出来,使用同一段代码进行一类计算,保证计算的一致性,同时也方便维护阶段可能的修改。

3.8.1 公用类

系统主要设计了4个公用类:ValidateClass、CommFun、DBOPer、LogWriter。如图7中部所示。各个类的用途如表2所示。

3.8.2 数据输入输出类

系统主要设计了4个类用于数据的输入与输出。如表3所示。观测数据中的天气现象演变,是较为复杂的字符串数据,为了方便对其的相关统计,除在Day_info表中以原字符串的形式存储外,另使用类WDA_SingleDay,对其进行分析,并将结果根据统计需要存在不同的表中。天气现象的具体分析将在他文中进行详细的描述。

3.8.3 报表生成类

系统主要设计4个类用于报表的生成。如表4所示。

4 运行状况

该系统界面友好,满足用户的需求,投入运行后,极大地方便了用户的使用,大大减轻了报表编制人员的工作量。由于采用B/S结构,不必安装客户端,维护也通常集中在客户端,方便了用户,也减轻了维护人员工作量。

5 总结

本系统可以满足中国民航总局空中交通管理局对气象中心观测室制作月总簿和年总簿的要求,大大减轻观测员的劳动强度,由于数据由程序确定处理方法和进行计算,极大提高了月总簿和年总簿数据的准确性,避免了人工计算处理资料可能产生的错误。

参考文献:

[1] 民航局空管办.民用航空气象地面观测规范[M].北京:中国民用航空局空管行业管理办公室, 2012.

[2] [美]Jan Goyvaerts、[美]Steven Levithan.正则表达式经典实例[M].郭耀,译.北京:人民邮电出版社,2010.

[3] [美]Ben Forta.正则表达式必知必会[M].杨涛,等,译.北京:人民邮电出版社,2007.

[4] [美]Jason Price.Oracle Database 11g SQL开发指南[M].史新元 北英,译.北京:清华大学出版社,2008.

[5] [美]John Sharp. Mmicrosoft Visual C# 2010 Step by Step[M]. America:Microsoft Press, 2010:535-564、566-583.

[6] 明日科技.C#开发经验技巧宝典[M].北京:人民邮电出版社,2007.