基于GIS的海量氣象數(shù)據(jù)預(yù)處理技術(shù)研究論文
摘要:由于氣象觀測數(shù)據(jù)種類多,文件存儲數(shù)目大,一般難以對海量氣象數(shù)據(jù)進行深入的處理,挖掘和分析。該文通過對氣象數(shù)據(jù)類型,文件種類等進行研究,通過建立氣象數(shù)據(jù)庫并連接GIS軟件進行數(shù)據(jù)分析,較好的解決了海量數(shù)據(jù)分析和處理問題。該方法利用編程軟件,數(shù)據(jù)庫軟件和GIS技術(shù)對海量氣象數(shù)據(jù)進行預(yù)處理,為海量氣象數(shù)據(jù)分析提供高效、精準的數(shù)據(jù)存儲和管理。并最終將數(shù)據(jù)庫直接連接入強大的分析處理軟件ArcGis。經(jīng)過測試表明,該方法可靠性和可操作性很強,成功實現(xiàn)了對海量氣象數(shù)據(jù)的預(yù)處理。
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 引言
地理信息系統(tǒng)(GIS)作為一門重要的信息技術(shù),近年來在氣象氣候領(lǐng)域內(nèi)引起了廣泛的關(guān)注并得到了初步應(yīng)用。[1]特別是隨著現(xiàn)代氣象觀探技術(shù)的迅速發(fā)展,各級氣象業(yè)務(wù)部門可獲得的氣象數(shù)據(jù)容量越來越大,海量的氣象數(shù)據(jù)背后隱藏許多重要信息。但是在傳統(tǒng)的氣象數(shù)據(jù)庫應(yīng)用系統(tǒng)中,用戶無法發(fā)現(xiàn)氣象數(shù)據(jù)中存在的某種關(guān)系和規(guī)則,同時缺乏發(fā)現(xiàn)氣象數(shù)據(jù)背后隱藏知識手段,從而出現(xiàn)“數(shù)據(jù)爆炸而知識貧乏”現(xiàn)象。[2]此外氣象數(shù)據(jù)庫系統(tǒng)作為氣象信息共享平臺的重要管理系統(tǒng),其體系結(jié)構(gòu)和技術(shù)的復雜程度均是前所未有的,需要在集約化和標準化原則下,充分利用成熟的商業(yè)數(shù)據(jù)庫技術(shù)和大氣科學領(lǐng)域的相關(guān)技術(shù)加以構(gòu)建。[3]而GIS技術(shù)具有很好的數(shù)據(jù)分析和海量數(shù)據(jù)支持的能力。本文將GIS引入氣象領(lǐng)域,同時GIS在氣象領(lǐng)域的應(yīng)用也是一個新的嘗試。利用GIS提高了氣象數(shù)據(jù)管理的可視化程度和人機對話功能。[4] 嘗試利用GIS技術(shù)為詳細分析氣象數(shù)據(jù)的組織結(jié)構(gòu)、表達和處理方法做準備。[5]針對氣象數(shù)據(jù)的存儲和處理,目前有很多技術(shù)手段包括王楊剛等以面向?qū)ο蟮乃枷耄\用C++技術(shù)設(shè)計并制作了自動氣象站數(shù)據(jù)處理程序,它可以對22項氣象數(shù)據(jù)進行預(yù)處理。[6]吳文玉以ArcGIS Desktop9.3為地理信息系統(tǒng)平臺,通過在ArcGIS下與遠程氣象數(shù)據(jù)庫的連接方法,將數(shù)據(jù)庫數(shù)據(jù)直接應(yīng)用到GIS中,實現(xiàn)GIS與氣象數(shù)據(jù)庫的數(shù)據(jù)融合,具有較強的實用性。[7]無論哪種方法對氣象數(shù)據(jù)庫系統(tǒng)的建設(shè)是氣象信息系統(tǒng)(氣象信息共享平臺)建設(shè)的核心和基礎(chǔ)。[8]所以最有效的保存和交流使用數(shù)據(jù)的途徑就是應(yīng)用計算機技術(shù)建立數(shù)據(jù)庫系統(tǒng)來歸整,管理這些重要氣象數(shù)據(jù)。[9]然后直接連接GIS軟件使用GIS技術(shù)對氣象數(shù)據(jù)進行處理。因為地理信息系統(tǒng)技術(shù)可以將氣象數(shù)據(jù)所具有的空間特征、屬性特征及時間特征等特點較好地表現(xiàn)出來,是實現(xiàn)空間數(shù)據(jù)管理的有效手段。[10]本文通過對氣象數(shù)據(jù)的文件類型,存儲格式進行研究后提出了一條采用GIS技術(shù)對海量氣象數(shù)據(jù)進行預(yù)處理的方法。
2 問題的提出
氣象數(shù)據(jù)一般為多年的觀測數(shù)據(jù),數(shù)據(jù)的種類多,觀測年限長,數(shù)據(jù)的存儲文本文件多。如中國氣象共享網(wǎng)下載的1970-2013年日值氣象數(shù)據(jù)為例,數(shù)據(jù)時間跨度有44年,826個氣象站臺,分為7大類數(shù)據(jù),超過15000天的觀測數(shù)據(jù),7000萬行的記錄數(shù)據(jù),4億多數(shù)據(jù)單元。數(shù)據(jù)總量達到5.9G之多。對海量氣象數(shù)據(jù)進行存儲,分析,管理和處理成為一個難題。目前的處理方式主要有兩種方式:(1)在數(shù)據(jù)量不大的情況下,對數(shù)據(jù)進行人工篩選,然后導入Excel中進行處理。(2)根據(jù)要求通過編程實現(xiàn)對TXT格式的氣象數(shù)據(jù)的處理。
氣象數(shù)據(jù)的記錄文件數(shù)量巨大,數(shù)據(jù)類型眾多,文本格式數(shù)據(jù)的數(shù)據(jù)單元幾乎都是采用空格的方式進行隔離,而Word無法對txt格式數(shù)據(jù)進行批量處理,Excel只能根據(jù)特殊符號或者根據(jù)一個空格一個格的形式進行數(shù)據(jù)導入而且數(shù)據(jù)的行數(shù)有限制也無法滿足數(shù)據(jù)的批量入庫和處理;利用編程的方式需要對數(shù)據(jù)進行大量的預(yù)處理,編程工作量較大。對于氣象數(shù)據(jù)的分析往往需要地理信息數(shù)據(jù),在現(xiàn)階段基于GIS的氣象數(shù)據(jù)預(yù)處理已經(jīng)被廣泛應(yīng)用。針對于此,本文提出一種解決問題的思路:首先利用批處理命令處理文本數(shù)據(jù),然后建立數(shù)據(jù)庫并利用ArcSDE與ArcGIS相連實現(xiàn)數(shù)據(jù)的存儲為數(shù)據(jù)分析做準備。
3 解決問題的流程
氣象數(shù)據(jù)是根據(jù)數(shù)據(jù)的類型,日期分批的按照TXT的格式進行存儲并利用空格進行單元數(shù)據(jù)隔離。所以需要先對數(shù)據(jù)進行合并然后利用文本編輯軟件對數(shù)據(jù)進行批量預(yù)處理,再利用MS Sql Server進行批量入庫和存儲,最后利用ArcSDE進行數(shù)據(jù)連接,批量接入ArcGIS進行數(shù)據(jù)處理,分析和挖掘。具體技術(shù)路線如圖1所示。
4 氣象數(shù)據(jù)處理流程
4.1 數(shù)據(jù)批量預(yù)處理
氣象數(shù)據(jù)是根據(jù)數(shù)據(jù)的類型,日期分批的按照TXT的格式進行存儲并利用空格進行單元數(shù)據(jù)隔離的。所以需要先對數(shù)據(jù)進行合并然后才能對數(shù)據(jù)進行批量預(yù)處理。此處可利用windows的TXT批量合并命令代碼實現(xiàn),使用下面的代碼命令可以使的所在一個文件夾中的所有文本文件合并入一個命名為0.txt的文本文件中,具體代碼如下所示。
for % %i in (*.txt) do type %%i>>0.txt
將該命令代碼復制進文本文件中并將數(shù)據(jù)的格式名改為bat。
此處需先將氣象數(shù)據(jù)中的數(shù)據(jù)按照數(shù)據(jù)的.存儲類型比如濕度,溫度,氣壓等進行分批處理分別存儲于不同的文件夾中,然后再進行數(shù)據(jù)合并。這樣每一個氣象類型中的0.txt文件都會存儲著具有相同樣式的行數(shù)據(jù),便于高精確的批量處理。采用此種方法進行批量合并除了可以很好地進行數(shù)據(jù)預(yù)處理外,更重要的是非常簡單高效,不需要任何復雜的編程和進行繁瑣的軟件操作。
4.2 用宏命令批量處理數(shù)據(jù)
對數(shù)據(jù)按照數(shù)據(jù)類型進行合并處理后,需要對單個數(shù)據(jù)單元進行精確分離,以便于后面的數(shù)據(jù)導入。此處可利用宏命令對隔離數(shù)據(jù)的空格利用逗號進行替換,實現(xiàn)所有數(shù)據(jù)單元按照逗號形式進行隔離。這樣后面的數(shù)據(jù)入庫將會全部按照逗號進行隔離入庫,不會出現(xiàn)空格和數(shù)據(jù)存儲的錯位。可以大幅提高數(shù)據(jù)的精確性。
此處可以用 UltraEdit這款代碼編輯器對每一個氣象數(shù)據(jù)類型下的0.txt文件進行處理。由于每一個0.txt文件數(shù)據(jù)量都很大,如果直接利用windows自帶的文本編輯器,容易導致編輯器崩潰,且顯示格式凌亂不利于處理。其他的文本編輯器或者代碼編輯器如 Notepad++,EditPlus等都存在著運行過慢或者數(shù)據(jù)量過大無法支持的問題。相關(guān)文本處理軟件處理能力如表1所示:
利用UltraEdit啟動宏命令后,利用宏錄制下空格被逗號批量代替的過程和逗號被批量清理為一個數(shù)據(jù)單元一個逗號的過程形成宏命令。利用該命令就可以批量處理所有的0.txt文件實現(xiàn)所有數(shù)據(jù)的標準化,如圖2所示。
數(shù)據(jù)導入完成后所有的氣象數(shù)據(jù)按照地溫、氣壓、蒸發(fā)、降水、濕度、日照、氣溫七類數(shù)據(jù)分表存儲。可以根據(jù)需要對數(shù)據(jù)進行查詢編輯輸出需要的數(shù)據(jù)。由于每一個數(shù)據(jù)表中都含有對應(yīng)的站點號、經(jīng)度、緯度、高程,年、月、日數(shù)據(jù)。
4.4 數(shù)據(jù)庫中的數(shù)據(jù)處理
由于氣象數(shù)據(jù)中的經(jīng)緯度數(shù)據(jù)值,是按照度分秒直接合并的,數(shù)據(jù)值不能直接使用,更不能實現(xiàn)對數(shù)據(jù)的直接操作,需要在數(shù)據(jù)庫中對經(jīng)緯度數(shù)據(jù)值進行批量處理,實現(xiàn)數(shù)據(jù)的標準化操作。
代碼實現(xiàn)如下:
EVP蒸發(fā) set X=(經(jīng)度值/100)+((經(jīng)度值%100)/(60+0.0))
注:EVP蒸發(fā)為數(shù)據(jù)庫中的表,X為處理完成后所賦值的經(jīng)度值,經(jīng)度值代表數(shù)據(jù)庫中EVP蒸發(fā)的非正常顯示經(jīng)度數(shù)據(jù)值。
代碼運行后,所獲得的數(shù)據(jù)值,完全可以達到數(shù)據(jù)的操作要求。
4.5 利用ArcSDE連接氣象數(shù)據(jù)庫
ArcSDE是ArcGIS與關(guān)系數(shù)據(jù)庫之間的GIS通道,它允許用戶在多種數(shù)據(jù)管理系統(tǒng)中管理地理信息,并使所有的ArcGIS應(yīng)用程序都能夠使用這些數(shù)據(jù)。ArcSDE可以支持MS sql server,DBM,Oracle數(shù)據(jù)庫。ArcSDE是一種數(shù)據(jù)連接方式,數(shù)據(jù)不需要經(jīng)過繁雜的數(shù)據(jù)導入過程,而且可以保證數(shù)據(jù)的完整性。
打開ArcToolbox工具,選擇數(shù)據(jù)管理工具-地理數(shù)據(jù)庫管理-創(chuàng)建企業(yè)級地理數(shù)據(jù)庫即可。為了連接已經(jīng)建立的氣象數(shù)據(jù)庫我們在創(chuàng)建企業(yè)級數(shù)據(jù)庫時,必須保證企業(yè)級地理數(shù)據(jù)庫的實例名和數(shù)據(jù)名與氣象數(shù)據(jù)庫一致。
數(shù)據(jù)庫連接完畢,在ArcGis中便可直接查看到氣象數(shù)據(jù)庫中的信息,可以直接進行數(shù)據(jù)挖掘和相關(guān)操作。
5 結(jié)束語
本文介紹了一種基于GIS的海量氣象數(shù)據(jù)預(yù)處理方法。該方法直接實現(xiàn)了海量氣象數(shù)據(jù)的分類入庫和管理,解決了一般軟件由于數(shù)據(jù)支持能力限制而無法對海量氣象數(shù)據(jù)進行存儲和分析的問題,該方法不需要進行復雜的編程、數(shù)據(jù)精確度高、數(shù)據(jù)更新方便和可操作性強,節(jié)約了編程開發(fā)的時間和成本。該方法解決了海量氣象數(shù)據(jù)下的部分數(shù)據(jù)挖掘和數(shù)據(jù)分析的問題,為氣象數(shù)據(jù)基于地理信息的空間化分析提供了數(shù)據(jù)準備。
參考文獻:
[1] 吳煥萍.GIS技術(shù)在氣象領(lǐng)域中的應(yīng)用[J].氣象,2010(3):90-100.
[2] 李集明,王國復.氣象數(shù)據(jù)庫系統(tǒng)總體設(shè)計綜述[J].氣象科技,2007(S1):1-5.
[3] 張波.數(shù)據(jù)挖掘在氣象中的應(yīng)用研究與實現(xiàn)[D].電子科技大學,2013.
[4] 李江南.GIS在氣象數(shù)據(jù)處理中的應(yīng)用[J].廣東氣象,2002(4):14-15+9.
[5] 何永健,曹蕓,黃勇.GIS氣象數(shù)據(jù)的管理與表達方法[J].南京信息工程大學學報:自然科學版,2011(3):232-237.
[6] 王楊剛,趙文吉,宮輝力.自動氣象站數(shù)據(jù)預(yù)處理研究[J].首都師范大學學報:自然科學版,2006(2):81-84.
[7] 吳文玉,楊太明,何彬方.GIS與氣象數(shù)據(jù)庫的數(shù)據(jù)融合應(yīng)用[C]//安徽省氣象學會.第三屆安徽科技論壇農(nóng)業(yè)與氣候生態(tài)學術(shù)研討會論文集.安徽省氣象學會,2004:3.
[8] 趙芳.氣象數(shù)據(jù)庫系統(tǒng)的建設(shè)[C]//信息技術(shù)在氣象領(lǐng)域的開發(fā)應(yīng)用論文集(二),2006:5.
【基于GIS的海量氣象數(shù)據(jù)預(yù)處理技術(shù)研究論文】相關(guān)文章:
基于網(wǎng)格的數(shù)據(jù)傳輸與復制技術(shù)研究論文11-07
基于數(shù)據(jù)挖掘的數(shù)字圖書館檢索技術(shù)研究論文11-06
基于Java EE的Web系統(tǒng)中數(shù)據(jù)庫設(shè)計技術(shù)研究論文11-06
關(guān)于氣象雷達數(shù)據(jù)分析論文06-26
基于數(shù)據(jù)抽取與訂閱實現(xiàn)數(shù)據(jù)共享分析及研究論文10-30