基於GIS的海量氣象資料預處理技術研究論文

基於GIS的海量氣象資料預處理技術研究論文

  摘要:由於氣象觀測資料種類多,檔案儲存數目大,一般難以對海量氣象資料進行深入的處理,挖掘和分析。該文透過對氣象資料型別,檔案種類等進行研究,透過建立氣象資料庫並連線GIS軟體進行資料分析,較好的解決了海量資料分析和處理問題。該方法利用程式設計軟體,資料庫軟體和GIS技術對海量氣象資料進行預處理,為海量氣象資料分析提供高效、精準的資料儲存和管理。並最終將資料庫直接連線入強大的分析處理軟體ArcGis。經過測試表明,該方法可靠性和可操作性很強,成功實現了對海量氣象資料的預處理。

  Abstract: Because meteorological observation data has more kinds and large number files to store. Generally , Mass meteorological data is difficult to process ,mine and analyze for further. This paper introduces a method of data analysis through the establishment of meteorological database and the connection of GIS software, based on the type of meteorological data,file type and so on. It is better to solve the problems of massive data which should be analysed and processed. This method uses the programming software, database software and GIS technology to preprocess the massive meteorological data. It provides efficient and accurate data storage and management for mass analysis of meteorological data. And finally the database connects directly into the analysis software ArcGIS, which is good at data processing. According to test results, the reliability and maneuverability is very strong, it is successful to achieve the pre-processing of the massive meteorological data.

  Key words: GIS; Database; Meteorological data; Pretreatment; ArcGis

  1 引言

  地理資訊系統(GIS)作為一門重要的資訊科技,近年來在氣象氣候領域內引起了廣泛的關注並得到了初步應用。[1]特別是隨著現代氣象觀探技術的迅速發展,各級氣象業務部門可獲得的氣象資料容量越來越大,海量的氣象資料背後隱藏許多重要資訊。但是在傳統的氣象資料庫應用系統中,使用者無法發現氣象資料中存在的某種關係和規則,同時缺乏發現氣象資料背後隱藏知識手段,從而出現“資料爆炸而知識貧乏”現象。[2]此外氣象資料庫系統作為氣象資訊共享平臺的重要管理系統,其體系結構和技術的複雜程度均是前所未有的,需要在集約化和標準化原則下,充分利用成熟的商業資料庫技術和大氣科學領域的相關技術加以構建。[3]而GIS技術具有很好的資料分析和海量資料支援的能力。本文將GIS引入氣象領域,同時GIS在氣象領域的應用也是一個新的嘗試。利用GIS提高了氣象資料管理的視覺化程度和人機對話功能。[4] 嘗試利用GIS技術為詳細分析氣象資料的組織結構、表達和處理方法做準備。[5]針對氣象資料的儲存和處理,目前有很多技術手段包括王楊剛等以面向物件的思想,運用C++技術設計並製作了自動氣象站資料處理程式,它可以對22項氣象資料進行預處理。[6]吳文玉以ArcGIS Desktop9.3為地理資訊系統平臺,透過在ArcGIS下與遠端氣象資料庫的連線方法,將資料庫資料直接應用到GIS中,實現GIS與氣象資料庫的資料融合,具有較強的實用性。[7]無論哪種方法對氣象資料庫系統的建設是氣象資訊系統(氣象資訊共享平臺)建設的核心和基礎。[8]所以最有效的儲存和交流使用資料的途徑就是應用計算機技術建立資料庫系統來歸整,管理這些重要氣象資料。[9]然後直接連線GIS軟體使用GIS技術對氣象資料進行處理。因為地理資訊系統技術可以將氣象資料所具有的空間特徵、屬性特徵及時間特徵等特點較好地表現出來,是實現空間資料管理的有效手段。[10]本文透過對氣象資料的檔案型別,儲存格式進行研究後提出了一條採用GIS技術對海量氣象資料進行預處理的方法。

  2 問題的提出

  氣象資料一般為多年的觀測資料,資料的種類多,觀測年限長,資料的儲存文字檔案多。如中國氣象共享網下載的1970-2013年日值氣象資料為例,資料時間跨度有44年,826個氣象站臺,分為7大類資料,超過15000天的觀測資料,7000萬行的記錄資料,4億多資料單元。資料總量達到5.9G之多。對海量氣象資料進行儲存,分析,管理和處理成為一個難題。目前的處理方式主要有兩種方式:(1)在資料量不大的情況下,對資料進行人工篩選,然後匯入Excel中進行處理。(2)根據要求透過程式設計實現對TXT格式的氣象資料的處理。

  氣象資料的記錄檔案數量巨大,資料型別眾多,文字格式資料的資料單元幾乎都是採用空格的方式進行隔離,而Word無法對txt格式資料進行批次處理,Excel只能根據特殊符號或者根據一個空格一個格的形式進行資料匯入而且資料的行數有限制也無法滿足資料的批次入庫和處理;利用程式設計的方式需要對資料進行大量的預處理,程式設計工作量較大。對於氣象資料的分析往往需要地理資訊資料,在現階段基於GIS的氣象資料預處理已經被廣泛應用。針對於此,本文提出一種解決問題的思路:首先利用批處理命令處理文字資料,然後建立資料庫並利用ArcSDE與ArcGIS相連實現資料的儲存為資料分析做準備。

  3 解決問題的流程

  氣象資料是根據資料的型別,日期分批的按照TXT的格式進行儲存並利用空格進行單元資料隔離。所以需要先對資料進行合併然後利用文字編輯軟體對資料進行批次預處理,再利用MS Sql Server進行批次入庫和儲存,最後利用ArcSDE進行資料連線,批次接入ArcGIS進行資料處理,分析和挖掘。具體技術路線如圖1所示。

  4 氣象資料處理流程

  4.1 資料批次預處理

  氣象資料是根據資料的型別,日期分批的按照TXT的格式進行儲存並利用空格進行單元資料隔離的。所以需要先對資料進行合併然後才能對資料進行批次預處理。此處可利用windows的TXT批次合併命令程式碼實現,使用下面的程式碼命令可以使的所在一個資料夾中的所有文字檔案合併入一個命名為0.txt的文字檔案中,具體程式碼如下所示。

  for %  %i in (*.txt) do type %%i>>0.txt

  將該命令程式碼複製進文字檔案中並將資料的格式名改為bat。

  此處需先將氣象資料中的資料按照資料的.儲存型別比如溼度,溫度,氣壓等進行分批處理分別儲存於不同的資料夾中,然後再進行資料合併。這樣每一個氣象型別中的0.txt檔案都會儲存著具有相同樣式的行資料,便於高精確的批次處理。採用此種方法進行批次合併除了可以很好地進行資料預處理外,更重要的是非常簡單高效,不需要任何複雜的程式設計和進行繁瑣的軟體操作。

  4.2 用宏命令批次處理資料

  對資料按照資料型別進行合併處理後,需要對單個數據單元進行精確分離,以便於後面的資料匯入。此處可利用宏命令對隔離資料的空格利用逗號進行替換,實現所有資料單元按照逗號形式進行隔離。這樣後面的資料入庫將會全部按照逗號進行隔離入庫,不會出現空格和資料儲存的錯位。可以大幅提高資料的精確性。

  此處可以用 UltraEdit這款程式碼編輯器對每一個氣象資料型別下的0.txt檔案進行處理。由於每一個0.txt檔案資料量都很大,如果直接利用windows自帶的文字編輯器,容易導致編輯器崩潰,且顯示格式凌亂不利於處理。其他的文字編輯器或者程式碼編輯器如 Notepad++,EditPlus等都存在著執行過慢或者資料量過大無法支援的問題。相關文字處理軟體處理能力如表1所示:

  利用UltraEdit啟動宏命令後,利用宏錄製下空格被逗號批次代替的過程和逗號被批次清理為一個數據單元一個逗號的過程形成宏命令。利用該命令就可以批次處理所有的0.txt檔案實現所有資料的標準化,如圖2所示。

  資料匯入完成後所有的氣象資料按照地溫、氣壓、蒸發、降水、溼度、日照、氣溫七類資料分表儲存。可以根據需要對資料進行查詢編輯輸出需要的資料。由於每一個數據表中都含有對應的站點號、經度、緯度、高程,年、月、日資料。

  4.4 資料庫中的資料處理

  由於氣象資料中的經緯度資料值,是按照度分秒直接合並的,資料值不能直接使用,更不能實現對資料的直接操作,需要在資料庫中對經緯度資料值進行批次處理,實現資料的標準化操作。

  程式碼實現如下:

  EVP蒸發 set X=(經度值/100)+((經度值%100)/(60+0.0))

  注:EVP蒸發為資料庫中的表,X為處理完成後所賦值的經度值,經度值代表資料庫中EVP蒸發的非正常顯示經度資料值。

  程式碼執行後,所獲得的資料值,完全可以達到資料的操作要求。

  4.5 利用ArcSDE連線氣象資料庫

  ArcSDE是ArcGIS與關係資料庫之間的GIS通道,它允許使用者在多種資料管理系統中管理地理資訊,並使所有的ArcGIS應用程式都能夠使用這些資料。ArcSDE可以支援MS sql server,DBM,Oracle資料庫。ArcSDE是一種資料連線方式,資料不需要經過繁雜的資料匯入過程,而且可以保證資料的完整性。

  開啟ArcToolbox工具,選擇資料管理工具-地理資料庫管理-建立企業級地理資料庫即可。為了連線已經建立的氣象資料庫我們在建立企業級資料庫時,必須保證企業級地理資料庫的例項名和資料名與氣象資料庫一致。

  資料庫連線完畢,在ArcGis中便可直接檢視到氣象資料庫中的資訊,可以直接進行資料探勘和相關操作。

  5 結束語

  本文介紹了一種基於GIS的海量氣象資料預處理方法。該方法直接實現了海量氣象資料的分類入庫和管理,解決了一般軟體由於資料支援能力限制而無法對海量氣象資料進行儲存和分析的問題,該方法不需要進行復雜的程式設計、資料精確度高、資料更新方便和可操作性強,節約了程式設計開發的時間和成本。該方法解決了海量氣象資料下的部分資料探勘和資料分析的問題,為氣象資料基於地理資訊的空間化分析提供了資料準備。

  參考文獻:

  [1] 吳煥萍.GIS技術在氣象領域中的應用[J].氣象,2010(3):90-100.

  [2] 李集明,王國復.氣象資料庫系統總體設計綜述[J].氣象科技,2007(S1):1-5.

  [3] 張波.資料探勘在氣象中的應用研究與實現[D].電子科技大學,2013.

  [4] 李江南.GIS在氣象資料處理中的應用[J].廣東氣象,2002(4):14-15+9.

  [5] 何永健,曹芸,黃勇.GIS氣象資料的管理與表達方法[J].南京資訊工程大學學報:自然科學版,2011(3):232-237.

  [6] 王楊剛,趙文吉,宮輝力.自動氣象站資料預處理研究[J].首都師範大學學報:自然科學版,2006(2):81-84.

  [7] 吳文玉,楊太明,何彬方.GIS與氣象資料庫的資料融合應用[C]//安徽省氣象學會.第三屆安徽科技論壇農業與氣候生態學術研討會論文集.安徽省氣象學會,2004:3.

  [8] 趙芳.氣象資料庫系統的建設[C]//資訊科技在氣象領域的開發應用論文集(二),2006:5.

最近訪問