用VB从A文件提取雷电资料并写入EXCEL表

2014-04-29 01:45刘红坤贾琳高霞等
安徽农业科学 2014年23期
关键词:提取

刘红坤 贾琳 高霞等

摘要做雷电研究需要地面气象数据资料,而现有的地面气象资料以文本形式存在,无法进行数据查询、统计、计算等,因而不能满足雷电统计及相关性分析的需求。为了解决此问题,利用Visual Basic 6.0编程实现了自动从地面气象观测数据文件(简称为A文件)中提取雷暴等所需数据并写入Excel表的功能,提取结果可按单站、单要素输出,从而为雷电研究提供了可操作的基础气象数据,为雷电服务工作提供了便利。

关键词VB;A文件;雷电资料;提取;Excel

中图分类号S161文献标识码A文章编号0517-6611(2014)23-07937-02

作者简介刘红坤(1975- ),女,河北保定人,高级工程师,从事防雷工作。

收稿日期20140710雷电以其强大的电流、炙热的高温、巨变的电磁场以及强烈的电磁脉冲等物理效应使其在瞬间产生巨大的破坏作用[1]。雷电灾害会造成人员伤亡、击毁建筑物,使供电设施、通信设备中断,引发森林火灾等严重危害人们生命安全和财产安全。因此分析雷电灾害特征及成因很有必要。统计雷电日数、分析雷电特征依据数据之一是地面气象观测数据,各级气象台站通过业务软件将采集到的数据按月形成A文件,A文件为文本文件。且地面气象资料由大量的此格式文件构成,数据量大、格式复杂、不易查阅。而雷电研究仅需要其中的雷暴、沙尘暴、扬沙、浮尘、霾、能见度、大风、降水要素数据。另外,VB是Windows应用程序高效的开发工具,但其处理表格方面不够灵活,而Excel具有灵活操作表格特点,因此笔者采用VB结合Excel设计了提取雷电资料的软件,将提取结果写入Excel表,Excel对数据处理、统计、分析具有强大的功能,有利于以后雷电研究中利用统计学方法对保定地区的雷电时空分布特征进行更深入地研究[2]。

1A文件与数据格式

地面气象观测数据文件为月地面气象资料格式文件,文件名由17位字母、数字、符号组成,其结构为“AⅡiii-YYYYMM.TXT”。A文件由台站参数、观测数据、质量控制、附加信息四部分构成。其中观测数据由20个地面要素构成,每个要素在文件中的排列顺序是固定的。每个要素由指示码、方式位及该要素一个月的观测数据组成[3]。A文件中一个要素可有一个或多个数据段,一个数据段由若干条记录构成,一条记录由若干项数据组成。要素、数据段、记录和数据项之间用换行、等号、点及空格来标识或区别。

2资料来源及统计说明

选取保定地区9个基本观测站,在2011年1月~2014年3月逐日地面观测资料中,提取雷暴、沙尘暴、扬沙、浮尘、霾、能见度、大风、降水要素数据。在统计数据时,一日之内(20:00~次日20:00) 发生一次或多次雷暴的作为一个雷暴日,沙尘暴、扬沙、浮尘、霾的统计方法同雷暴。一日之内(20:00~次日20:00)极大风速≥17 m/s记为大风日。若有降水时,统计一日之内(20:00~次日20:00)的降水总量。

3设计思路与关键技术

3.1设计思路如果要在大量的气象数据中快速提取到所用的数据,数据分割法是一种科学有效的处理方法。数据分割是指把结构相同的数据分散到各自的物理单元中去,能独立地进行处理。数据分割完成后,任何给定的数据单元属于且仅属于一个分割[4]。 保定地区所有观测站多年的A文件存放在一个数据仓库中,首先按照观测站站名及时间标准分割数据,将所需9个站3年多的数据从大的数据集中划分出来,变为小的数据集;其次按照要素类型标准分割数据,将小数据集再做细化分割;再其次按照分隔符标准分割数据,将每条要素记录微型分割;最后提取所需数据。分割提取到的数据以报文编码的形式存在,经过翻译,写入Excel电子表,提取数据的整个过程结束。

3.2关键技术程序中通过调用VB中的Dir()函数搜索目录中符合条件的A文件,找到数据文件后打开,查找雷暴等要素的指示码,定位所需要素位置后,读取其数据记录,利用Split()函数分割记录字符串,分割后提取所需气象要素。因不能预知数据中究竟包含多少个符合要求的气象要素,所以采用了动态数组来存储数据,节约了空间,有效地利用了资源。采用字符串函数Right()截取气象要素的记录结束符,跳出循环。

4具体实现步骤

4.1遍历文件夹,检索所需的源文件具体实现的程序代码如下:

5结语

采用VB编程实现了对A文件的雷暴等要素数据的自动提取,通过VB与Excel有机地结合,解决了气象资料原有的存储格式不能进行数据统计等問题,实现了气象观测数据文件由文本格式到Excel格式的转换,改善了数据资料检索、统计方式,为雷电统计及特征分析等工作打下了良好的基础,大大提高了工作效率。

参考文献

[1] 雷正翠,夏文梅,周霖华,等.常州雷暴的气候特点及多普勒雷达回波特征[J].气象,2009,35(12):119.

[2] 明日科技.Visual Basic 从入门到精通[M].3版.北京:清华大学出版社,2012.

[3] 中国气象局.地面气象观测数据文件和记录表簿格式[M].北京:气象出版社,2009.

[4] 李明芳,刘虹,姚敏.数据仓库方法论[J].计算机应用与软件, 2003,20(1):2.

[5] 魏彩乔,王晓光,焦满囤.基于VB 和EXCEL 的复杂数据报表输出[J]. 华北航天工业学院学报,2005,15(1):3.安徽农业科学,Journal of Anhui Agri. Sci.2014,42(23):7939-7941,

猜你喜欢
提取
土壤样品中农药残留前处理方法的研究进展
中学生开展DNA“细”提取的实践初探
浅析城市老街巷景观本土设计元素的提取与置换
虾蛄壳中甲壳素的提取工艺探究