劉紅坤 賈琳 高霞等
摘要做雷電研究需要地面氣象數(shù)據(jù)資料,而現(xiàn)有的地面氣象資料以文本形式存在,無法進行數(shù)據(jù)查詢、統(tǒng)計、計算等,因而不能滿足雷電統(tǒng)計及相關(guān)性分析的需求。為了解決此問題,利用Visual Basic 6.0編程實現(xiàn)了自動從地面氣象觀測數(shù)據(jù)文件(簡稱為A文件)中提取雷暴等所需數(shù)據(jù)并寫入Excel表的功能,提取結(jié)果可按單站、單要素輸出,從而為雷電研究提供了可操作的基礎(chǔ)氣象數(shù)據(jù),為雷電服務(wù)工作提供了便利。
關(guān)鍵詞VB;A文件;雷電資料;提?。籈xcel
中圖分類號S161文獻標識碼A文章編號0517-6611(2014)23-07937-02
作者簡介劉紅坤(1975- ),女,河北保定人,高級工程師,從事防雷工作。
收稿日期20140710雷電以其強大的電流、炙熱的高溫、巨變的電磁場以及強烈的電磁脈沖等物理效應(yīng)使其在瞬間產(chǎn)生巨大的破壞作用[1]。雷電災(zāi)害會造成人員傷亡、擊毀建筑物,使供電設(shè)施、通信設(shè)備中斷,引發(fā)森林火災(zāi)等嚴重危害人們生命安全和財產(chǎn)安全。因此分析雷電災(zāi)害特征及成因很有必要。統(tǒng)計雷電日數(shù)、分析雷電特征依據(jù)數(shù)據(jù)之一是地面氣象觀測數(shù)據(jù),各級氣象臺站通過業(yè)務(wù)軟件將采集到的數(shù)據(jù)按月形成A文件,A文件為文本文件。且地面氣象資料由大量的此格式文件構(gòu)成,數(shù)據(jù)量大、格式復(fù)雜、不易查閱。而雷電研究僅需要其中的雷暴、沙塵暴、揚沙、浮塵、霾、能見度、大風、降水要素數(shù)據(jù)。另外,VB是Windows應(yīng)用程序高效的開發(fā)工具,但其處理表格方面不夠靈活,而Excel具有靈活操作表格特點,因此筆者采用VB結(jié)合Excel設(shè)計了提取雷電資料的軟件,將提取結(jié)果寫入Excel表,Excel對數(shù)據(jù)處理、統(tǒng)計、分析具有強大的功能,有利于以后雷電研究中利用統(tǒng)計學(xué)方法對保定地區(qū)的雷電時空分布特征進行更深入地研究[2]。
1A文件與數(shù)據(jù)格式
地面氣象觀測數(shù)據(jù)文件為月地面氣象資料格式文件,文件名由17位字母、數(shù)字、符號組成,其結(jié)構(gòu)為“AⅡiii-YYYYMM.TXT”。A文件由臺站參數(shù)、觀測數(shù)據(jù)、質(zhì)量控制、附加信息四部分構(gòu)成。其中觀測數(shù)據(jù)由20個地面要素構(gòu)成,每個要素在文件中的排列順序是固定的。每個要素由指示碼、方式位及該要素一個月的觀測數(shù)據(jù)組成[3]。A文件中一個要素可有一個或多個數(shù)據(jù)段,一個數(shù)據(jù)段由若干條記錄構(gòu)成,一條記錄由若干項數(shù)據(jù)組成。要素、數(shù)據(jù)段、記錄和數(shù)據(jù)項之間用換行、等號、點及空格來標識或區(qū)別。
2資料來源及統(tǒng)計說明
選取保定地區(qū)9個基本觀測站,在2011年1月~2014年3月逐日地面觀測資料中,提取雷暴、沙塵暴、揚沙、浮塵、霾、能見度、大風、降水要素數(shù)據(jù)。在統(tǒng)計數(shù)據(jù)時,一日之內(nèi)(20:00~次日20:00) 發(fā)生一次或多次雷暴的作為一個雷暴日,沙塵暴、揚沙、浮塵、霾的統(tǒng)計方法同雷暴。一日之內(nèi)(20:00~次日20:00)極大風速≥17 m/s記為大風日。若有降水時,統(tǒng)計一日之內(nèi)(20:00~次日20:00)的降水總量。
3設(shè)計思路與關(guān)鍵技術(shù)
3.1設(shè)計思路如果要在大量的氣象數(shù)據(jù)中快速提取到所用的數(shù)據(jù),數(shù)據(jù)分割法是一種科學(xué)有效的處理方法。數(shù)據(jù)分割是指把結(jié)構(gòu)相同的數(shù)據(jù)分散到各自的物理單元中去,能獨立地進行處理。數(shù)據(jù)分割完成后,任何給定的數(shù)據(jù)單元屬于且僅屬于一個分割[4]。 保定地區(qū)所有觀測站多年的A文件存放在一個數(shù)據(jù)倉庫中,首先按照觀測站站名及時間標準分割數(shù)據(jù),將所需9個站3年多的數(shù)據(jù)從大的數(shù)據(jù)集中劃分出來,變?yōu)樾〉臄?shù)據(jù)集;其次按照要素類型標準分割數(shù)據(jù),將小數(shù)據(jù)集再做細化分割;再其次按照分隔符標準分割數(shù)據(jù),將每條要素記錄微型分割;最后提取所需數(shù)據(jù)。分割提取到的數(shù)據(jù)以報文編碼的形式存在,經(jīng)過翻譯,寫入Excel電子表,提取數(shù)據(jù)的整個過程結(jié)束。
3.2關(guān)鍵技術(shù)程序中通過調(diào)用VB中的Dir()函數(shù)搜索目錄中符合條件的A文件,找到數(shù)據(jù)文件后打開,查找雷暴等要素的指示碼,定位所需要素位置后,讀取其數(shù)據(jù)記錄,利用Split()函數(shù)分割記錄字符串,分割后提取所需氣象要素。因不能預(yù)知數(shù)據(jù)中究竟包含多少個符合要求的氣象要素,所以采用了動態(tài)數(shù)組來存儲數(shù)據(jù),節(jié)約了空間,有效地利用了資源。采用字符串函數(shù)Right()截取氣象要素的記錄結(jié)束符,跳出循環(huán)。
4具體實現(xiàn)步驟
4.1遍歷文件夾,檢索所需的源文件具體實現(xiàn)的程序代碼如下:
5結(jié)語
采用VB編程實現(xiàn)了對A文件的雷暴等要素數(shù)據(jù)的自動提取,通過VB與Excel有機地結(jié)合,解決了氣象資料原有的存儲格式不能進行數(shù)據(jù)統(tǒng)計等問題,實現(xiàn)了氣象觀測數(shù)據(jù)文件由文本格式到Excel格式的轉(zhuǎn)換,改善了數(shù)據(jù)資料檢索、統(tǒng)計方式,為雷電統(tǒng)計及特征分析等工作打下了良好的基礎(chǔ),大大提高了工作效率。
參考文獻
[1] 雷正翠,夏文梅,周霖華,等.常州雷暴的氣候特點及多普勒雷達回波特征[J].氣象,2009,35(12):119.
[2] 明日科技.Visual Basic 從入門到精通[M].3版.北京:清華大學(xué)出版社,2012.
[3] 中國氣象局.地面氣象觀測數(shù)據(jù)文件和記錄表簿格式[M].北京:氣象出版社,2009.
[4] 李明芳,劉虹,姚敏.數(shù)據(jù)倉庫方法論[J].計算機應(yīng)用與軟件, 2003,20(1):2.
[5] 魏彩喬,王曉光,焦?jié)M囤.基于VB 和EXCEL 的復(fù)雜數(shù)據(jù)報表輸出[J]. 華北航天工業(yè)學(xué)院學(xué)報,2005,15(1):3.安徽農(nóng)業(yè)科學(xué),Journal of Anhui Agri. Sci.2014,42(23):7939-7941,