?

自動氣象站數據預處理方法

2017-03-06 12:59張美玲陳龍辛明月殷紅
現代農業科技 2017年1期
關鍵詞:自動氣象站程序設計質量控制

張美玲++陳龍++辛明月++殷紅

摘要 對自動氣象站的數據進行質量檢驗,并利用C#語言將文本文件格式的氣象數據輸入到SQL Service書庫中,用SQL語言進行修改、查詢、維護,減輕了數據使用者從氣象數據源文件中提取各種主要氣象信息的工作量。

關鍵詞 自動氣象站;數據預處理;質量控制;程序設計

中圖分類號 P415.1+2 文獻標識碼 B 文章編號 1007-5739(2017)01-0203-03

自動氣象站是由電子設備或計算機控制的自動進行氣象觀測和資料收集傳輸的氣象站,是一種自動收集、處理、存儲或傳輸氣象信息的裝置[1]。它每隔一定時間,就會自動采集一次氣象數據,實現了對多種氣象數據的實時觀測,并將觀測的數據實時傳輸到控制終端,減輕了人工觀測的勞動強度,有效提高了工作效率。

自從自動氣象站投入使用以來,很多學者對其數據能更好地使用進行了研究,主要是數據的質量控制、處理以及維護等。數據的質量控制包括2種:一種是對歷史數據的質量控制;另一種是實時質量控制。世界氣象組織認為,自動氣象站資料實時質量控制應在2個層面控制:一是在觀測臺站進行基本質量控制,如王建莊等[2]在觀測臺站做過實時質量控制;二是在數據處理中心進行,如王海軍等[3]對數據處理中心做過實時質量控制。本文是對歷史數據進行質量控制。

目前,氣象數據處理常見的方法是用程序對自動氣象站數據進行處理,從而減輕了數據使用者從氣象數據源文件中提取各種主要氣象信息的工作量[4]。高 杰等[5]應用C++語言開發研制自動氣象站數據質量檢查系統;冉桂平等[6]應用Visual Basic 6.0與SQL Server 2000相結合,采用SQL結構化數據查詢語言,建立起基于C/S方式地自動氣象站資料綜合管理應用系統;謝 光等[7]基于VB.NET技術研究了地面自動氣象站數據庫;張秀英等[8]應用C#語言結合SQL Server 2000數據庫開發研制烏海兩要素自動氣象站數據接收系統。

自動氣象站采集的數據是以.txt的形式保存的,每隔10 min傳輸1次。文本文件格式的數據不利于進行計算、統計等,而氣象要素多、數據量大,如何能更好地處理大量數據,就成為一個非常重要的問題。鑒于此,本文應用C#語言結合SQL Server 2008數據庫對沈陽市自動氣象站的數據進行處理,旨在為沈陽市自動氣象站數據處理提供一些建議。

1 開發工具及運行環境

1.1 開發工具

本文用的開發工具是C#。C#語言是當前使用非常廣泛的一種開發語言,其用途廣泛,既可以開發面向窗口的應用程序,也可以開發面向網頁的B/S系統。對于現在既需要作應用程序又要作網絡查詢系統來說,用C#來開發是最合適的。

1.2 運行環境

運行環境是目前使用最廣泛的數據庫系統SQL Server[9]。

2 自動氣象站數據處理實現過程

2.1 自動氣象站數據質量檢驗

中國氣象局在全國范圍內使用的地面測報業務軟件OSSMO 2004版,其實時地面常規要素數據文件簡稱ZZ文件,保存了自動站每分鐘實時采集的所有數據[10-11]。

自動氣象站數據質量控制貫徹在設計、選購、測試、安裝、運行全過程中,現主要對輸出的數據進行質量檢驗,即各氣象要素的檢驗。檢驗通常遵循以下規則①各要素是否符合正常的變化規律;②各要素的測量值是否符合相互間的關系;③極值及出現時間是否有反?,F象;④當資料出現反常時,應從相關情況分析其合理性;⑤當月統計值(平均值、合計值、極值)出現明顯反常時,應用時空資料比較[12]。

用氣候極值范圍檢查、內部一致性檢查、時間一致性檢查、空間一致性檢查,對自動氣象站的實時資料進行自動質量控制。

2.1.1 日極值與定時值的比較檢查。日最低氣壓≤定時氣壓≤日最高氣壓;日最低氣溫≤定時氣溫≤日最高氣溫;定時風速≤日最大風速;日最小相對濕度≤定時相對濕度。

2.1.2 要素的相關檢查。海平面氣壓≥本站氣壓(海拔高度低于0 m的臺站除外);極大風速≥最大風速。

2.1.3 氣候極值比較檢查。最高本站氣壓<1 050.0 hPa,日最低本站氣壓>600.0 hPa;最高氣溫<50.0 ℃,日最低氣溫 >-55.0 ℃;定時降水量<200 mm;日最大風速<65.0 m/s;日極大風速<75.0 m/s。

2.2 自動氣象站數據入庫

2.2.1 自動氣象站采集的原始數據。自動氣象站實時地面氣象數據傳輸文件是指氣象站通過自動氣象站或人工觀測的地面氣象記錄實時形成的數據文件,該文件可作為實時上傳的地面氣象報告,其文件組成見表1。

文件名中:“Z_O_AWS_ST_C5、Z_O_SAD_ST_C5、Z_O_ AWS_DAY_C5、Z_R_AWS_C5”為固定編碼;“IIiii”為測站的區站號;“yyyyMMddhhmmss”為文件生成的時間(國際時),“yyyy”為年,4位;“MM”為月,2位;“dd”為日,2位;“hh”為小時,2位;“mm”表示為分鐘,2位;“ss”為秒,2位[12]。

圖1為L1003氣象站2009年5月19日16:00的實時數據文件,數據記錄如圖2所示,其中記事本內各數據記錄包含的內容如圖3所示。

2.2.2 數據導入和數據入庫。本文利用C#語言編程,將自動氣象站輸出的文件導入到SQL數據庫中的表文件。在沈陽市自動氣象站大約有82個,因此采集的數據量很龐大,其中每個自動氣象站10 min記錄1次數據,1 d的數據作為一個文件夾儲存起來。如此龐大的數據用Excel來處理很不方便,可通過編程將這些數據導入到數據庫中進行處理。數據文件的導入過程如圖4所示,導入后的數據在數據庫中存在的形式如圖5所示,每個自動氣象站1年的數據為1個表。

在數據庫中打開L1005(站名兩家子)自動氣象站2008年的監測信息,部分結果如圖6所示。

2.2.3 數據修改。修改輸入到SQL Server數據庫中的自動氣象站數據明顯的錯誤。如L1003區站監測信息表中觀測時間“20080501142000”被錯誤地寫成了“20080101142000”。修改的具體操作步驟如下:①鼠標右鍵單擊數據表L1003區站2008年監測信息,在彈出的快捷菜單中選擇“編輯前200行”命令(圖7);②在彈出的對話框中將觀測時間內的錯誤記錄“20080101142000”改成“20080501142000”即可(圖8),最后單擊保存按鈕。其他字段如有錯誤,修改步驟同上。

2.2.4 數據查詢。在SQL Server數據庫中,對其數據進行查詢比較方便,簡單的SQL語言即可實現。例如:查找沈陽市L1003站2008年5月的數據,查詢界面及結果分別見圖9、10,過程如下:

USE [MR-KFGL]

SELECT 氣溫,觀測時間

from [dbo].[L1003區站監測信息]

where 觀測時間 between 20080501001000 and 2008053 1235000

2.2.5 自動氣象站數據維護。數據庫在使用的過程中必須進行定期的維護,如更新數據庫統計信息、執行數據庫備份等,以確保數據庫一直處于最佳的運行狀態。SQL Server提供了維護計劃向導,用戶可以創建一個維護計劃,對從列表中選擇的數據庫按計劃的間隔定期運行維護計劃[13-14]。對自動氣象站的數據要及時備份。

3 結語

運用C#語言編寫的程序和SQL Server數據庫系統實現自動氣象站數據處理的過程,該系統能進行自動氣象站的數據入庫、數據修改、數據查詢和數據庫維護等功能,減輕了數據使用者從氣象數據源文件中提取各種主要氣象信息的工作量。程序處理氣象數據方法利于使用者更好地應用數據,查詢便宜、靈活,方便進行一些簡單修改,維護起來也比較簡單。

4 參考文獻

[1] 李黃.自動氣象站實用手冊[M].北京:氣象出版社,2007.

[2] 王建莊,許沛林.Ⅱ型自動氣象站數據采集的實時質量控制[J].廣東氣象,2009,31(5):57-58.

[3] 王海軍,楊志彪,楊代才,等.自動氣象站實時資料自動質量控制方法及其應用[J].氣象,2007,33(10):102-109.

[4] 竇以文,屈玉貴,陶士偉,等.北京自動氣象站實時數據質量控制應用[J].氣象,2008,34(8):77-81.

[5] 高杰,張海娜.地面自動氣象站數據質量檢查系統[J].遼寧氣象,2004(2):39-40.

[6] 冉桂平,胡學敏,付晉.自動氣象站資料綜合管理應用系統[J].電腦知識與技術,2007,1(6):1658-1687.

[7] 謝光,賈保先.基于.NET技術的數據庫技術與應用[J].數字技術與應用,2016(8):120.

[8] 張秀英,王繼東.烏海兩要素自動氣象站數據接收系統軟件的設計與實現[J].內蒙古氣象,2009(1):40-41.

[9] 孫明麗.SQL Service 2005數據庫系統開發完全手冊[M].北京:人民郵電出版社,2007:98.

[10] 中國氣象局監測網絡司.地面氣象測報業務系統軟件操作手冊[M].北京:氣象出版社,2004:1-192.

[11] 中國氣象局.地面氣象觀測數據文件和記錄薄表格式[M].北京:氣象出版社,2005:l-173.

[12] 胡玉峰.自動氣象站原理與測量方法[M].北京:氣象出版社,2004:124-126.

[13] 張孝峰,李剛,李來民.自動氣象站信息數據庫業務系統開發與應用[J].山東氣象,2004,24(3):25.

[14] 莊子明.基于XML的數據庫技術及應用[J].計算機工程,2002,28(1):119-121.

猜你喜歡
自動氣象站程序設計質量控制
基于OBE的Java程序設計個性化教學研究
項目化教學在Python程序設計課程中的應用
C++程序設計課程教學改革研究
醫學專業“Python程序設計”課程教學改革總結與思考
自動氣象站維護和技術保障思考
自動氣象站指示燈在日常維護中的應用
自動氣象站發生故障時報表數據處理研究
淺談機車總風缸的制作質量控制
淺談在公路橋梁施工環節的質量管理及控制
淺談石灰土基層施工及質量控制
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合