• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      應(yīng)用MUSIC 開發(fā)北海區(qū)域自動氣象站采集系統(tǒng)

      2016-12-14 09:39:12盧紹宗
      安徽農(nóng)業(yè)科學(xué) 2016年32期
      關(guān)鍵詞:北海市數(shù)據(jù)表氣象站

      魯 玲,盧紹宗

      (廣西北海市氣象局,廣西北海 536000)

      ?

      應(yīng)用MUSIC 開發(fā)北海區(qū)域自動氣象站采集系統(tǒng)

      魯 玲,盧紹宗

      (廣西北海市氣象局,廣西北海 536000)

      介紹了北海區(qū)域自動氣象站采集系統(tǒng)的功能設(shè)計、數(shù)據(jù)庫和數(shù)據(jù)表設(shè)計以及系統(tǒng)的實現(xiàn),并列舉了該系統(tǒng)的幾個關(guān)鍵技術(shù)。該采集系統(tǒng)采用C#開發(fā),通過氣象數(shù)據(jù)統(tǒng)一服務(wù)接口MUSIC調(diào)用全國綜合氣象信息共享系統(tǒng)CIMISS的地面資料,更新本地基礎(chǔ)氣象數(shù)據(jù)庫的自動站采集數(shù)據(jù)表,為北海市氣象現(xiàn)代化服務(wù)平臺提供可靠、準(zhǔn)確的數(shù)據(jù)。通過業(yè)務(wù)應(yīng)用證實,系統(tǒng)運行穩(wěn)定、性能好。該系統(tǒng)對推進全國綜合氣象信息共享系統(tǒng)CIMISS業(yè)務(wù)化、實現(xiàn)業(yè)務(wù)系統(tǒng)與CIMISS的對接起到了示范作用,具有推廣價值。

      MUSIC;自動氣象站采集系統(tǒng);CIMISS;C#

      隨著北海市氣象事業(yè)的不斷發(fā)展,建設(shè)北海市氣象現(xiàn)代化服務(wù)平臺被列為北海市氣象局的重點開發(fā)項目。該項目以提升北海市氣象局現(xiàn)代化建設(shè)的科技內(nèi)涵、增強氣象部門業(yè)務(wù)服務(wù)能力、提高業(yè)務(wù)服務(wù)人員工作效率為目的,充分融合和利用現(xiàn)有業(yè)務(wù)系統(tǒng),建成統(tǒng)一信息采集、統(tǒng)一數(shù)據(jù)存貯、統(tǒng)一加工分析處理、統(tǒng)一產(chǎn)品制作、統(tǒng)一信息發(fā)布的集約化、智能化的綜合氣象業(yè)務(wù)服務(wù)平臺。

      針對中國氣象局推進全國綜合氣象信息共享系統(tǒng)(China Integrated Meteorological Information Service System,CIMISS)[1]業(yè)務(wù)化應(yīng)用的要求,北海市氣象現(xiàn)代化服務(wù)平臺主動完成了與CIMISS的對接。數(shù)據(jù)庫系統(tǒng)是北海市氣象現(xiàn)代化服務(wù)平臺的基礎(chǔ),為各種專業(yè)業(yè)務(wù)系統(tǒng)提供可靠、準(zhǔn)確的數(shù)據(jù)。北海市氣象現(xiàn)代化服務(wù)平臺的數(shù)據(jù)庫系統(tǒng)采用SQL SERVER 2014管理,在當(dāng)?shù)貏?chuàng)建基礎(chǔ)氣象數(shù)據(jù)庫、預(yù)警數(shù)據(jù)庫、預(yù)報數(shù)據(jù)庫和系統(tǒng)數(shù)據(jù)庫等[2]。北海區(qū)域自動氣象站采集系統(tǒng)是北海市氣象現(xiàn)代化服務(wù)平臺的一個后臺數(shù)據(jù)處理軟件,該采集系統(tǒng)通過氣象數(shù)據(jù)統(tǒng)一服務(wù)接口(Meteorological Unified Service Interface Community,MUSIC)調(diào)用CIMISS的北海區(qū)域地面資料,更新當(dāng)?shù)鼗A(chǔ)氣象數(shù)據(jù)庫的自動站采集數(shù)據(jù)表和系統(tǒng)數(shù)據(jù)庫的采集時間表,為服務(wù)平臺的數(shù)據(jù)監(jiān)控和實況信息展示模塊提供數(shù)據(jù)支撐。筆者介紹了該系統(tǒng)的功能設(shè)計、數(shù)據(jù)庫和數(shù)據(jù)表設(shè)計以及系統(tǒng)的實現(xiàn),并列舉了該系統(tǒng)的幾個關(guān)鍵技術(shù)。

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

      1.1 系統(tǒng)功能設(shè)計 CIMISS是一套覆蓋全國的集數(shù)據(jù)收集與分發(fā)、質(zhì)量控制與產(chǎn)品生成、存儲管理、共享服務(wù)于一體的國家和省級2級氣象信息共享業(yè)務(wù)平臺,以滿足目前和未來現(xiàn)代氣象業(yè)務(wù)、科研和服務(wù)對氣象信息的需求,發(fā)展繼“9210工程”以來的新一代氣象信息系統(tǒng)為目標(biāo),為氣象部門及相關(guān)行業(yè)用戶提供綜合氣象探測資料和氣象產(chǎn)品的共享服務(wù)[3]。氣象數(shù)據(jù)統(tǒng)一服務(wù)接口(MUSIC)基于國省統(tǒng)一的數(shù)據(jù)環(huán)境CIMISS,面向氣象業(yè)務(wù)和科研,提供全國統(tǒng)一、標(biāo)準(zhǔn)、豐富的數(shù)據(jù)訪問服務(wù)和應(yīng)用編程接口(API),為國、省、地、縣各級應(yīng)用系統(tǒng)提供唯一權(quán)威的數(shù)據(jù)接入服務(wù)。MUSIC針對氣象應(yīng)用系統(tǒng),提供多種不同的服務(wù)方式,包括客戶端調(diào)用服務(wù)、web service、REST服務(wù)和腳本服務(wù)。其中web service一般使用成熟的第三方工程實現(xiàn),在CIMISS系統(tǒng)中使用axis2來實現(xiàn)。

      北海區(qū)域自動氣象站采集系統(tǒng)開發(fā)應(yīng)用了MUSIC,采用MUSIC提供的web service方式,從服務(wù)器獲取wsdl服務(wù),通過API接口賬號使用callAPI_to_serializedStr方法,設(shè)置參數(shù)并調(diào)用接口getSurfEleByTimeAndStaID,按時間、站號檢索地面數(shù)據(jù)要素,獲取北海區(qū)域的地面逐小時資料和地面分鐘降水資料,返回JSON格式的序列化字符串。經(jīng)過進一步處理,實現(xiàn)自動氣象站觀測數(shù)據(jù)本地入庫存儲。

      1.2 數(shù)據(jù)庫與數(shù)據(jù)表設(shè)計 為了對氣象要素進行統(tǒng)一規(guī)范的存儲和服務(wù),保證氣象數(shù)據(jù)的一致性和準(zhǔn)確性,基礎(chǔ)氣象數(shù)據(jù)庫(db_bh_qx)和系統(tǒng)數(shù)據(jù)庫(db_bh_xt)的設(shè)計參考標(biāo)準(zhǔn)《QX/T 102-2009 氣象資料分類與編碼》和《QX/T 133-2011 氣象要素分類與編碼》[4-5]。建庫后,在基礎(chǔ)氣象數(shù)據(jù)庫(db_bh_qx)中創(chuàng)建自動站采集數(shù)據(jù)表(MsgMediumSmallScale)、自動站采集數(shù)據(jù)臨時表(MsgMediumSmallScaleTemp)和北海自動站站點信息表(SmallScaleStation)等數(shù)據(jù)表。在系統(tǒng)數(shù)據(jù)庫(db_bh_xt)中創(chuàng)建系統(tǒng)采集時間表(Collect_Time)[6]。其中,自動站采集數(shù)據(jù)表(MsgMediumSmallScale)用于存儲采集到的自動氣象站觀測要素等數(shù)據(jù)。

      1.3 系統(tǒng)運行環(huán)境 系統(tǒng)開發(fā)平臺為Microsoft Visual Studio 2010,編程使用C#語言,運行于Microsoft Windows Server 2012 R2 Standard,數(shù)據(jù)庫管理軟件為SQL SERVER 2014。

      2 系統(tǒng)實現(xiàn)

      2.1 自定義類的設(shè)計 系統(tǒng)開發(fā)時設(shè)計了處理類AutoStation和AutoStationEntity,工具類DBHelperTool,配置類dbConfig和IniFile,通用類DBHelper和Loghelper。在工具類中添加WebsUtil類和Ws類。類的設(shè)計及相關(guān)說明如表1所示。

      表1 類的設(shè)計及相關(guān)說明

      在AutoStationEntity類中定義11個變量(stationId、stationName、stationLongitude、stationLatitude、stationAltitude、stationObserveElement、stationCity、stationCounty、stationDrainageArea、stationJB、stationCollect),然后在該類中自定義11個屬性,分別用來表示自動站的站點編號、站點名稱、站點經(jīng)度、站點緯度、站點海拔、站點要素、站點所屬市、站點所屬縣、站點流域、站點級別和站點是否采集標(biāo)志格式。 在AutoStation類的selectStation方法中首先實例化一個Hashtable對象hashtable,接著讀取北海自動站站點信息表(SmallScaleStation)的列值,將站點編號列值轉(zhuǎn)換為string類型后賦值給stationid;然后實例化AutoStationEntity類的一個對象autoStation,并根據(jù)讀取到的列值分別給對象autoStation定義的站點編號、站點名稱等11個屬性賦值;向hashtable中添加元素,該元素的鍵為stationid,值為autoStation;最后返回hashtable。

      2.2 自動氣象站數(shù)據(jù)采集流程 OperationAutoStationData 是AutoStation類的一個方法,用于處理自動站數(shù)據(jù),其工作流程如圖1所示。

      2.3 項目配置 在配置文件CollectPath.ini中添加基礎(chǔ)氣象數(shù)據(jù)庫(db_bh_qx)和系統(tǒng)數(shù)據(jù)庫(db_bh_xt)的配置信息,包括它們的數(shù)據(jù)源IP地址、數(shù)據(jù)庫名稱、登錄用戶名及密碼等。通過dbConfig類可以讀取這些配置信息。在項目中添加app.config文件,在appSettings配置節(jié)添加鍵serverIP并設(shè)置IP地址,通過調(diào)用ws類從該指定IP地址的服務(wù)器上即可獲取wsdl服務(wù)。

      2.4 系統(tǒng)界面 系統(tǒng)運行后,首先創(chuàng)建哈希表stationTable并初始化為null,用于存放區(qū)域自動氣象站站點信息。新建自動站處理類AutoStation對象,調(diào)用Createinstance方法創(chuàng)建實例并賦值給該對象[7]。連接系統(tǒng)數(shù)據(jù)庫(db_bh_xt)表Collect_Time,使用GetLasterCollectTime方法獲取自動氣象站最新采集時間,若該采集時間不為Null,則將最新采集時間賦值給日期控件。系統(tǒng)界面如圖2所示。

      圖1 區(qū)域自動氣象站數(shù)據(jù)采集流程Fig.1 Collection process of regional automatic weather station data

      圖2 北海區(qū)域自動氣象站采集系統(tǒng)界面Fig.2 The interface of collection system of Beihai regional automatic weather stations

      通過系統(tǒng)界面的日期控件可以設(shè)置采集時間,點擊“修改”按鈕可將系統(tǒng)數(shù)據(jù)庫(db_bh_xt)表Collect_Time的采集時間更改為日期控件設(shè)定的時間值。點擊“啟動采集”按鈕,若stationTable表行數(shù)為0,則使用AutoStation類的selectStation方法從表SmallScaleStation獲取北海區(qū)域自動站站點信息。然后按采集時間和自動站站號通過MUSIC獲取相應(yīng)的要素數(shù)據(jù),將數(shù)據(jù)進行處理后保存到基礎(chǔ)氣象數(shù)據(jù)庫(db_bh_qx)的自動站采集數(shù)據(jù)表(MsgMediumSmallScale)和自動站采集數(shù)據(jù)臨時表(MsgMediumSmallScaleTemp),并更新系統(tǒng)采集時間表(Collect_Time)的采集時間。在實際運行中,將北海區(qū)域自動氣象站采集系統(tǒng)可執(zhí)行文件寫進批處理文件,并設(shè)置該批處理文件每隔15 min自動運行1次。通過對基礎(chǔ)氣象數(shù)據(jù)庫(db_bh_qx)的訪問,在北海市氣象現(xiàn)代化服務(wù)平臺上可以查詢到北海區(qū)域自動站的實況數(shù)據(jù)(圖3)。

      3 系統(tǒng)的關(guān)鍵技術(shù)

      3.1 數(shù)據(jù)契約的使用 數(shù)據(jù)契約(DataContract)是服務(wù)器端和客戶端之間要傳送的自定義數(shù)據(jù)類型。一旦聲明一個類型為DataContract,該類型就可以被序列化在服務(wù)器端和客戶端之間傳送。根據(jù)實際情況,需要把每一個要傳送的成員聲明為DataMember。系統(tǒng)開發(fā)時,在WebsUtil類定義數(shù)據(jù)契約SK和Rain, 區(qū)域自動氣象站數(shù)據(jù)采集處理過程要用到這2種數(shù)據(jù)契約。在數(shù)據(jù)契約SK和Rain中將相關(guān)的要素字段代碼聲明為DataMember。根據(jù)MUSIC中的要素代碼定義,在數(shù)據(jù)契約SK中聲明Station_Id_C、Datetime、WIN_D_Avg_2mi、WIN_S_Avg_2mi、WIN_D_Avg_10mi等53個DataMember,在數(shù)據(jù)契約Rain中聲明Station_Id_C、Datetime、PRE等6個DataMember。

      圖3 北海區(qū)域自動站實況數(shù)據(jù)查詢Fig.3 Live data query of Beihai regional automatic weather stations

      3.2 JavaScriptSerializer類的使用 JavaScriptSerializer類位于System.Web.Script.Serialization命名空間下。客戶端的序列化與反序列化能力由JavaScriptSerializer類的Serialize和Deserialize 2個方法提供。通過web service方式調(diào)用方法callAPI_to_serializedStr,并將獲得的JSON字符串轉(zhuǎn)換為List類型對象,反序列化后的字符串經(jīng)過處理再轉(zhuǎn)換為自動站采集數(shù)據(jù)表(MsgMediumSmallScale)的列值。程序關(guān)鍵代碼如下:

      param = "userId=BENN_XXXX_XXXXXX" /*1.1 用戶名&密碼*/

      + "&pwd=XXXXXX"

      + "&interfaceId=getSurfEleByTimeAndStaID" /* 1.2 接口ID */

      + "&dataCode=SURF_CHN_MUL_HOR" /* 1.3 必選參數(shù)(按需加可選參數(shù)) */

      //資料:中國地面逐小時

      + "&elements=Station_Id_C,Datetime,WIN_D_Avg_2mi,WIN_S_Avg_2mi,WIN_D_Avg_10mi,WIN_S_Avg_10mi, WIN_D_S_Max,WIN_S_Max,WIN_S_Max_OTime,WIN_D_INST,WIN_S_INST,WIN_D_INST_Max,WIN_S_Inst_Max,WIN_S_INST_Max_OTime,PRE_1h,TEM,TEM_Max,TEM_Max_OTime,TEM_Min,TEM_Min_OTime,RHU,RHU_Min,RHU_Min_OTIME,VAP,DPT,PRS,PRS_Max,PRS_Max_OTime,PRS_Min,PRS_Min_OTime,LGST,LGST_Max,LGST_Max_OTime,LGST_Min,LGST_Min_OTime,GST,GST_Max,GST_Max_Otime,GST_Min,GST_Min_OTime,GST_5cm,GST_10cm,GST_15cm,GST_20cm,GST_40Cm,GST_80cm,GST_160cm,GST_320cm,EVP_Big,PRS_Sea,VIS_HOR_10MI,VIS_Min,VIS_Min_OTime,Lat,Lon,Alti" //檢索要素:站號、站名、小時降水、氣壓、相對濕度、能見度、2 min平均風(fēng)速、2 min風(fēng)向等

      + "×=" + datetime.ToString("yyyyMMddHH0000") //檢索時間

      + "&staIds=" + strStationId

      + "&orderby=Station_ID_C:ASC" //排序:按照站號從小到大

      + "&limitCnt=300" //返回最多記錄數(shù)

      + "&dataFormat=json"; /* 1.4 序列化格式 */

      ……

      WebsUtil websUtil = new WebsUtil();

      string rstData = websUtil.getWsString("callAPI_to_serializedStr", param);

      int index = rstData.IndexOf(""DS"");

      rstData = rstData.Substring(index + 5, rstData.Length - index - 6);

      JavaScriptSerializer js = new JavaScriptSerializer();

      List sklist = js.Deserialize(rstData, typeof(List)) as List;

      3.3 SqlHelper類的使用 SqlHelper類位于System.Data.SqlClient命名空間下,是對數(shù)據(jù)庫操作方法進行封裝的類。SqlHelper類的ExecuteNonQuery方法用于執(zhí)行不返回任何行或值的命令,如非查詢類SQL語句。SqlHelper類的ExecuteReader方法執(zhí)行查詢類的SQL語句或存儲過程,用于返回SqlDataReader對象,該對象包含由某一命令返回的結(jié)果集。ExecuteScalar方法通過已有的數(shù)據(jù)庫連接執(zhí)行SqlCommand,返回值是該命令返回的第1行的第1列。

      在方法selectStation、GetLasterCollectTime、OperationAutoStationData中使用了SqlHelper類。部分程序代碼如下:

      String strsql = "SELECT [StationID],[StationName],[Province],[City],[County],[Longitude],[Latitude],[Altitude],[StationModel],[ObserveElement],[DrainageArea],[Tributaries],[StartTime],[Jb] FROM [SmallScaleStation] ";

      SqlDataReader sqlreader = SqlHelper.ExecuteReader(conn, CommandType.Text, strsql);

      3.4 方法重載 方法重載是指調(diào)用同一方法名,但各方法中參數(shù)的數(shù)據(jù)類型、個數(shù)或順序不同。只要類中有2個以上的同名方法,且使用的參數(shù)類型、個數(shù)或順序不同,調(diào)用時編譯器就可以判斷在哪種情況下調(diào)用哪種方法[7]。在設(shè)計DBHelper類的方法ExecuteNonQuery時用到了方法重載。程序關(guān)鍵代碼如下:

      public static int ExecuteNonQuery(SqlConnection connection, CommandType commandType, string commandText)

      // 執(zhí)行指定數(shù)據(jù)庫連接對象的命令

      {

      return ExecuteNonQuery(connection, commandType, commandText, (SqlParameter[])null);

      }

      4 結(jié)語

      北海區(qū)域自動氣象站采集系統(tǒng)自2016年5月在北海市氣象局進行業(yè)務(wù)試運行以來,能正常采集北海區(qū)域41個自動站的地面逐小時資料和地面分鐘降水資料,系統(tǒng)運行穩(wěn)定、性能好,為北海市氣象現(xiàn)代化服務(wù)平臺的數(shù)據(jù)監(jiān)控和實況信息展示模塊提供了數(shù)據(jù)支撐。該系統(tǒng)對推進全國綜合氣象信息共享系統(tǒng)CIMISS業(yè)務(wù)化、實現(xiàn)業(yè)務(wù)系統(tǒng)與CIMISS的對接起到了示范作用,具有推廣價值。

      [1] 熊安元,趙芳,王穎,等.全國綜合氣象信息共享系統(tǒng)的設(shè)計與實現(xiàn)[J].應(yīng)用氣象學(xué)報,2015,26(4):500-512.

      [2] 李集明,王國復(fù).氣象數(shù)據(jù)庫系統(tǒng)總體設(shè)計綜述[J].氣象科技,2007,35(Sl):1-5.

      [3] 王旻燕,鄧?yán)颍w芳,等.CIMISS中氣象衛(wèi)星數(shù)據(jù)存儲和服務(wù)模型[J].安徽農(nóng)業(yè)科學(xué),2012,40(8):4785-4789.

      [4] 國家氣象信息中心.氣象資料分類與編碼:QX/T 102—2009[S].北京:氣象出版社,2009.

      [5] 國家氣象信息中心.氣象要素分類與編碼:QX/T 133—2011[S].北京:氣象出版社,2011.

      [6] 于平,李漢彬,段海花,等.市級自動氣象站數(shù)據(jù)庫顯示系統(tǒng)的設(shè)計與實現(xiàn)[J].廣東氣象,2008,30(6):57-58.

      [7] 王小科.C#開發(fā)實戰(zhàn)寶典[M].北京:清華大學(xué)出版社,2012:159.

      Development of Collection System of Beihai Regional Automatic Weather Stations Using MUSIC

      LU Ling,LU Shao-zong

      (Beihai Meteorological Bureau, Beihai ,Guangxi 536000)

      This paper introduced the function design, the design of database and data table and system realization of collection system of Beihai regional automatic weather stations, and enumerated several key technologies of the system.The collection system was implemented by C# programming language and got the surface data of China integrated meteorological information service system using meteorological unified service interface community,updated the collection data table of automatic stations of local fundamental meteorological database,which provided accurate and reliable data for Beihai meteorological modernization service platform. The operational application indicated the system performed stably and had good characteristics. The system had a demonstration for promoting operational application of CIMISS and achieving the integration of business systems and CIMISS in Guangxi. The system had promotion value.

      MUSIC;Collection system of automatic weather stations;CIMISS;C#

      北海市科學(xué)技術(shù)局項目(北科合201503004,北科合20160 3001)。

      魯玲(1974- ),女,廣西北海人,工程師,從事氣象信息化建設(shè)工作。

      2016-09-05

      S 163+.7

      A

      0517-6611(2016)32-0179-05

      猜你喜歡
      北海市數(shù)據(jù)表氣象站
      珠峰上架起世界最高氣象站
      湖北省新冠肺炎疫情數(shù)據(jù)表
      黨員生活(2020年2期)2020-04-17 09:56:30
      北海市西村港跨海大橋主橋總體設(shè)計
      心靈氣象站
      趣味(語文)(2019年3期)2019-06-12 08:50:14
      北海市馮家江水質(zhì)監(jiān)測與評價
      基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
      北海市社保網(wǎng)上經(jīng)辦系統(tǒng)正式上線
      人事天地(2016年12期)2016-12-23 09:11:24
      自動氣象站應(yīng)該注意的一些防雷問題
      圖表
      基于VSL的動態(tài)數(shù)據(jù)表應(yīng)用研究
      河南科技(2014年24期)2014-02-27 14:19:25
      岐山县| 姚安县| 绍兴市| 文昌市| 铁岭市| 海淀区| 东至县| 岑巩县| 渝北区| 顺昌县| 北碚区| 西乌珠穆沁旗| 合阳县| 方城县| 靖远县| 韶山市| 门头沟区| 观塘区| 怀柔区| 民和| 日照市| 汪清县| 五华县| 威海市| 宣武区| 临漳县| 冀州市| 泗水县| 怀集县| 滦南县| 营山县| 凉城县| 滦平县| 明光市| 柳江县| 平和县| 乌兰浩特市| 东台市| 南涧| 兴业县| 德格县|