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
主站蜘蛛池模板: 国产剧情国内精品原创| 欧美一级色视频| 久久国产精品影院| 少妇极品熟妇人妻专区视频| 视频一区视频二区中文精品| 高清国产在线| 婷婷综合在线观看丁香| 一区二区三区国产| 欧美在线综合视频| 福利片91| 综合网天天| 一级毛片在线播放| 极品国产在线| 亚洲视频免费在线看| 五月丁香伊人啪啪手机免费观看| 欧美亚洲另类在线观看| 伊人久久综在合线亚洲2019| 欧类av怡春院| 免费不卡在线观看av| 欧美精品v欧洲精品| 99久久精品无码专区免费| 亚洲日韩高清无码| 美女潮喷出白浆在线观看视频| 1024你懂的国产精品| 天天综合网色中文字幕| 在线观看国产精美视频| 国产日本欧美亚洲精品视| 青青草原国产一区二区| 国产麻豆va精品视频| 91麻豆精品国产91久久久久| 久久精品66| 97国产在线播放| 1级黄色毛片| 亚洲欧美在线综合图区| 国产成人精品在线1区| 中文精品久久久久国产网址| 天天视频在线91频| 国产三区二区| 精品国产成人高清在线| 国产欧美日韩va另类在线播放| 亚洲啪啪网| 久久99国产综合精品女同| 激情爆乳一区二区| 精品亚洲欧美中文字幕在线看| 亚洲国产日韩在线观看| 久久精品一品道久久精品| 久久无码免费束人妻| 亚洲国产精品不卡在线| 欧洲免费精品视频在线| 亚洲精品中文字幕午夜| 青青青伊人色综合久久| 无码国产偷倩在线播放老年人| 国产色网站| 亚洲欧洲免费视频| 国产成人精品一区二区三区| 国产丝袜无码精品| 精品国产91爱| 中文无码影院| 美女一级免费毛片| 国产在线八区| 亚洲AV免费一区二区三区| 91亚洲精品第一| 伊人中文网| 日本伊人色综合网| 97se亚洲综合在线天天| V一区无码内射国产| 蜜桃视频一区二区| 91青青草视频| 国内a级毛片| 国产精欧美一区二区三区| 免费在线a视频| 国产午夜精品一区二区三| 亚洲国产欧美目韩成人综合| 国产91透明丝袜美腿在线| 九九视频免费在线观看| 为你提供最新久久精品久久综合| 久久综合一个色综合网| 51国产偷自视频区视频手机观看| 99国产精品一区二区| 最近最新中文字幕免费的一页| 久久毛片免费基地| 日韩黄色精品|