车达升,耿殿鹏,李晓东
(91550 部队35 分队,辽宁 大连116000)
基层台站观测人员将气象数据以文本形式存入计算机,该形式的资料查询统计只能通过原始翻阅的方式进行,须建设一套基于计算机数据库的智能查询信息管理系统,便于历史气象数据的统计分析,进行区域气候背景分析。
能够将文本文件中数据存入数据库,当文件读取错误时,能够定位文件,并跳过错误将剩余数据读取。
2.2.1 时记录统计
①能够选择起止时间和要素种类显示数据库中的时记录,并能够修改错误数据。
②能够对时记录中的总云量、风速、风向、能见度、天气现象、气温、相对湿度、分云量等要素自由组合,要素值域可限定(>,≥,<,≤,=),时间按年、月(季)、日(旬)、时和持续时间等进行综合统计,并能够输出符合条件的总天数、符合条件的日期;要素的平均值最大最小值。
2.2.2 日记录统计
①能够选择起止时间和要素种类显示数据库中的日记录,并能够修改错误数据。
②能够对日记录中的日最高气温、日最低气温、日降水量等要素自由组合,要素值域可限定,时间按年、月(季)、日(旬)等进行综合统计,输出符合条件的总天数、每一天的日期,要素的平均值最大最小值。
2.2.3 天气纪要
能够选择起止时间和要素种类显示数据库中的天气纪要。
能够对系统登陆进行认证,并记录操作日志。
系统设计过程中对各种数据表格进行设计,包括:时记录表格、日记录表格、时记录统计输出表格、日记录统计输出表等。
根据业务需求,进行功能模块划分与设计,主要划分为三大模块,分别为数据录入模块、数据查询模块和系统维护模块,其中数据查询模块为核心模块,主要有时记录查询和日记录查询[1]。时记录查询中,单要素统计查询为基础模块,查询条件有时间条件和要素取值范围条件,其中连续时间条件为查询难点,功能图具体如图1 所示。实际编程过程中,直接将所有功能划分在数据录入模块、时数据查询模块、多要素查询模块、日数据查询模块和系统维护模块。本文重点介绍数据录入模块、时数据查询模块、多要素查询模块和日数据查询模块。
图1 系统功能图
4.1.1 数据要素
文档中出现的主要数据要素:站号、年份、月份、日、观测次数、时、总云量、风向、风速、能见度、天气现象、气温、露点温度、相对湿度、绝对湿度、本站气压、海平面气压、云底观测方式、分云量、云状、云底高、日最高气温、日最低气温、日合计降水量、日合计降水量、日降水持续时间、天气纪要。
4.1.2 时数据表格设计
依据文档中的时数据要素,时数据表格设计如表1 所示,数据由站点、日期和时唯一确定。
4.1.3 日数据表格设计
依据文档中的日数据要素,日数据表格设计如表2 所示,数据由站点和日期唯一确定。
表1 时数据表格
表2 日数据表格
4.1.4 数据库操作函数
数据库操作函数包括获得数据库连接、关闭数据库连接、写日志函数、存时数据函数、存日数据函数、时数据是否存在函数、日数据是否存在函数、删单一时数据函数、删单一日数据函数、删条件时数据函数、删条件日数据函数、时数据查询函数、多要素查询函数、建立中间表格函数、删除中间表格函数、更新中间表格函数、统计天数函数、日数据查询函数和删除日数据函数等[2]。其中,时数据查询函数、多要素查询函数和日数据查询函数为核心函数。
4.2.1 界面设计
数据录入模块界面设计。
4.2.2 程序设计
数据录入模块程序流程图,开始-初始化-选择文件-根据是否为多文件,分为单文件处理模块和多文件处理模块。其中,单文件处理模块为基本模块,包括连接数据库函数、报文处理函数、存时数据函数和存日数据函数等,主要用于处理报文并将处理结果存入数据库中[3]。
时数据查询模块程序流程为:时数据查询→设置站点参数→设置时间参数→调用查询模块→显示结果。其中,查询函数为核心函数,通过调用数据库操作函数中的时数据查询函数完成相应功能。
多要素查询模块程序流程为:多要素查询→设置站点参数→设置时间参数→设置多边查询条件→设置连续时间条件→调用查询模块→显示结果。其中,查询函数为核心函数,通过界面确定查询条件,通过调用数据库操作函数中的多要素查询函数完成相应功能[4]。
日数据查询模块程序流程为:日数据查询→设置站点参数→设置日期参数→调用查询模块→显示结果。其中,查询函数为核心函数,通过界面确定查询条件,通过调用数据库操作函数中的日数据查询函数完成相应功能。
本文设计了一套基于实况数据的统计查询系统,较好地完成了气象信息的业务需求,为气象资料统计分析提供了便利条件。