亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        正則表達(dá)式在地面氣象觀測數(shù)據(jù)文件處理中的應(yīng)用

        2017-07-19 15:58:24劉衛(wèi)華李永超孫悅程
        現(xiàn)代農(nóng)業(yè)科技 2016年16期
        關(guān)鍵詞:氣象要素字符串解碼

        劉衛(wèi)華++李永超++孫悅程

        摘要 由于各方面的原因,地面氣象觀測數(shù)據(jù)文件已經(jīng)不能滿足日益增長的氣象數(shù)據(jù)分析應(yīng)用的需要,不能有效地發(fā)揮地面氣象的重要作用。將文本文件存儲的地面氣象觀測數(shù)據(jù)文件解碼存儲至數(shù)據(jù)庫中,建立了大連市地面氣象觀測資料數(shù)據(jù)庫。其中,正則表達(dá)式的應(yīng)用使地面氣象觀測數(shù)據(jù)文件的處理過程大大簡化,效率提高。

        關(guān)鍵詞 地面氣象觀測數(shù)據(jù);數(shù)據(jù)庫;正則表達(dá)式

        中圖分類號 P416.2 文獻(xiàn)標(biāo)識碼 A 文章編號 1007-5739(2016)16-0190-02

        Abstract Due to various reasons,the ground meteorological observation data file has been unable to meet the growing application of meteorological data analysis needs,and it can′t effectively play an important role in the meteorological observation.The ground meteorological observation data stored in the text file was decoded and stored to the database,and the data base of the ground meteorological observation data of Dalian City was established.Among them,the application of regular expression maked the processing process of the ground meteorological observation data file greatly simplified,and the efficiency was improved.

        Key words ground meteorological observation data;data base;regular expression

        地面氣象觀測數(shù)據(jù)文件(包括A、A0、A1、A6和A7文件,以下簡稱A文件)作為中國氣象局規(guī)定的通用氣象觀測數(shù)據(jù)格式,通過地面氣象測報業(yè)務(wù)軟件進(jìn)行制作、維護(hù)和審核,每個測站每月生成一個純文本文件[1-2]。如直接使用,存在不能統(tǒng)計任意時段的統(tǒng)計值,更不能統(tǒng)計跨時段、跨區(qū)域的氣象數(shù)據(jù)資料等缺點(diǎn),不能滿足氣象數(shù)據(jù)整理分析統(tǒng)計的需求,無法有效地發(fā)揮氣象觀測資料的作用。

        因此,為了實(shí)現(xiàn)跨時段、跨區(qū)域A文件觀測資料的查詢統(tǒng)計以及在此基礎(chǔ)上的復(fù)雜應(yīng)用,建立了大連市A文件觀測資料數(shù)據(jù)庫,使用基于Framework 4的C#語言實(shí)現(xiàn)了將全市各個臺站的A文件全部解碼讀入Oracle數(shù)據(jù)庫。

        1 地面氣象觀測數(shù)據(jù)

        最新的2003年版《地面氣象觀測規(guī)范》是在1979年頒布的《地面氣象觀測規(guī)范》基礎(chǔ)上根據(jù)服務(wù)需求和技術(shù)發(fā)展擴(kuò)充了部分觀測要素的測量范圍,摒棄了過時不用的部分觀測項目和內(nèi)容重新規(guī)定了氣象數(shù)據(jù)存儲格式。但為兼顧歷史資料,2003年版的觀測規(guī)范兼容了1979年版的觀測記錄規(guī)范。但由于其設(shè)計初衷僅為地面觀測規(guī)范使用,存在以下問題:一是存儲方式為文本方式,體積小,便于存儲和保存,但讀取困難,在氣象預(yù)報服務(wù)及科學(xué)研究中不能快速查詢與分析,也不能對各種氣象要素進(jìn)行有效的組合,是一種單一的獨(dú)立的存儲方式。二是各要素的指示碼因觀測次數(shù)不同、觀測時段不同和歷史沿革的不同而有較大差別,要素指示碼種類繁多,增加了氣象資料的讀取難度。三是因為各種原因?qū)е職庀笠赜^測值缺測、異常、單位不一致等特殊情況的存在,增加了地面氣象觀測數(shù)據(jù)的處理難度。

        地面氣象觀測數(shù)據(jù)A文件由臺站參數(shù)、觀測數(shù)據(jù)、質(zhì)量控制、附加信息構(gòu)成,其中觀測數(shù)據(jù)包括排列順序固定的20個氣象要素,分別是氣壓(P)、氣溫(T)、濕球溫度(I)、水汽壓(E)、相對濕度(U)、云量(N)、云高(H)、云狀(C)、能見度(V)、降水量(R)、天氣現(xiàn)象(W)、蒸發(fā)量(L)、積雪(Z)、電線積冰(G)、風(fēng)(F)、淺層地溫(D)、深層地溫(K)、凍土深度(A)、日照時數(shù)(S)和草面溫度(B)。每個氣象要素為文件體中一組獨(dú)立的數(shù)據(jù)單位,由指示碼、方式位及該要素1個月的原始數(shù)據(jù)組成。根據(jù)氣象站的分類不同及季節(jié)不同A文件內(nèi)的觀測數(shù)據(jù)也不同[3]。其結(jié)構(gòu)如圖1所示,采用自上而下的順序存儲方式,文件中各指示碼對應(yīng)的氣象數(shù)據(jù)區(qū)塊間相對獨(dú)立。本文處理的文件包括經(jīng)過人工審核的大連市轄區(qū)各臺站自建站以來至2015年末的所有A文件。

        2 A文件解碼入庫

        2.1 數(shù)據(jù)庫存儲

        A文件雖具有嚴(yán)格的數(shù)據(jù)存儲編碼格式,但同時也存在讀取困難、通用性差、統(tǒng)計分析不便及無法網(wǎng)絡(luò)應(yīng)用等缺點(diǎn),為此本文將A文件解碼入庫至Oracle數(shù)據(jù)庫存儲。Oracle數(shù)據(jù)庫作為一種成熟關(guān)系型數(shù)據(jù)庫,在存儲地面氣象觀測數(shù)據(jù)時,具有提取簡單、分析統(tǒng)計方便等優(yōu)勢。

        2.2 文件解碼流程

        考慮到A文件觀測數(shù)據(jù)地面要素種類多,編碼規(guī)則繁雜,若想一次性將所有要素解碼入庫則較困難。本文解碼入庫思路為化繁為簡,即分別按照20個氣象要素標(biāo)識逐個遍歷所有A文件,從中提取出對應(yīng)氣象要素文本段,再將該氣象要素解碼入庫。以氣壓(P)要素為例,解碼流程如圖2所示。

        3 正則表達(dá)式的應(yīng)用

        3.1 正則表達(dá)式的定義

        正則表達(dá)式(regular expression)是計算機(jī)科學(xué)中的一個概念,是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符及這些特定字符的組合,組成一個“規(guī)則字符串”,這個“規(guī)則字符串”用來表達(dá)對字符串的一種過濾邏輯[4-6]??梢酝ㄟ^正則表達(dá)式檢查給定的字符串是否與其匹配,也可通過正則表達(dá)式從字符串中獲取想要的特定部分。正是由于正則表達(dá)式字符處理能力強(qiáng)大、高效靈活、適應(yīng)性強(qiáng),廣泛用于字符串的校驗、替換和提取。

        3.2 正則表達(dá)式的應(yīng)用

        A文件是一種文件類型、要素方式位和編碼方式繁雜多樣的純文本文件,如使用傳統(tǒng)的文本讀寫方式往往需要逐行讀入,再按照不同規(guī)則進(jìn)行數(shù)據(jù)文本的合并和分離,其中可能需要進(jìn)行多次讀寫處理,效率較低且容易出錯。在 .NET中使用正則表達(dá)式支持,需要引入System.Text.RegularExpressions命名空間,主要函數(shù)有以下幾個: ①Regex.IsMatch()方法,返回一個bool值,如果有匹配項,返回True,否則返回False。②Regex.Replace()方法,使用制定的替換字符串替換與制定正則表達(dá)式匹配的所有字符串。③Regex.Match()方法,在輸入字符串中搜索匹配正則表達(dá)式模式的子字符串,并將第一個匹配項作為單個匹配對象返回。④Regex.Split()方法,在由正則表達(dá)式模式定義的位置將輸入字符串拆分為一個子字符串?dāng)?shù)組。

        本文構(gòu)造了多個正則表達(dá)式(C#語言實(shí)現(xiàn))實(shí)現(xiàn)了一系列字符串操作,提高了處理效率。

        (1)為了整理要素文本段格式,方便下一步的分割字符串,需要替換1個或多個連續(xù)空格為1個,使用正則表達(dá)式:

        Regex.Replace(input,@"\s+"," ");

        (2)從整個A文件里快速截取氣壓(P)要素文本段便于下一步處理,不采用逐行讀入遍歷的方式,使用正則表達(dá)式:

        Regex.Match(input,@"^P[s\S]*?="Regex Options.Mul-tiline);

        此表達(dá)式以多行模式匹配以字符P開始,中間有任意多個字符(包括換行符),并以等號結(jié)束的文本段。

        此外對于有以D=代表整月缺測,以及D0、D7、D9三種指示碼指示的淺層地溫(D)要素一次性匹配所有可能性使用:

        Regex.Match(input,@"^D(=|0[\s\S]*?=|7[\s\S]*?=|9[\s\S]*?=)",RegexOptions.Multiline);

        (3)A文件每天的數(shù)據(jù)以"."結(jié)尾,為了合并一天的數(shù)據(jù)到一行內(nèi),使用正則表達(dá)式替換不以.結(jié)尾的換行符為空格:

        Regex.Replace(input,@"([^.])(\r\n)","$1 ");

        (4)文本段逐行(一行代表一天數(shù)據(jù))以單個空格為分隔符分割獲得每小時氣壓值并判斷其是否為正常值:

        string[]inputstr = Regex.Split(result," ");//分割逐小時氣壓值

        for(int n = 0;n < inputstr.Length;n++)

        {

        if(Regex.IsMatch(inputstr[n],@"^\d{4}$"))

        {

        //氣壓值匹配四位數(shù)字,為正常值

        }

        else

        {

        //氣壓值不匹配四位數(shù)字,為缺測等非正常值

        }

        }

        (5)對于截取到的氣象要素數(shù)據(jù),判斷該字符串是否為整數(shù),以方便下一步進(jìn)行轉(zhuǎn)換并存入數(shù)據(jù)庫可使用:Regex.IsMatch(input,@"^-?\d+$");//判斷該字符串是否為整數(shù)(包括負(fù)整數(shù))。

        4 結(jié)語

        大連市地面氣象觀測資料數(shù)據(jù)庫的建立,完成了各臺站建站以來地面氣象觀測數(shù)據(jù)的數(shù)據(jù)庫存儲,為氣象觀測資料的二次開發(fā)應(yīng)用奠定了基礎(chǔ)。而正則表達(dá)式在氣象觀測資料文件處理中的使用,使得字符串處理時節(jié)約大量編程的時間,極大提高工作效率,同時也能使所編寫出來的程序代碼更簡潔,可維護(hù)性更強(qiáng),解碼入庫的錯誤率降低。

        5 參考文獻(xiàn)

        [1] 管杰裕.正則表達(dá)式在氣象信息處理中的應(yīng)用[J].廣西氣象,2006,27(增刊1):107-108.

        [2] 田蘭金,石聲,李波,等.基于XML和正則表達(dá)式的氣象數(shù)據(jù)處理系統(tǒng)[J].計算機(jī)科學(xué),2013,40(11A):432-434.

        [3] 郜慶林,馬琰鋼,吳孟春,等.浙江省地面氣象觀測數(shù)據(jù)A文件資料解讀入庫方案[J].浙江氣象,2009,30(增刊1):48-50.

        [4] 潘存良.基于PHP的正則表達(dá)式在氣象信息處理中的應(yīng)用[J].沙漠與綠洲氣象,2015,9(增刊1):129-130.

        [5] 李耀東.呼倫貝爾氣象資料A0文件的數(shù)據(jù)庫存儲實(shí)現(xiàn)[D].成都:電子科技大學(xué),2014.

        [6] 中國氣象局.地面氣象觀測數(shù)據(jù)文件和記錄簿表格式[M].北京:氣象出版社,2005.

        [7] 田蘭,金石聲,李波,等.基于XML和正則表達(dá)式的氣象數(shù)據(jù)處理系統(tǒng)[J].計算機(jī)科學(xué),2013(S2):432-435.

        [8] 管杰裕.正則表達(dá)式在氣象信息處理中的應(yīng)用[J].廣西氣象,2006(S1):107-108+111.

        [9] 舒秦.氣象報表天氣現(xiàn)象的分析與統(tǒng)計[J].電腦編程技巧與維護(hù),2015(4):46-48.

        猜你喜歡
        氣象要素字符串解碼
        《解碼萬噸站》
        成都電網(wǎng)夏季最大電力負(fù)荷變化特征及其與氣象要素的關(guān)系
        解碼eUCP2.0
        中國外匯(2019年19期)2019-11-26 00:57:32
        NAD C368解碼/放大器一體機(jī)
        Quad(國都)Vena解碼/放大器一體機(jī)
        沈陽市1951—2013年氣候變化特征及其區(qū)域蒸發(fā)的響應(yīng)分析
        北京市朝陽區(qū)大氣污染物時空分布特征及與氣象要素的關(guān)系研究
        探測環(huán)境變化對臨沭站氣象要素的影響
        一種新的基于對稱性的字符串相似性處理算法
        依據(jù)字符串匹配的中文分詞模型研究
        久久综合给合久久97色| 亚洲精品无码成人a片| 韩国三级中文字幕hd久久精品| 成人国产在线观看高清不卡| 国产精品一区二区蜜臀av| 熟妇高潮一区二区三区在线观看| 国产又a又黄又潮娇喘视频| 999久久久精品国产消防器材| 中文字幕高清无码不卡在线| 日日麻批免费高清视频| 欧美成人看片一区二区三区尤物 | 成年女人毛片免费观看97| 欧美zozo另类人禽交| 国产精品自拍午夜伦理福利| 久久久久国产精品| 欧美极品少妇性运交| 久久99国产亚洲高清观看首页| 久久热免费最新精品视频网站| 国产成人精品a视频一区| 久久综合第一页无码| 亚洲综合久久久中文字幕| 男女真人后进式猛烈视频网站 | 一本色道久久88加勒比| 日本高清视频永久网站www | 国偷自产视频一区二区久| 99久久综合精品五月天| 久久国产色av| 中国产无码一区二区三区| 在线精品国产亚洲av麻豆| 成人午夜视频精品一区| 北条麻妃在线视频观看| 蜜桃精品国产一区二区三区| 老熟女富婆激情刺激对白| 亚洲乱亚洲乱少妇无码99p| 亚洲欧洲AV综合色无码| 日韩av免费一区二区| 亚洲综合在线一区二区三区| 草莓视频一区二区精品| 日本免费三片在线播放| 中文字幕免费在线观看动作大片| 天天干夜夜操|