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

        ?

        多源能見度數(shù)據(jù)監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)

        2016-06-21 00:39:31張志堅伍光勝胡琳
        廣東氣象 2016年3期
        關(guān)鍵詞:多線程能見度

        張志堅,伍光勝,胡琳

        (廣州市氣象信息網(wǎng)絡(luò)中心,廣東廣州 511430)

        ?

        多源能見度數(shù)據(jù)監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)

        張志堅,伍光勝,胡琳

        (廣州市氣象信息網(wǎng)絡(luò)中心,廣東廣州 511430)

        摘 要:介紹多源能見度數(shù)據(jù)監(jiān)測系統(tǒng)的設(shè)計方案。闡述利用C#多線程技術(shù)實現(xiàn)對多源能見度數(shù)據(jù)的采集與入庫?;诎俣鹊貓DJavaScript API的二次應(yīng)用及AJAX技術(shù)的異步加載,實現(xiàn)對能見度儀狀態(tài)和實時數(shù)據(jù)的動態(tài)監(jiān)控;采用ASP.NET的MSChart圖表插件,以Spline曲線形式實現(xiàn)對不同能見度數(shù)據(jù)的對比展示。

        關(guān)鍵詞:計算機技術(shù)與應(yīng)用;能見度;多線程;百度地圖API;AJAX技術(shù);數(shù)據(jù)展示

        張志堅,伍光勝,胡琳.多源能見度數(shù)據(jù)監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[J].廣東氣象,2016,38(3):70 -73.

        隨著氣象觀測技術(shù)的發(fā)展,能見度的觀測基本以自動觀測為主要手段,通過在自動氣象站系統(tǒng)中加入能見度觀測儀,實現(xiàn)對能見度觀測數(shù)據(jù)的自動采集和傳輸。目前廣東省各氣象臺站已布設(shè)了一定數(shù)量的能見度自動觀測儀,以廣州市氣象局為例,共建成的能見度觀測儀有21個,其中從化局觀測站、番禺局觀測站、花都局觀測站、增城局觀測站、蘿崗觀測站等5個國家站通過專線上傳數(shù)據(jù),已接入?yún)^(qū)域自動站采集器實現(xiàn)數(shù)據(jù)無線上傳的能見度儀站點有13個,其他3個站點通過本地FTP的方式上傳。能見度作為發(fā)布灰霾和大霧等氣象災(zāi)害預(yù)警信號的重要參考要素,建立基于歸屬地的能見度數(shù)據(jù)監(jiān)測系統(tǒng),能夠及時準確地為預(yù)報人員提供實況數(shù)據(jù),為精準的灰霾發(fā)布和大霧災(zāi)害預(yù)警提供有效的數(shù)據(jù)支撐,同時實現(xiàn)了對能見度觀測設(shè)備的有效管理和實時監(jiān)控,對能見度監(jiān)測網(wǎng)的正常運行提供有力的保障。

        1 系統(tǒng)設(shè)計方案

        由于能見度數(shù)據(jù)需要通過多種傳輸途徑來獲取,所以監(jiān)測系統(tǒng)需要解決多源數(shù)據(jù)采集的需求,對格式不一致的數(shù)據(jù)進行標準化處理、入庫并實現(xiàn)集中展示[1 -2]。能見度監(jiān)測系統(tǒng)的總體架構(gòu)如圖1所示,系統(tǒng)由兩部分組成,即數(shù)據(jù)采集入庫及數(shù)據(jù)展示。

        圖1 能見度業(yè)務(wù)監(jiān)測平臺總體架構(gòu)示意圖

        多源數(shù)據(jù)采集入庫主要針對數(shù)據(jù)源頭分散且數(shù)據(jù)格式、傳輸方式不一致的能見度數(shù)據(jù),采用C#多線程技術(shù)來實現(xiàn)數(shù)據(jù)采集、處理、入庫。不同采集方式創(chuàng)建不同線程,做到不同傳輸方式之間的數(shù)據(jù)采集互不干擾,從而提高數(shù)據(jù)采集程序的采集效率和保證數(shù)據(jù)采集的可靠性[3]。

        考慮到能見度業(yè)務(wù)展示平臺的可維護性以及擴展性,使系統(tǒng)結(jié)構(gòu)更加清晰,符合高內(nèi)聚、低耦合原則,采用分層軟件設(shè)計思想[4],將Web服務(wù)應(yīng)用劃分為表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,充分考慮類以及對象關(guān)系,將具備同性質(zhì)的類組織到一起,形成對應(yīng)的類層次結(jié)構(gòu)。表現(xiàn)層為系統(tǒng)人機交互界面,表現(xiàn)層根據(jù)具體業(yè)務(wù)需求實例化業(yè)務(wù)邏輯層的類對象,對業(yè)務(wù)需求進行數(shù)據(jù)展現(xiàn),盡量不參與業(yè)務(wù)邏輯處理,以便降低結(jié)構(gòu)層之間的耦合度。業(yè)務(wù)邏輯層跟系統(tǒng)功能息息相關(guān),是系統(tǒng)業(yè)務(wù)處理的核心層,為系統(tǒng)功能提供數(shù)據(jù)和業(yè)務(wù)邏輯處理。數(shù)據(jù)訪問層作為數(shù)據(jù)實體層訪問的中間件,由業(yè)務(wù)邏輯層進行調(diào)用,實現(xiàn)數(shù)據(jù)的查詢與更新操作。

        2 多源數(shù)據(jù)的采集入庫

        2.1多線程數(shù)據(jù)采集的實現(xiàn)

        數(shù)據(jù)采集程序由主線程使用Timer定時器實現(xiàn)對能見度數(shù)據(jù)的周期性采集,Timer運行的核心是線程池,Timer每到間隔時間后就會激發(fā)響應(yīng)事件,因此要申請線程來執(zhí)行對應(yīng)的響應(yīng)函數(shù),Timer將獲取線程的工作都交給了線程池來管理。通過Interval屬性設(shè)定Timer采集周期,通過Tick事件設(shè)置響應(yīng)事件。采集程序開始時啟動定時器計時,當定時器到了一定時間間隔后,激發(fā)Tick響應(yīng)事件,調(diào)用EventHandler委托,針對FTP、GPRS和WebService這3種數(shù)據(jù)傳輸方式分別創(chuàng)建數(shù)據(jù)采集子線程[5]。數(shù)據(jù)采集子線程創(chuàng)建完后重新進入下一個時次的數(shù)據(jù)采集計時。數(shù)據(jù)采集流程如圖2所示。

        圖2 數(shù)據(jù)采集流程圖

        FTP數(shù)據(jù)采集線程開始后,調(diào)用FtpHelper類的FtpDownload()方法讀取上一時次的數(shù)據(jù)采集參數(shù)進行數(shù)據(jù)文件FTP下載。數(shù)據(jù)文件下載成功后臨時保存在本地目錄,F(xiàn)TP數(shù)據(jù)采集線程接著調(diào)用數(shù)據(jù)文件解析類ProcessRTDFile進行數(shù)據(jù)標準化處理,然后調(diào)用數(shù)據(jù)庫訪問類SQLHelper進行數(shù)據(jù)入庫,最后更新數(shù)據(jù)采集參數(shù)并結(jié)束線程;若數(shù)據(jù)文件下載失敗,直接結(jié)束線程。數(shù)據(jù)訪問類SQLHelper使用ADO.NET數(shù)據(jù)庫訪問技術(shù)進行封裝,該類定義連接數(shù)據(jù)庫、關(guān)閉連接、數(shù)據(jù)查詢、數(shù)據(jù)更新、數(shù)據(jù)修改等一系列數(shù)據(jù)庫訪問操作方法。

        GPRS數(shù)據(jù)采集線程調(diào)用GPRSHelper類以GPRS傳輸方式采集并在本地生成XML文件。若有XML數(shù)據(jù)文件生成,則調(diào)用ProcessXMLFile類解析XML文件節(jié)點和標準化處理,最后調(diào)用SQLHelper類數(shù)據(jù)入庫;若無XML數(shù)據(jù)文件生成,則直接結(jié)束線程。

        WebService數(shù)據(jù)采集線程調(diào)用WebSHelper類以接口調(diào)用的方式進行數(shù)據(jù)采集,對返回成功的JSON數(shù)據(jù)流調(diào)用ProcessJSON類進行數(shù)據(jù)解析處理,處理完后調(diào)用SQLHelper類數(shù)據(jù)入庫;調(diào)用接口若無數(shù)據(jù)流返回,說明該時次無數(shù)據(jù),則線程結(jié)束。

        2.2數(shù)據(jù)庫表的設(shè)計

        數(shù)據(jù)庫使用SQLServer2008關(guān)系型數(shù)據(jù)庫,設(shè)計工具使用PowerDesigner,分別設(shè)計站點信息表STATIONINFO、數(shù)據(jù)實時表CURRENTDATA和數(shù)據(jù)歷史表HISTORYDATA。為保證表結(jié)構(gòu)的完整性,站點信息表STATIONINFO使用站號字段OBTID作為主鍵,數(shù)據(jù)實時表CURRENTDATA和數(shù)據(jù)歷史表HISTORYDATA都使用<OBTID,DDATETIME>作為主鍵。數(shù)據(jù)歷史表HISTORYDATA對DDATETIME列創(chuàng)建索引,從而提高數(shù)據(jù)的檢索效率。站點信息表包含站號、站點名稱、站點經(jīng)度、站點緯度、站點類型、是否啟用等字段;實時表和歷史表包含站號、來報時間、1 min滑動平均能見度、10 min滑動平均能見度、小時最小能見度以及最小能見度出現(xiàn)的時間等字段。

        3 多源數(shù)據(jù)展示

        3.1百度地圖導(dǎo)入及配置

        在使用百度地圖API服務(wù)[6 -8]前,必須在百度地圖LBS開放平臺上申請密鑰(ak)并創(chuàng)建應(yīng)用、配置服務(wù)。使用JavaScript標簽<script>以腳本引入的方式加載百度地圖服務(wù):<script src=”http:/ / api.map.baidu.com/ api?v = 1.5&ak=您的密鑰”type =”text/ javascript”></ script>。然后通過newBMap(container:String | HTMLElement,[opts:MapOptions])在指定的容器內(nèi)創(chuàng)建地圖實例,之后需要調(diào)用BMap.center-AndZoom()方法設(shè)置地圖中心點坐標和地圖顯示級別對地圖進行初始化,未進行初始化的地圖不能進行任何操作。調(diào)用BMap.Boundary().get(“廣州”,function(args))方法獲取廣州行政區(qū)劃圖邊界多邊型的點數(shù)組,通過BMap.Polygon (points:Array<Point>,[opts:PolygonOptions])創(chuàng)建多邊形覆蓋物,再調(diào)用addOverlay(overlay:Overlay)將廣州行政區(qū)劃邊界覆蓋物添加到地圖中。至此便完成了百度地圖的加載和基本配置。

        3.2基于AJAX地圖標注加載

        站點信息和實況數(shù)據(jù)的加載使用jQuery的AJAX異步加載數(shù)據(jù)功能,在不重新加載整個網(wǎng)頁的情況下,每2min向服務(wù)器發(fā)起異步POST請求對網(wǎng)頁的地圖站點信息進行數(shù)據(jù)刷新。AJAX異步請求代碼如下:

        $(function(){

        $.a(chǎn)jax({

        type:"Post",

        url:"refresh.a(chǎn)spx",

        contentType:"application/ json;charset = utf -8",

        dataType:"text",

        success:function(response){

        / /數(shù)據(jù)返回成功

        / /添加站點信息標注

        addMarker(response);

        },

        error:function(xmlReq,err,c){

        / /請求失敗處理代碼

        });

        });服務(wù)端接收到請求后通過按指定的業(yè)務(wù)邏輯規(guī)則查詢數(shù)據(jù),為方便前端數(shù)據(jù)解析處理,業(yè)務(wù)邏輯層按照輕量級的數(shù)據(jù)交換格式JSON對站號、站名、經(jīng)緯度、時次以及能見度數(shù)值等信息進行數(shù)據(jù)封裝并返回給前端。封裝的數(shù)據(jù)格式如下:{'records':[{'sid':'G1088','sname':'廣州五山站','datetime':'2015 -10 -12 08:20:00','value':'32.6','lng':'113.3441','lat':'23.15678'},{'sid':'G3106','sname':'呂田鎮(zhèn)東升','datetime':'2015 -10 -12 08:20:00','value':'41.7','lng':'113.86','lat':'23.81821'}]}。AJAX請求成功后,回調(diào)函數(shù)success(data,textStatus,jqXHR)處理返回數(shù)據(jù),編寫JavaScript腳本對返回的能見度數(shù)值和時次進行異常判斷,通過調(diào)用BMap.Icon(url:String,size:Size,[opts:IconOptions])方法創(chuàng)建自定義圖標樣式,正常站點設(shè)置為綠色圖標,異常站點設(shè)置為紅色圖標,然后根據(jù)返回的站點經(jīng)緯度信息調(diào)用Map.a(chǎn)ddOverlay(marker:Point)方法向地圖中添加自定義標注。為方便對站點信息和數(shù)據(jù)的查看,使用Marker.a(chǎn)ddEventListener(event:String,handler:Function)方法對地圖標注添加鼠標事件進行監(jiān)聽,當鼠標移動和停留到標注上方時,調(diào)用BMap.InfoWindow()創(chuàng)建信息窗對象顯示該站點的站號、站名、數(shù)據(jù)時次和能見度數(shù)值等信息,實現(xiàn)的效果如圖3所示。

        3.3多站點集成曲線圖的實現(xiàn)

        能見度變化曲線圖使用ASP.NET圖表控件[8]Chart以Spline形式進行集中展示,方便對多站點能見度變化進行對比分析??紤]到曲線繪制的美觀性,數(shù)據(jù)集不能過多,過多的數(shù)據(jù)集會導(dǎo)致曲線的標注點過于密集,故在能見度數(shù)據(jù)集的時間跨度上選取了“過去2小時”、“過去12小時”、“過去24小時”和“過去48小時”這4個時間段?!斑^去2小時”數(shù)據(jù)集的時間分辨率是每5 min 1次,“過去12小時”數(shù)據(jù)集的時間分辨率是每30 min 1次,而“過去24小時”和“過去48小時”的數(shù)據(jù)集均為整點時次數(shù)據(jù)。

        圖3 基于百度地圖的站點信息及數(shù)據(jù)監(jiān)測效果

        圖表區(qū)域通過<asp:ChartArea></ asp:ChartArea>進行初始化,包括坐標軸、圖表背景等屬性的設(shè)置。數(shù)據(jù)列屬性樣式用標簽<asp:Series></ asp:Series>設(shè)置,包括系列名稱Name、曲線顏色Color、圖表形式ChartType、數(shù)據(jù)標點樣式MarkerStyle、曲線寬度BorderWidth等屬性。4個時間段的數(shù)據(jù)集通過下拉框控件<asp:DropDownList></ asp:DropDownList>實現(xiàn)時間段選擇,下拉框的值變化后觸發(fā)SelectedIndexChanged(object sender,EventArgs e)事件函數(shù)對Chart圖表控件進行數(shù)據(jù)源的刷新與重新綁定。數(shù)據(jù)列圖例選擇則通過多選框控件<asp:CheckBoxList></ asp:CheckBoxList>來實現(xiàn),多選框控件使用DataSource屬性和DataBind()進行站點信息初始化,每次多選框的點擊事件都會觸發(fā)圖表控件數(shù)據(jù)源的刷新與重新綁定。為了使圖例和所屬曲線的對應(yīng)更直觀性,把數(shù)據(jù)列的圖例及其曲線顏色設(shè)置為同一種顏色(圖4)。

        多源能見度數(shù)據(jù)監(jiān)測系統(tǒng)已經(jīng)在廣州市氣象局業(yè)務(wù)運行,為氣象預(yù)警預(yù)報提供歷史及實況的能見度數(shù)據(jù),實現(xiàn)了歸屬地能見度網(wǎng)站點可視化統(tǒng)一管理、監(jiān)控和實時數(shù)據(jù)應(yīng)用,展示平臺以不同的數(shù)據(jù)形式對表現(xiàn)能見度數(shù)據(jù),更具直觀性和可用性。基于C#多線程技術(shù)的多源數(shù)據(jù)采集及百度地圖JavaScript API的WEBGIS展示應(yīng)用實例對于其他氣象探測設(shè)備的數(shù)據(jù)采集及數(shù)據(jù)展示平臺的開發(fā)有一定的參考價值。

        圖4 能見度變化曲線效果

        參考文獻:

        [1]梁慎青,石小英,梁苑苑,等.廣東省氣象信息實時監(jiān)視系統(tǒng)的開發(fā)及應(yīng)用[J]廣東氣象,2008,31(1):57 -58.

        [2]羅鳴,江崟,潘國盛.氣象自動站數(shù)據(jù)監(jiān)控平臺的設(shè)計與實現(xiàn)[J].廣東氣象,2012,34(4):57 -58.

        [3]伍光勝,敖振浪,李源鴻,等.大型自動氣象監(jiān)測網(wǎng)及數(shù)據(jù)采集中心的設(shè)計及應(yīng)用[J].氣象,2010,36(3):128 -135.

        [4]姜永,鄭春明,李國強.基于.NET平臺的三層架構(gòu)軟件框架的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2011,21(2):77 -78.

        [5]伍光勝,李建勇,劉艷中,等.浪涌氣象數(shù)據(jù)采集系統(tǒng)及其關(guān)鍵技術(shù)[J].南京信息工程大學(xué)學(xué)報,2013,5 (4):336 -345.

        [6]曹煒,肖瑋.基于WebGIS的贛州市旅游信息查詢系統(tǒng)設(shè)計[J].科技資訊,2014(27):18.

        [7]朱小蘭.使用百度地圖JavaScript API開發(fā)旅游線路設(shè)計與行程定制系統(tǒng)[J].產(chǎn)業(yè)與科技論壇,2015,14 (3):44 -45.

        [8]孫迪,李沛鴻.百度地圖API在WebGIS中的應(yīng)用[J].河南科技,2013(11):165 -166.

        [8]朱健,莊科,周丹,等.MSChart在氣象數(shù)據(jù)圖形化顯示中的應(yīng)用[J].浙江氣象,2008,30(1):58 -62.

        中圖分類號:TP38

        文獻標識碼:A

        doi:10.3868/ j.issn.1007 -6180.2016.03.018

        收稿日期:2015 -08 -28

        作者簡介:張志堅(1888年生),男,助理工程師,主要從事氣象信息數(shù)據(jù)及網(wǎng)絡(luò)管理工作。E - mail:780670233@qq.com

        猜你喜歡
        多線程能見度
        阿克蘇機場2010年—2021年低能見度沙塵天氣統(tǒng)計分析
        能見度儀在海陀山的應(yīng)用
        2005—2017年白云機場能見度變化特征及其與影響因子關(guān)系研究
        Java并發(fā)工具包對并發(fā)編程的優(yōu)化
        基于多線程文件傳輸關(guān)鍵技術(shù)研究與實現(xiàn)
        網(wǎng)頁爬蟲技術(shù)的關(guān)鍵技術(shù)研究探索
        一種基于多線程的高速磁盤鏡像算法
        低能見度下高速公路主動誘導(dǎo)技術(shù)的應(yīng)用
        iOS并發(fā)程序設(shè)計中幾種方法的特點及使用技巧研究
        前向散射能見度儀的常見異常現(xiàn)象處理及日常維護
        久久成人黄色免费网站| 免费欧洲毛片a级视频老妇女| 在办公室被c到呻吟的动态图| 女人被狂躁到高潮视频免费网站| 午夜亚洲www湿好大| 久久精品国产精品亚洲艾| 日韩亚洲国产中文字幕| 国产亚洲成人精品久久| 东京热久久综合久久88| 国产专区国产av| 国产精品黑色丝袜在线播放| 日韩精品免费一区二区中文字幕| 亚洲精品女同一区二区三区 | 国语自产精品视频在线看| 人人妻人人澡人人爽欧美精品| 国内精品久久久久久无码不卡| 久草视频在线这里只有精品| 99久久婷婷国产精品综合网站| 国产亚洲精品久久午夜玫瑰园| 国产精品∧v在线观看| 色94色欧美sute亚洲线路二| 中文字幕乱码中文乱码毛片| 国产人妖伦理视频在线观看| 一本大道av伊人久久综合| 亚洲日韩成人av无码网站| 伊人亚洲综合网色AV另类| 偷拍与自偷拍亚洲精品| 男女18视频免费网站| 国产三区在线成人av| 亚洲欧洲国产日产国码无码| 精品一区二区三区不老少妇| 国产精品狼人久久影院软件介绍 | 五月天精品视频在线观看| 蜜臀av一区二区三区人妻在线| 日韩五码一区二区三区地址| 无码人妻久久一区二区三区蜜桃| 国精无码欧精品亚洲一区| 国产精品久久久久免费看| 久久精品国产在热亚洲不卡| 欧美老妇交乱视频在线观看| 亚洲人成色777777老人头|