羅鵬斌 祁曉龍 孫玉蓮



摘要 數(shù)據(jù)存儲(chǔ)技術(shù)經(jīng)歷了從手工管理到文件管理、再到數(shù)據(jù)庫(kù)管理系統(tǒng)3個(gè)階段,數(shù)據(jù)庫(kù)技術(shù)中關(guān)系數(shù)據(jù)庫(kù)占據(jù)了主要地位。針對(duì)氣象行業(yè)A文件所存儲(chǔ)的歷史數(shù)據(jù)的管理和共享問(wèn)題,應(yīng)用Visual Studio、C#語(yǔ)言的開(kāi)發(fā)環(huán)境,利用SQL Server 2008數(shù)據(jù)庫(kù)技術(shù)實(shí)現(xiàn)信息共享,建立詳細(xì)的歷史資料數(shù)據(jù)庫(kù),將A文件數(shù)據(jù)進(jìn)行統(tǒng)一入庫(kù),實(shí)現(xiàn)各類天氣情況的歷史查詢、統(tǒng)計(jì)、顯示、導(dǎo)出,為以后氣候分析、氣象災(zāi)害風(fēng)險(xiǎn)評(píng)估等提供基礎(chǔ)數(shù)據(jù)支撐。
關(guān)鍵詞 氣象基礎(chǔ)數(shù)據(jù);支撐系統(tǒng);數(shù)據(jù)庫(kù);軟件設(shè)計(jì);甘肅臨夏
中圖分類號(hào) P409 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1007-5739(2016)09-0241-03
Abstract There are three stages in data storage technology,from manual management to document management,and then to database management systems. In database technology,the relational database occupies a major position. Aiming at the managements of stored historical data,issues of the meteorological industry A File were shared,and the Visual Studio,C# language development environment were implicated. To establish detailed database of historical data,information sharing was achieved by SQL Server 2008 depended on applying database. The A File data will be put in storage uniformly to achieve all kinds of weather conditions′ historical inquiry,statistics,and display,export for providing basic data support on the climate analysis,meteorological disaster risk assessment and etc in future.
Key words meteorological basic data;support system;database;software design;Linxia Gansu
現(xiàn)在社會(huì)經(jīng)濟(jì)飛速發(fā)展,對(duì)氣象要素、各種氣象極值及氣象服務(wù)產(chǎn)品的質(zhì)量要求越來(lái)越高。氣象是為當(dāng)?shù)卣稗r(nóng)業(yè)生產(chǎn)服務(wù)的,目前提供預(yù)報(bào)服務(wù)產(chǎn)品還是靠傳統(tǒng)的手工抄錄資料、手工計(jì)算等。制作起來(lái)不僅慢,還存在不準(zhǔn)確、繁瑣、氣象產(chǎn)品供給性不及時(shí)等現(xiàn)象。氣象信息的傳遞與經(jīng)濟(jì)飛速發(fā)展及農(nóng)業(yè)生產(chǎn)實(shí)際需求存在差距。缺少多樣性和針對(duì)性,這與越來(lái)越精細(xì)化的農(nóng)業(yè)生產(chǎn)管理要求極不相適應(yīng)。因此,再按老套路的辦法手工抄錄資料、手工計(jì)算等制作服務(wù)產(chǎn)品,勢(shì)必跟不上形勢(shì)發(fā)展的需要,這就要求氣象工作者改變現(xiàn)狀,制作出一套既快又便捷的制作服務(wù)產(chǎn)品的系統(tǒng),依靠科技進(jìn)步改善氣象信息的準(zhǔn)確性。
臨夏州氣象災(zāi)害占到自然災(zāi)害的86%以上,主要是干旱、晚霜凍、冰雹、雷陣雨、大風(fēng)、大(暴)雨等,其發(fā)生的頻率高,危害的范圍廣,特別是對(duì)農(nóng)業(yè)生產(chǎn)、農(nóng)業(yè)設(shè)施、水資源、生態(tài)系統(tǒng)造成巨大的影響,因此隨著氣象災(zāi)害風(fēng)險(xiǎn)評(píng)估的需求日益增長(zhǎng),建立一個(gè)詳細(xì)的歷史資料數(shù)據(jù)庫(kù)(資料來(lái)源是各縣市A文件數(shù)據(jù)),將A文件數(shù)據(jù)進(jìn)行統(tǒng)一,實(shí)現(xiàn)各類天氣情況的歷史查詢、統(tǒng)計(jì)、導(dǎo)出,為以后氣候分析、氣象災(zāi)害風(fēng)險(xiǎn)評(píng)估提供基礎(chǔ)數(shù)據(jù)支撐具有重大的意義[1-2]。
1 開(kāi)發(fā)環(huán)境與開(kāi)發(fā)語(yǔ)言
應(yīng)用Visual Studio、C#語(yǔ)言的開(kāi)發(fā)環(huán)境。利用SQL Server 2008將結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化文檔的數(shù)據(jù)直接存儲(chǔ)到數(shù)據(jù)庫(kù)中。對(duì)數(shù)據(jù)進(jìn)行查詢、搜索、同步、分析和導(dǎo)出操作。
2 數(shù)據(jù)整理和軟件設(shè)計(jì)
2.1 A文件結(jié)構(gòu)分析
A文件是氣象部門以文本格式存儲(chǔ)每月氣象數(shù)據(jù)的文件,1個(gè)A文件存儲(chǔ)1個(gè)站點(diǎn)1個(gè)月的氣象數(shù)據(jù),是氣象上最早存儲(chǔ)氣象資料的方式之一,這種方式直到目前還在使用。它從手工制作到自動(dòng)化形成大體分3個(gè)階段:第一階段是1951—1980年,這個(gè)階段主要是以手工制作為主,主要存儲(chǔ)的是每天3次觀測(cè)(8:00、14:00、20:00)的數(shù)據(jù)及一些日數(shù)據(jù);第二階段是1980—2005年,是手工制作向自動(dòng)化推進(jìn)的發(fā)展階段,主要存儲(chǔ)的是每天4次觀測(cè)(2:00、8:00、14:00、20:00)的數(shù)據(jù)及一些日數(shù)據(jù)、最值;第三階段為2006年到現(xiàn)在,這個(gè)階段其格式正式規(guī)范化、精細(xì)化,制作進(jìn)入純自動(dòng)化,主要存儲(chǔ)的是每個(gè)小時(shí)觀測(cè)的數(shù)據(jù)以及一些日數(shù)據(jù)、最值及其出現(xiàn)時(shí)間。A文件經(jīng)過(guò)了以上3個(gè)階段改革在格式上有著很大的不同,如果要將這些寶貴的數(shù)據(jù)存儲(chǔ)到統(tǒng)一的數(shù)據(jù)庫(kù)中,對(duì)分析歷年A文件存儲(chǔ)格式至關(guān)重要[3]。
從表1可以看出,A文件格式上雖有著很大不同,但是它卻有著很強(qiáng)的規(guī)律性,總體來(lái)看它的數(shù)據(jù)存儲(chǔ)可以分成2類,第一類是小時(shí)數(shù)據(jù)存儲(chǔ),存儲(chǔ)的是特定某個(gè)小時(shí)的數(shù)據(jù),它的變化規(guī)律是從定時(shí)化向著每小時(shí)化變化,總的趨勢(shì)是從8:00、14:00、20:00到2:00、8:00、14:00、20:00再向00:00—23:00變化的;第二類是日數(shù)據(jù),即1 d只有1個(gè)觀測(cè)數(shù)據(jù),如每天的最大值、最小值、蒸發(fā)、日照等要素?cái)?shù)據(jù)。下面歸類了這2類數(shù)據(jù)的成員組成:小時(shí)數(shù)據(jù)包括氣壓、氣溫、降水、相對(duì)濕度、水汽壓、露點(diǎn)溫度、風(fēng)、地溫、深層地溫、云、日照、能見(jiàn)度等。日數(shù)據(jù)包括蒸發(fā)、日照、雪、凍土、天氣現(xiàn)象、最值出現(xiàn)時(shí)間、夜晚降水、白天降水、日降水等。
結(jié)合上述,如何把3次(8:00、14:00、20:00)、4次(2:00、8:00、14:00、20:00)及24 h觀測(cè)的數(shù)據(jù)進(jìn)行統(tǒng)一,就要把A文件格式變化分成2個(gè)階段:一個(gè)是3次觀測(cè);另一個(gè)是4次和24 h觀測(cè)。由此格式轉(zhuǎn)換上就有了很清晰的思路,首先可以通過(guò)年代判斷是3次觀測(cè)階段還是4次或24 h觀測(cè)階段;然后確定好A文件中所包含的信息量,設(shè)定好時(shí)間;最后通過(guò)符號(hào)所代表的氣象要素及其格式讀取相應(yīng)的數(shù)據(jù),對(duì)照表1和2類數(shù)據(jù)的各要素組成把數(shù)據(jù)放入到相應(yīng)的數(shù)據(jù)存儲(chǔ)空間。
2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
SQL Server 2008在Microsoft的數(shù)據(jù)平臺(tái)上發(fā)布,可以組織管理任何數(shù)據(jù)[4]。可以將結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化文檔的數(shù)據(jù)直接存儲(chǔ)到數(shù)據(jù)庫(kù)中。可以對(duì)數(shù)據(jù)進(jìn)行查詢、搜索、同步、報(bào)告和分析之類的操作。數(shù)據(jù)可以存儲(chǔ)在各種設(shè)備上,從數(shù)據(jù)中心最大的服務(wù)器一直到桌面計(jì)算機(jī)和移動(dòng)設(shè)備,它都可以控制數(shù)據(jù)而不用管數(shù)據(jù)存儲(chǔ)在哪里。在這里通過(guò)A文件的結(jié)構(gòu)分析結(jié)果建立相應(yīng)的數(shù)據(jù)庫(kù)。分析A文件格式,A文件中存在2種類型數(shù)據(jù),一類是小時(shí)數(shù)據(jù),一類是日數(shù)據(jù),并且這2類數(shù)據(jù)由不同氣象要素組合,根據(jù)不同數(shù)據(jù)類型設(shè)計(jì)合理的數(shù)據(jù)存儲(chǔ)空間結(jié)構(gòu)。
2.2.1 小時(shí)數(shù)據(jù)。小時(shí)數(shù)據(jù)項(xiàng)組成:站點(diǎn)編號(hào)、日期、氣壓、氣溫、降水、相對(duì)濕度、水汽壓、露點(diǎn)、溫度、2 min風(fēng)向、2 min風(fēng)速、10 min風(fēng)向、10 min風(fēng)速、0 cm地溫、5 cm地溫、10 cm地溫、15 cm地溫、20 cm地溫、40 cm地溫、80 cm地溫、160 cm地溫、320 cm地溫、云狀、總云量、低云量、日照、能見(jiàn)度等。數(shù)據(jù)表ID:dbo.Per_day_data。數(shù)據(jù)來(lái)源:A文件。數(shù)據(jù)入庫(kù)方式:應(yīng)用軟件轉(zhuǎn)換入庫(kù)。簡(jiǎn)述:4次觀測(cè),每天4組數(shù)據(jù);每小時(shí)觀測(cè),每天24組數(shù)據(jù)。
2.2.2 日數(shù)據(jù)。日數(shù)據(jù)項(xiàng)組成:站點(diǎn)編號(hào)、日期、蒸發(fā)、日照、雪深、雪壓、第一凍土層上限、第一凍土層下限、第二凍土層上限、第二凍土層下限、天氣現(xiàn)象、最大氣壓、最大氣壓出現(xiàn)時(shí)間、最小氣壓、最小氣壓出現(xiàn)時(shí)間、最高氣溫、最高氣溫出現(xiàn)時(shí)間、最低氣溫、最低氣溫出現(xiàn)時(shí)間、最小相對(duì)濕度、最小相對(duì)濕度出現(xiàn)時(shí)間、10 min最大風(fēng)風(fēng)向、10 min最大風(fēng)風(fēng)速、10 min最大風(fēng)出現(xiàn)時(shí)間、10 min極大風(fēng)風(fēng)向、10 min極大風(fēng)風(fēng)速、10 min極大風(fēng)出現(xiàn)時(shí)間、0 cm地溫最高、0 cm地溫最高出現(xiàn)時(shí)間、0 cm地溫最低、0 cm地溫最低出現(xiàn)時(shí)間、夜晚降水、白天降水、降水日合計(jì)等。數(shù)據(jù)表ID:dbo.Per_day_data。數(shù)據(jù)來(lái)源:A文件。數(shù)據(jù)入庫(kù)方式:應(yīng)用軟件轉(zhuǎn)換入庫(kù)。簡(jiǎn)述:一天一組數(shù)據(jù),以天為周期[5-6]。
2.3 軟件功能制作
隨著氣象觀測(cè)的自動(dòng)化,數(shù)據(jù)文件的規(guī)范化、詳細(xì)化,作為存儲(chǔ)觀測(cè)數(shù)據(jù)的A文件已經(jīng)不方便進(jìn)行數(shù)據(jù)查詢統(tǒng)計(jì)了;除此之外,規(guī)范前的A文件數(shù)據(jù)格式和規(guī)范后的A文件數(shù)據(jù)格式有著很大的差異,以前的一些查詢統(tǒng)計(jì)軟件已經(jīng)不能夠?qū)崿F(xiàn)一些關(guān)鍵性的功能,因此開(kāi)發(fā)一個(gè)新的應(yīng)用平臺(tái)來(lái)實(shí)現(xiàn)數(shù)據(jù)的整理(建立一個(gè)的專門的數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)A文件的數(shù)據(jù))、查詢、統(tǒng)計(jì)、導(dǎo)出等功能是很有必要的。
2.3.1 A文件轉(zhuǎn)換與入庫(kù)。1950—2004年的A文件,格式上有著或多或少的變化,2005年以后隨著A文件的規(guī)范化和數(shù)據(jù)的詳細(xì)化,文件格式又有大的變化,因此把A文件數(shù)據(jù)格式進(jìn)行轉(zhuǎn)換入庫(kù)是本平臺(tái)的基本功能,也是核心功能之一(圖1)。
A文件數(shù)據(jù)轉(zhuǎn)換入庫(kù)功能模塊:一是實(shí)現(xiàn)A文件數(shù)據(jù)的讀取,統(tǒng)一數(shù)據(jù)格式并把統(tǒng)一后的數(shù)據(jù)在表格中顯示;二是把統(tǒng)一后的數(shù)據(jù)導(dǎo)入到建立好的數(shù)據(jù)庫(kù)中;三是制作管理員的權(quán)限,即當(dāng)用戶只能在登錄上管理員后才能應(yīng)用這個(gè)功能。模塊界面如圖2~4所示。
2.3.2 查詢、統(tǒng)計(jì)、顯示、導(dǎo)出。查詢:通過(guò)SQL語(yǔ)言,根據(jù)設(shè)定的站點(diǎn)、時(shí)間從數(shù)據(jù)庫(kù)中查詢符合條件的數(shù)據(jù)并存入表格。統(tǒng)計(jì):第1種方式是直接通過(guò)查詢出來(lái)的數(shù)據(jù),做合計(jì)、篩選、歸類、降序、升序處理得出所需要的結(jié)果;第2種方式是在數(shù)據(jù)庫(kù)中直接檢索結(jié)果數(shù)據(jù)。顯示:數(shù)據(jù)以表格的格式顯示,以柱狀圖、折線圖、曲線圖、玫瑰圖直觀顯示數(shù)據(jù)發(fā)展趨勢(shì)。導(dǎo)出:存在表格中的數(shù)據(jù)可以導(dǎo)出到Excel中,便于以后處理。表2詳細(xì)敘述了平臺(tái)實(shí)現(xiàn)的功能。
3 結(jié)語(yǔ)
建立了易于存取、查詢、檢索的數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)數(shù)據(jù)的統(tǒng)一管理。把A文件數(shù)據(jù)無(wú)差錯(cuò)的轉(zhuǎn)換導(dǎo)入到了建立好的數(shù)據(jù)庫(kù)中,更好地保存了這些數(shù)據(jù)。為了能夠方便運(yùn)用這些數(shù)據(jù),制作了相應(yīng)的應(yīng)用軟件實(shí)現(xiàn)各類氣象數(shù)據(jù)的查詢、統(tǒng)計(jì)、顯示、導(dǎo)出等功能,為以后氣候分析、氣象災(zāi)害風(fēng)險(xiǎn)評(píng)估等工作提供了很好的數(shù)據(jù)支撐和方便。
4 參考文獻(xiàn)
[1] 宋昆,李嚴(yán).SQL Server數(shù)據(jù)庫(kù)開(kāi)發(fā)實(shí)例解析[M].北京:機(jī)械工業(yè)出版社,2006.
[2] 李俊民,高春燕.Access數(shù)據(jù)庫(kù)開(kāi)發(fā)實(shí)例解析[M].北京:機(jī)械工業(yè)出版,2006.
[3] 王石.精通Visual C# 2005:語(yǔ)言基礎(chǔ)、數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)、Web開(kāi)發(fā)[M].北京:人民郵電出版社,2007.
[4] 張威.C#語(yǔ)言基礎(chǔ)教程[M].北京:人民郵電出版社,2001.
[5] 王若曈,黃向東,張博,等.海量氣象數(shù)據(jù)實(shí)時(shí)解析與存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2015(11):2045-2054.
[6] 黃銳,任偉穎,藍(lán)天飛.人工讀取區(qū)域自動(dòng)氣象站存儲(chǔ)數(shù)據(jù)的方法與技巧[J].氣象水文海洋儀器,2015(2):87-90.