地面观测资料系统设计探索

地面观测资料系统设计探索

一、系统简介

1.1设计思路。

分别利用Delphi7在流操作和网络通讯方面的便捷及VB6.0的易用性特点,采用混合编程方法,实现文件与非文件数据的转换、数据采集、统计、存储和网络传输等功能,实现基于局域网的地面观测资料自动收发系统研发。系统设计分为数据采集处理软件和数据接收处理软件两部分,二者独立运行,通过网络进行交互。利用UDP数据报协议进行通讯,便于交互双方之间的数据信息传输。数据采集处理软件既可主动发送数据,也可被动响应远程数据接收处理软件的控制指令,进行数据发送;数据接收处理软件则为气象台、农业气象站等数据用户服务,可接收辖区内所有台站的数据,并可按照用户要求进行相应操作等。

1.2系统结构。

系统包括数据采集处理软件和数据接收处理软件。数据采集处理软件应用于观测站,包括每小时数据采集、日统计、数据保存、数据收发、当日地面气象要素数据文件(以下简称长Z文件)逐时查阅等功能,数据接收处理软件包括数据收发、数据显示、旬月统计、数据保存、数据转换、打印输出等。

二、主要功能实现方法

2.1数据采集。

台站数据存储格式因所用自动气象站型号不同而异,数据采集处理软件可能需要获取新型自动气象站或Ⅰ、Ⅱ型自动气象站采集数据。这就需要解决数据采集处理软件的数据获取、统计、输出等统一的格式问题。长Z文件可由地面测报业务系统软件自动形成,包括目前自动观测的所有数据和人工观测项目数据,且数据经过了台站质量控制,不同类型自动气象站形成的长Z文件数据格式统一。数据采集处理软件以逐时长Z文件为数据源,以文本只读方式访问数据、统计形成所需的服务数据,并自动写到发送文件中。

2.2数据收发的实现。

系统运行在地市气象系统的局域网内。因单站数据传输量不大,采用简单的UDP无连接协议传输,所需系统资源很少且不需要维护连接状态,十分便捷。采用Delphi7编程,通过对流的操作,实现数据的发送与接收。在Dephi中提供了一个抽象的数据类型TStream来支持对流式数据的操作,提供了统一、简洁的方法来进行数据的读写。在通常情况下,对流式数据的读写封装在VCL控件的方法中。系统采用IdUDPServer、IdUDPClient控件进行数据收发。发送方采用IdUDPClient控件的Send方法来实现数据的发送。接收方首先定义Tstringstream类流变量并创建一实例,通过实例对象的CopyFrom属性取得IdUDPServer控件接收的数据,再通过实例的DataString属性还原字符串。

2.3远程指令请求。

在网络畅通的情况下,数据接收处理软件可以通过远程指令,使数据采集处理软件自动发送最新的日数据、时数据到本机。其工作原理是:自动编写指令(指令中包含区站号、数据类型标识等),通过软件数据收发模块,将指令发送到指定的远程计算机,数据采集处理软件接收、解读指令后,根据指令的不同进行选择性响应,非本站的指令请求不作任何响应。

2.4数据转换。

数据转换是数据接收处理软件中主要功能之一。包括长Z文件中“基数据”的转换、软件界面数据导出成Excel表格数据、符号表示的天气现象记录转换为汉字描述的降水类别等功能。在数据处理中,天气现象解析式重要的环节之一。

三、业务试用效果

软件开发完成后,在泰安市辖区内县局站及市气象台、农业气象实验站进行半年多的业务试用。试用表明:局域网内UDP协议下的地面气象观测数据自动收发系统能为数据的实时业务应用需求提供高效便捷的手段。可用软件自动实现台站观测数据的调取,实用性强。

四、小结

该软件目前仅是初步实现业务应用功能,计划通过客户端软件访问服务器手段,实现台站无人工干预的便捷应用模式,进一步提高效率。

作者:袁超 丁善文 闫海涛 单位:泰安市气象局