999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CIMISS的災害性天氣監測預警平臺*

2022-12-05 11:36:38李淑靜王錫良王李萌謝凱
數字技術與應用 2022年11期
關鍵詞:作業

李淑靜 王錫良 王李萌 謝凱

1.黑水縣氣象局;2.汶川縣氣象局

為了實現對黑水縣境內的災害性天氣進行監測,以CIMISS 平臺作為數據源,采用C#語言,結合Quartz.NET 開發了黑水縣災害性天氣監測預警業務平臺。結果表明,該平臺能對黑水縣境內的大風、強降水和雷電等災害性天氣信息進行實時監測,在實況數據達到一定的閾值時,通過自動播放聲音、界面展示和發送手機短信等方式,及時對氣象、決策、電力等部門的相關工作人員進行災害性天氣預警。極大地減輕了工作人員的勞動強度,提高了工作效率,在氣象服務和防災減災工作中發揮了重要作用。

黑水縣位于阿壩藏族羌族自治州中部、青藏高原東南緣橫斷山脈中段北端的岷江上游,岷山與邛崍山脈交匯處,以境內黑水河得名。縣域地勢由西北向東南傾斜,地形主要為高山峽谷地貌,高程由1500 ~4000m。黑水縣屬季風高原型氣候,旱、雨季分明,日照充足,氣溫年較差較小,日較差較大[1-5]。獨特的地形造就了明顯的立體性氣候,大風、強降水、雷電等災害性天氣頻發,災害性天氣及其帶來的山洪、泥石流、山體滑坡等次生災害嚴重危及人民群眾的生命財產安全。為了避免或減輕災害性天氣造成的危害,除了需要準確和可靠的天氣預報,還要對天氣發展、演變過程中的信息進行監測,當天氣實況數據達到一定的閾值,可能會造成災害時,及時對相關人員進行預警,以采取一切必要的防范措施。基于這一需求,以CIMISS 為數據源,選用C#開發語言,結合Quartz.NET 開發黑水縣災害性天氣監測預警業務平臺,實現對黑水縣境內的天氣實況信息進行不間斷的可靠監測。當滿足一定的條件時,通過播放告警聲音、軟件界面顯示和發送手機短信進行預警。及時的災害性天氣預警信息為決策部門的決策部署提供了客觀參考,為防災減災贏得寶貴時間。

1 系統總體架構

為了實現對天氣信息進行監測,本平臺以全國綜合氣象信息共享系統CIMISS 作為數據來源,以Quartz.NET 作為.NET 平臺下的作業調度系統,以實現連續、穩定和可靠的作業調度。系統運行時,Quartz.NET 調度各個作業每隔5min 對CIMISS 分布式數據環境中屬于黑水縣境內的1h 強降水、3h 強降水、大風和雷電數據進行監測,當監測到實況數據達到一定的閾值時,立即以播放告警聲音、界面顯示和發送手機短信等方式進行預警。如圖1所示。

圖1 系統總體架構圖Fig.1 Overall architecture diagram of the system

1.1 數據基礎平臺

全國綜合氣象信息共享平臺(China Integrated Meteorological Information Service System,簡稱CIMISS)由中國氣象局設計、研發。集氣象數據收集、加工處理、存儲管理和共享服務于一體,由收集與分發模塊CTS、數據加工處理模塊DPC、數據存儲管理模塊SOD、綜合業務監控模塊MCP、數據共享服務模塊GDS 五個功能模塊組成,分別部署在國家和各省級氣象數據中心。提供包含l4 類147 種實時、歷史數據的在線存儲服務。在全國推行統一的技術架構、數據處理流程、數據處理標準、數據存儲規格和服務規范,為氣象業務和科研用戶提供快捷、便利的數據應用環境。

1.2 Quartz.NET

Quartz.NET 是一個功能強大的、開源、輕量的作業調度框架,是Java 作業調度系統Quartz 在.NET 平臺的實現,可用于WinForm 和ASP.NET 應用中。可以用它來為執行一個作業而創建簡單的或復雜的調度,從小型應用到大型企業級系統都能適用。其核心元素包括調度器Scheduler,觸發器Trigger 和作業Job。其中Scheduler由SchedulerFactor 創建,是實際執行調度的控制器,管理Quartz.NET 應用運行時環境。Trigger 和Job 是任務調度的元數據,Trigger 用于定義任務調度的時間觸發規則,即按照什么時間規則去執行任務。Job 是作業的類型,描述了作業是如何執行的。JobDetail 是Job 的實例,它包含了該實例的執行所需要的數據。一個Job 可以關聯多個Trigger,但是一個Trigger 只能關聯一個Job。一個調度容器Scheduler中可以注冊多個JobDetail 和Trigger。當Trigger 與JobDetail 組合,就可以被Scheduler 容器調度了。

2 監測預警平臺開發步驟及關鍵代碼

建立.NET 項目,在工程中添加對Quartz.DLL 文件的引用,并引入命名空間:

using Quartz;

Quartz.NET 采用了基于多線程的架構。程序啟動時,框架初始化一套Worker 線程,這些線程被調度器用來執行預定的作業。作業是一個執行任務的.NET 類,需要實現Quartz.IJob 接口和IJob 接口中包含的唯一的Execute()方法,作業從這里開始執行,Execute()方法內就是定時執行的工作代碼。下面以監測強降水為例,進行說明。

Dictionary<string,List<RainInfo>> dict_cur =new Dictionary<string,List<RainInfo>>();

List<RainInfo> lstShow = new List<RainInfo>();

CimissHelper cimissHelper = new CimissHelper();

foreach (string curTimeRange in cimissHelper.strLstRainRangetime)

{

List<RainInfo> lstRet = new List<RainInfo>();

dict_cur.Clear();

if (curTimeRange == "OneHourRange")

{

//從CIMISS 獲取時間段1 小時內的降水合計

dict_cur = cimissHelper.getRainFromCimiss(cimissHelper.strTimeRange_callRain_oneHour,"OneHourRange");

//處理從cimiss 返回的1 小時降水數據,發送手機預警短信,返回應該被顯示的數據列表。

if (dict_cur.Count > 1)

{

lstShow = ProcessReturn_Rain(dict_cur,dict_old_rain_oneHour,"OneHourRange");

//把數據更新到界面的對應grid

FrmMain.ShowRainData(lstShow,curTimeRange);

}

}

else if (curTimeRange == "ThreeHoursRange")

{

(以下代碼與上雷同,略)

}

}

實現從CIMISS 中獲取降水數據的代碼如下:

public Dictionary<string,List<RainInfo>>getRainFromCimiss(string curTimeRange,string strCurTimeRange)

{

string statEleValueRanges = "";//降水統計值范圍

Dictionary<string,List<RainInfo>> dictTime_rainData = new Dictionary<string,List<RainInfo>>();//雨的時間及其對應的數據列表

string domainName = "http://10.194.89.55/cimiss-web/api?";

string userId = "userId=BCCD_****_****"+"&";

string pwd = "pwd=****"+"&";

//statSurfEleInRegion:按時間段、地區統計地面數據要素

string interfaceId = "interfaceId=statSurfEleInReg ion"+"&";

//降水從“中國地面分鐘降水資料” 中讀取

string dataCode = "dataCode=SURF_CHN_PRE_MIN"+"&";

string elements = "elements="+"Station_Name,Cnty,Lat,Lon,Alti&statEles=SUM_PRE"+"&";

string timeRange = "timeRange="+curTimeRange+"&";

string adminCodes = "adminCodes="+"513228"+"&"; //黑水縣的行政編碼:513228

if (strCurTimeRange == "OneHourRange")

// 統計降水量:一小時降水超過10 毫米

statEleValueRanges = "statEleValueRanges="+"SUM_PRE:[10,999]"+"&";

else if(strCurTimeRange == "ThreeHoursRange")

// 統計降水量:三小時降水超過25 毫米

statEleValueRanges = "statEleValueRanges="+"SUM_PRE:[25,999]"+"&";

string orderBy = "orderBy=SUM_PRE:asc"+"&"; //以降水統計字段升序排序

string dataFormat = "dataFormat="+"json";

string url = domainName+userId+pwd+interfaceId+dataCode+elements+timeRange+adminCodes+statEleValueRanges+orderBy+dataFormat;

//返回json 格式的字符串

string strRstJson = HttpUitls.GetHttpResponse(url);

JObject jsonObj = JObject.Parse(strRstJson);

//查詢成功,并且有數據返回

if ((int)jsonObj["returnCode"]== 0 && (int)jsonObj["rowCount"]> 0)

//處理從cimiss 返回的json 格式的數據

dictTime_rainData = ProcessRetText_rain(jsonObj,strCurTimeRange);

return dictTime_rainData;

當有滿足條件的降水數據時,調用通信公司的短信發送接口發送預警短信。代碼如下:

string Content = strContent;

string PhoneNumbersReceive = "";//接收預警信息的手機號碼

string SignName = ""; //短信簽名

SignName = "[黑水氣象 黑水應急]";

PhoneNumbersReceive = GetPhoneNumbersFrome Cfg("rain");

StringBuilder sb = new StringBuilder();

sb.Append("LoginName=").Append("AB***")//賬號

.Append("&pwd=").Append("AB***")//密碼

.Append("&Mobile=").Append(PhoneNumbersReceive)

.Append("&Content=").Append(Content) //短信內容

.Append("&SignName=").Append(SignName)//短信簽名

.Append("&FeeType=").Append("2")//套餐類型

.Append("&TimingDate=&ExtCode=");//其他參數

string url = "https://sdkulink.domain.com:8082/Api/SendSms";

string reuslt = CimissHelper.PostSMS(url,sb.ToString()); //以post 方式提交

......

3 結語

基于CIMISS 的災害性天氣監測預警平臺在黑水縣氣象局投入業務運行后,系統能以5min 的時間間隔對黑水縣境內的強降水、大風和雷電的發生發展情況進行連續監測,在實況數據達到一定的閾值時,通過自動發送手機短信等方式,及時對氣象、決策、電力等部門的相關工作人員進行災害性天氣預警,極大地減輕了工作人員的勞動強度,提高了工作效率。該平臺還可以根據實際的工作需要,對其功能進行擴展開發,對更多的實況氣象數據進行監測,以進一步發揮其自動、及時、高效的優勢在氣象服務工作中的作用。

猜你喜歡
作業
作業,我終于打敗你了!
小主人報(2022年1期)2022-08-10 08:28:44
讓人羨慕嫉妒恨的“作業人”
作業聯盟
學生天地(2020年17期)2020-08-25 09:28:54
我愿作業少一點
快來寫作業
一次特殊的作業
誰沒交作業
趣味(數學)(2018年12期)2018-12-29 11:24:10
修改“作業”
跟一群抄作業的講垂直進步?
能源(2016年2期)2016-12-01 05:10:46
作業
故事大王(2016年7期)2016-09-22 17:30:08
主站蜘蛛池模板: 欧美在线视频不卡| 在线毛片网站| 中国国产A一级毛片| 国产精品手机视频| 日本福利视频网站| 青青网在线国产| 国产欧美亚洲精品第3页在线| 欧美成人免费午夜全| 狠狠色综合久久狠狠色综合| 国产精品自在在线午夜区app| 黄色不卡视频| 婷婷午夜天| 国产在线精品美女观看| 精品久久综合1区2区3区激情| 日韩高清在线观看不卡一区二区 | 国产成人做受免费视频| 欧美成人日韩| 欧美激情首页| 欧美色99| 91视频精品| 九月婷婷亚洲综合在线| 永久免费av网站可以直接看的| 中文字幕有乳无码| av性天堂网| 午夜激情婷婷| 久久无码免费束人妻| 91精品国产一区自在线拍| 一本一道波多野结衣av黑人在线| 国产99在线观看| 99在线观看国产| 国产麻豆精品在线观看| 91在线免费公开视频| 欧美成人午夜在线全部免费| 久久黄色视频影| 成人伊人色一区二区三区| 色久综合在线| 无码高潮喷水专区久久| 成人欧美日韩| 亚洲无码37.| 免费看一级毛片波多结衣| 国产h视频免费观看| 69精品在线观看| 日韩久久精品无码aV| 国产欧美高清| 91最新精品视频发布页| 亚洲欧美精品在线| 久操中文在线| 日本一区二区三区精品视频| 国产一区二区三区视频| 在线观看欧美国产| 中文字幕无码电影| 日本欧美成人免费| 欧美一级高清免费a| 91原创视频在线| 亚洲Av综合日韩精品久久久| 波多野结衣二区| 人禽伦免费交视频网页播放| 亚洲另类色| 麻豆精品在线视频| 国产乱码精品一区二区三区中文| 亚洲V日韩V无码一区二区| 污视频日本| 日韩一级毛一欧美一国产| 欧美精品一区在线看| 国产迷奸在线看| 亚洲欧美不卡中文字幕| 亚洲69视频| 97se亚洲综合| 国产精品妖精视频| 国产精品美人久久久久久AV| 久久五月视频| 国产高清不卡| 国产成人一区免费观看| 亚洲三级色| 亚洲欧美日本国产综合在线| 国产成人综合在线视频| 亚洲婷婷丁香| 91亚洲精选| 亚洲国产午夜精华无码福利| 狠狠色狠狠色综合久久第一次| 欧美精品1区| 国产浮力第一页永久地址|