国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

錦州地區(qū)自動(dòng)站數(shù)據(jù)實(shí)時(shí)顯示報(bào)警平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

2019-05-24 14:13溫舟婁芳蕾史虹婷賈寧徐玉秀高銘
電腦知識(shí)與技術(shù) 2019年11期
關(guān)鍵詞:能見(jiàn)度數(shù)據(jù)處理降水

溫舟 婁芳蕾 史虹婷 賈寧 徐玉秀 高銘

摘要:根據(jù)錦州市現(xiàn)在氣象業(yè)務(wù)的實(shí)際情況,利用Visual Basic語(yǔ)言,在.net4.0框架及SQLServer2008數(shù)據(jù)庫(kù)的支持下,調(diào)用遼寧省CIMISS數(shù)據(jù)環(huán)境庫(kù)的數(shù)據(jù),開(kāi)發(fā)了錦州市自動(dòng)站數(shù)據(jù)實(shí)時(shí)顯示報(bào)警平臺(tái)。該平臺(tái)可實(shí)現(xiàn)錦州地區(qū)自動(dòng)站數(shù)據(jù)當(dāng)前實(shí)況顯示,可選時(shí)段查詢(xún),具體數(shù)據(jù)查詢(xún),降水等值線(xiàn)圖以及達(dá)到預(yù)警閾值報(bào)警等功能。該平臺(tái)的開(kāi)發(fā)有效地提高了錦州市氣象臺(tái)的工作效率,有效地提高了預(yù)報(bào)預(yù)警質(zhì)量與氣象服務(wù)能力。

關(guān)鍵詞:自動(dòng)站;CIMISS;.net4.0編程;SQL數(shù)據(jù)庫(kù)系統(tǒng)

中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2019)11-0101-03

1 背景

自動(dòng)站實(shí)時(shí)數(shù)據(jù)的顯示與報(bào)警是提高預(yù)報(bào)準(zhǔn)確率及氣象服務(wù)效果的重要保障,此前我市因?yàn)樽詣?dòng)站廠(chǎng)家問(wèn)題,具有兩個(gè)自動(dòng)站數(shù)據(jù)庫(kù),分別為長(zhǎng)春廠(chǎng)與華云廠(chǎng),也因此有兩個(gè)查看自動(dòng)站數(shù)據(jù)的顯示平臺(tái)。根據(jù)遼寧省氣象局安排,目前我市自動(dòng)站中心站已遷移至遼寧省氣象局,我市原有的自動(dòng)站顯示平臺(tái)已經(jīng)無(wú)法運(yùn)轉(zhuǎn),為了滿(mǎn)足春播及汛期服務(wù)要求,特制作開(kāi)發(fā)此平臺(tái)。

此平臺(tái)數(shù)據(jù)利用氣象數(shù)據(jù)統(tǒng)一服務(wù)接口(MUSIC)獲取,氣象數(shù)據(jù)統(tǒng)一服務(wù)接口(MUSIC:Meteorological Unified Service Interface Community),基于國(guó)省統(tǒng)一的數(shù)據(jù)環(huán)境(CIMISS),面向氣象業(yè)務(wù)和科研,提供全國(guó)統(tǒng)一、標(biāo)準(zhǔn)、豐富的數(shù)據(jù)訪(fǎng)問(wèn)服務(wù)和應(yīng)用編程接口(API),為國(guó)、省、地、縣各級(jí)應(yīng)用系統(tǒng)提供唯一權(quán)威的數(shù)據(jù)接入服務(wù)。

2 平臺(tái)概述

2.1 平臺(tái)功能

平臺(tái)主要包括以下內(nèi)容:后臺(tái)數(shù)據(jù)處理,自動(dòng)站數(shù)據(jù)客戶(hù)端顯示,預(yù)警報(bào)警提醒及雨量圖制作等功能。

2.2 平臺(tái)開(kāi)發(fā)環(huán)境

平臺(tái)開(kāi)發(fā)語(yǔ)言使用Visual Basic與Matlab,開(kāi)發(fā)環(huán)境為Visual Studio2010[1-3]、.net4.0、Matlab2008a,在網(wǎng)絡(luò)數(shù)據(jù)庫(kù)SQLServer2008[4]的支持下,由此開(kāi)發(fā)的自動(dòng)站數(shù)據(jù)實(shí)時(shí)顯示報(bào)警平臺(tái)。

2.3 平臺(tái)設(shè)計(jì)

本平臺(tái)開(kāi)發(fā)共包含兩部分。

2.3.1 后臺(tái)數(shù)據(jù)處理

后臺(tái)數(shù)據(jù)處理包含小時(shí)數(shù)據(jù)處理及分鐘數(shù)據(jù)處理兩部分。其中小時(shí)數(shù)據(jù)包括小時(shí)內(nèi)最高、最低氣溫及出現(xiàn)時(shí)間,最大風(fēng)、極大風(fēng)風(fēng)向風(fēng)速及出現(xiàn)時(shí)間,1小時(shí)累計(jì)降水,最小能見(jiàn)度及出現(xiàn)時(shí)間等要素;分鐘數(shù)據(jù)包括當(dāng)前溫度、風(fēng)向風(fēng)速、降水、能見(jiàn)度等要素。

2.3.2 客戶(hù)端顯示

客戶(hù)端數(shù)據(jù)顯示則分別為各要素(溫度、風(fēng)、降水、能見(jiàn)度)當(dāng)前實(shí)況顯示,可選時(shí)段查詢(xún),具體數(shù)據(jù)查詢(xún),降水等值線(xiàn)圖以及達(dá)到預(yù)警閾值報(bào)警等內(nèi)容。

3 平臺(tái)具體實(shí)現(xiàn)

3.1 后臺(tái)數(shù)據(jù)處理

利用SQL Server2008數(shù)據(jù)庫(kù)建立小時(shí)數(shù)據(jù)要素表、分鐘數(shù)據(jù)要素表以及自動(dòng)站基本信息表。自動(dòng)站基本信息表包含Station_C、Station_N、經(jīng)緯度等5列,小時(shí)數(shù)據(jù)要素表包含Time、Station_C、Tem_MAX等15 列,分鐘數(shù)據(jù)要素表包含ime、Station_C、Tem 、PRE等7列。

利用VB.Net語(yǔ)言建立兩個(gè)類(lèi),HourData及MinuteData,設(shè)置與數(shù)據(jù)庫(kù)表中相對(duì)應(yīng)的只讀屬性,包含1個(gè)Download方法,用來(lái)從CIMISS服務(wù)器中讀取數(shù)據(jù)。在數(shù)據(jù)取回出現(xiàn)錯(cuò)誤時(shí),設(shè)置屬性值為Nothing,添加至SQL Server2008數(shù)據(jù)庫(kù)中顯示為NULL。需要說(shuō)明的是,自動(dòng)站分鐘數(shù)據(jù)要素在CIMISS服務(wù)器不同的表中,需要分別進(jìn)行讀取。其中分鐘降水量為累積降水量,需自行運(yùn)算生成5分鐘非累積降水量。

利用VB.Net語(yǔ)言將自動(dòng)站基本信息表中每一站號(hào)進(jìn)行讀取,放置1個(gè)Timer控件,每秒觸發(fā)一次Tick事件,每五分鐘及每小時(shí)利用ForEach循環(huán),將每一自動(dòng)站數(shù)據(jù)自CIMISS數(shù)據(jù)庫(kù)中讀取并寫(xiě)入本地?cái)?shù)據(jù)庫(kù)表中。同時(shí)隱藏Form窗口,以達(dá)到后臺(tái)處理目的。部分程序代碼如下:

For Each st As String In station

Try

If table = "MinuteData" Then

data1 = New MinuteData(st, MiTime)

ElseIf table = "HourData" Then

data1 = New HourData(st)

End If

Dim t As Type

Dim PIS() As System.Reflection.PropertyInfo

Dim Column As New StringBuilder

Dim Value As New StringBuilder

t = data1.GetType

PIS = t.GetProperties()

For Each pi As System.Reflection.PropertyInfo In PIS

If Not IsNothing(pi.GetValue(data1, Nothing)) Then

Column.Append(pi.Name & ",")

Value.Append(pi.GetValue(data1, Nothing).ToString & "','")

End If

Next

Column.Remove(Column.Length - 1, 1)

Value.Remove(Value.Length - 3, 3)

_objDataAdapter.SelectCommand.CommandText = "INSERT INTO " & table & " (" & Column.ToString & ") " & "VALUES('" & Value.ToString & "')"

_objDataAdapter.SelectCommand.ExecuteNonQuery()

Catch ex As Exception

Dim i As Integer = station2.Length

station2(i - 1) = st

ReDim Preserve station2(i + 1)

Continue For

End Try

data1.close()

data1.Dispose()

Next

3.2 客戶(hù)端顯示

3.2.1 自動(dòng)站數(shù)據(jù)顯示及報(bào)警功能

利用VB.net語(yǔ)言將每一自動(dòng)站基本信息表讀入自定義的StationInfo結(jié)構(gòu)中,并建立文本及圖形兩個(gè)數(shù)組與其相對(duì)應(yīng),以便于地圖上進(jìn)行顯示。

為各要素(溫度、風(fēng)、降水、能見(jiàn)度)設(shè)置當(dāng)前實(shí)況顯示,可選時(shí)段查詢(xún),具體數(shù)據(jù)查詢(xún)等按鈕,觸發(fā)相應(yīng)的Click事件后,于本地?cái)?shù)據(jù)庫(kù)中讀取相應(yīng)的數(shù)據(jù),并與文本數(shù)組中顯示。

根據(jù)遼寧省氣象局文件相關(guān)要求,在小時(shí)降水量達(dá)到20mm;累計(jì)降水量達(dá)到40mm、80mm、100mm、150mm、200mm、250mm、300mm;溫度達(dá)到35℃以上;風(fēng)速達(dá)到所設(shè)置閾值;能見(jiàn)度達(dá)到所設(shè)置閾值時(shí),本平臺(tái)會(huì)出現(xiàn)報(bào)警提示音,并將其站名變?yōu)榧t色同時(shí)顯示在主界面右側(cè)空白處。部分代碼如下:

Dim Belongs As String

If County = "錦州" Then

Belongs = ""

Else

Belongs = " and Station.county ='" & County & "'"

End If

Dim _objDataSet As New DataSet

Dim sqlR As New SQL

If tabels = "M" Then

ReDim SelText(2)

SelText(0) = "declare @LDT datetime set @LDT = (select max(time) from MinuteData) SELECT Station.Station_N , minutedata.Station_C ,@LDT,sum(MinuteData.pre) as '過(guò)去1小時(shí)降水' FROM MinuteData INNER JOIN Station on MinuteData.Station_C =Station.Station_C where Time between DATEADD (HH ,-1 ,@LDT) and @LDT group by MinuteData.Station_C , Station.Station_N , Station.County having sum(MinuteData.pre)>20 and sum(MinuteData.pre)<9999" & Belongs

SelText(1) = "SELECT Station.Station_N , minutedata.Station_C ,MinuteData.Time ,MinuteData.Wind_V as '當(dāng)前風(fēng)速' FROM MinuteData INNER JOIN Station on MinuteData.Station_C =Station.Station_C where Time =(SELECT MAX(Time) FROM MinuteData) and Wind_V>" & TxtWind_S.Text & "and Wind_V<999" & Belongs

SelText(2) = "SELECT Station.Station_N , minutedata.Station_C ,MinuteData.Time ,MinuteData.Vis as'當(dāng)前能見(jiàn)度' FROM MinuteData INNER JOIN Station on MinuteData.Station_C =Station.Station_C where Time =(SELECT MAX(Time) FROM MinuteData) and Vis<" & TxtVis.Text & Belongs

ElseIf tabels = "H" Then

ReDim SelText(9)

SelText(0) = "declare @LDT datetime set @LDT = (select max(time) from hourData) SELECT Station.Station_N , hourdata.Station_C , @LDT ,sum(HourData.R_1h) as '過(guò)去24小時(shí)降水' FROM hourData INNER JOIN Station on hourData.Station_C =Station.Station_C where Time between DATEADD (HH ,-24 ,@LDT) and @LDT group by hourData.Station_C ,Station.Station_N , Station.County having sum(HourData.R_1h)>40 and sum(HourData.R_1h)<9999" & Belongs

SelText(9) = "SELECT Station.Station_N , Hourdata.Station_C ,HourData.Time ,HourData.Vis_Min as '過(guò)去1小時(shí)最小能見(jiàn)度' FROM hourData INNER JOIN Station on hourData.Station_C =Station.Station_C where Time =(SELECT MAX(Time) FROM hourData)and Vis_Min<" & TxtVis.Text & Belongs

End If

3.2.2 雨情圖繪制

雨情圖繪制部分采用VB.net語(yǔ)言與Matlab語(yǔ)言混合編程方式,主程序?yàn)閂B.net語(yǔ)言。這種方法實(shí)施起來(lái)顯得有些復(fù)雜,但是可以完全脫離MATLAB環(huán)境,實(shí)現(xiàn)軟件的快速開(kāi)發(fā)。

利用Matlab語(yǔ)言將等值線(xiàn)繪制方法寫(xiě)成m文件,在MATLAB的命令窗口中輸入:>> deploytool,設(shè)置好項(xiàng)目名,并指定目標(biāo)組件的形式是.NET Assembly,然后確定,將其封裝在一個(gè)類(lèi)塊(dll文件)中,以供主程序進(jìn)行調(diào)用。主程序在點(diǎn)擊雨情圖制作后,即可根據(jù)所選時(shí)間段進(jìn)行雨情圖繪制。

4 平臺(tái)應(yīng)用

本平臺(tái)自2017年5月開(kāi)始在錦州市氣象臺(tái)進(jìn)行測(cè)試使用,6月在錦州地區(qū)各縣市氣象局正式投入使用。此平臺(tái)投入使用后,可以一目了然地看到錦州地區(qū)各鄉(xiāng)鎮(zhèn)自動(dòng)站實(shí)況溫度、風(fēng)、降水、能見(jiàn)度等數(shù)據(jù),能夠生成降水的等值線(xiàn)圖,并可在達(dá)到預(yù)警閾值時(shí)進(jìn)行報(bào)警。在2017年汛期期間,成功的對(duì)每次降水進(jìn)行監(jiān)控及報(bào)警,有效地提高了預(yù)報(bào)預(yù)警質(zhì)量與氣象服務(wù)能力。

5 結(jié)束語(yǔ)及討論

1)本平臺(tái)實(shí)現(xiàn)了錦州地區(qū)自動(dòng)站各要素(溫度、風(fēng)、降水、能見(jiàn)度)當(dāng)前實(shí)況顯示,可選時(shí)段查詢(xún),具體數(shù)據(jù)查詢(xún),降水等值線(xiàn)圖以及達(dá)到預(yù)警閾值報(bào)警等功能。

2)本平臺(tái)目前正在錦州地區(qū)良好使用,有效地提高了預(yù)報(bào)預(yù)警質(zhì)量與氣象服務(wù)能力。

3)本平臺(tái)后臺(tái)數(shù)據(jù)處理部分在遇到網(wǎng)絡(luò)問(wèn)題時(shí),無(wú)法從CIMISS數(shù)據(jù)庫(kù)取回?cái)?shù)據(jù),且暫時(shí)無(wú)補(bǔ)傳手段,影響部分功能應(yīng)用。

4)由于不是專(zhuān)業(yè)的編程人員,平臺(tái)的美化方面略顯不足,且仍舊存在著暫時(shí)未發(fā)現(xiàn)的bug,針對(duì)這些存在的問(wèn)題,將繼續(xù)對(duì)本平臺(tái)隨時(shí)進(jìn)行更新和維護(hù)。

參考文獻(xiàn):

[1] 威利斯, 紐薩姆. Visual Basic2010入門(mén)經(jīng)典[M]. 6版. 北京: 清華大學(xué)出版社, 2011.

[2] James Foxall. Visual Basic2010入門(mén)經(jīng)典[M]. 北京: 人民郵電出版社, 2011.

[3] Bill Sheldon, Billy Hollis, Kent Sharkey, 等. Visual Basic 2010 NET4高級(jí)編程[M]. 6版. 北京: 清華大學(xué)出版社, 2011.

[4] 郭鄭州, 陳軍紅. SQL Server2008完全學(xué)習(xí)手冊(cè)[M]. 北京: 清華大學(xué)出版社, 2011.

【通聯(lián)編輯:謝媛媛】

猜你喜歡
能見(jiàn)度數(shù)據(jù)處理降水
認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
黑龍江省玉米生長(zhǎng)季自然降水與有效降水對(duì)比分析
ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
2005—2017年白云機(jī)場(chǎng)能見(jiàn)度變化特征及其與影響因子關(guān)系研究
為什么南極降水很少卻有很厚的冰層?
低能見(jiàn)度下高速公路主動(dòng)誘導(dǎo)技術(shù)的應(yīng)用
降水現(xiàn)象儀模擬軟件設(shè)計(jì)與實(shí)現(xiàn)
前向散射能見(jiàn)度儀的常見(jiàn)異常現(xiàn)象處理及日常維護(hù)
前向散射能見(jiàn)度儀故障實(shí)例分析
基于希爾伯特- 黃變換的去噪法在外測(cè)數(shù)據(jù)處理中的應(yīng)用
长岭县| 高要市| 浪卡子县| 辽阳县| 曲麻莱县| 元朗区| 绵竹市| 南汇区| 子长县| 万年县| 刚察县| 巫山县| 海原县| 安丘市| 兴仁县| 澄江县| 峨眉山市| 鲜城| 谢通门县| 新平| 柳林县| 娱乐| 盈江县| 墨脱县| 水富县| 浙江省| 察哈| 剑川县| 滨州市| 山阳县| 鄄城县| 麻栗坡县| 梨树县| 区。| 海兴县| 安图县| 三原县| 云林县| 寻甸| 康马县| 合江县|