• 
    

    
    

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

      ?

      縣級氣象微信公眾服務平臺的開發(fā)與設計
      ——以“尋甸氣象”為例

      2022-03-24 13:26:38黃初龍董思平胡衛(wèi)芬王占良
      陜西氣象 2022年2期
      關鍵詞:實況氣象預警

      黃初龍,董思平,鄧 祥,胡衛(wèi)芬,耿 瓊,王占良

      (1.尋甸回族彝族自治縣氣象局,云南尋甸 655200;2.昆明市氣象局,昆明 650000)

      微信是當前我國公眾使用最為廣泛、普及率最高的一類社交通信軟件,利用微信可將氣象信息及時、準確地推送給用戶,顯著提升氣象服務信息的時效性和服務水平,因此利用微信開展縣級氣象服務是目前社會發(fā)展的大趨勢。國內許多氣象工作者對此做了大量工作,金淼等[1]、田新芳等[2]、騫少禹等[3]、張偉強等[4]、何步江等[5]、劉豫等[6]、畢陟等[7]對微信開展氣象服務進行了研究,龍亞星等[8]、何林等[9]、劉名等[10]、陳科等[11]、馬鋒等[12]對基于自動站數(shù)據的接口進行了相關業(yè)務服務研究。

      縣級氣象部門處于氣象服務一線,在服務地方經濟社會發(fā)展、服務民生、服務各行各業(yè)等方面發(fā)揮著重要作用。隨著互聯(lián)網+、大數(shù)據、AI等新型技術的發(fā)展,公眾接收氣象信息的手段、方式和渠道越來越多,導致出現(xiàn)部分氣象信息和氣象部門提供的預報、預警和服務結論不一致、信息重疊等多種問題。縣級氣象部門如何掌握氣象服務的主動權是值得思考的一個現(xiàn)實問題。云南省尋甸回族彝族自治縣氣象局設計開發(fā)了“尋甸氣象”微信公眾服務平臺,將縣級氣象數(shù)據圖形化,通過微信公眾服務平臺將氣象監(jiān)測、預報、預警和服務信息及時進行主動推送,解決縣級氣象服務存在的預報預警服務不及時、傳播渠道單一等難題。

      1 系統(tǒng)框架設計

      縣級氣象微信公眾服務平臺對于整合氣象業(yè)務數(shù)據以及全面提升氣象服務能力具有十分重要的意義。系統(tǒng)結構主要分為4個部分(圖1):氣象數(shù)據采集存儲系統(tǒng),接口服務系統(tǒng),前端展示系統(tǒng),后端發(fā)布系統(tǒng)。4個部分均采用成熟的架構開發(fā)。

      圖1 系統(tǒng)結構及功能模塊圖

      縣級氣象微信公眾服務平臺的服務都基于微信公眾號接口實現(xiàn)對接,用戶打開手機微信實現(xiàn)操作和查看,手機點擊微信公眾號的菜單查看前端展示系統(tǒng),前端展示系統(tǒng)根據用戶指令通過接口服務系統(tǒng)訪問氣象數(shù)據采集存儲系統(tǒng),氣象數(shù)據采集存儲系統(tǒng)從三大平臺實現(xiàn)數(shù)據采集。后端發(fā)布系統(tǒng)主要解決檢索和利用微信公眾號實現(xiàn)服務信息主動推送,如推送預警信息、天氣預報、超過閾值的實況信息等。

      2 系統(tǒng)功能設計

      2.1 氣象數(shù)據采集存儲系統(tǒng)

      主要從綜合氣象信息共享平臺采集尋甸全縣觀測站地面逐小時資料、省級格點預報訂正產品、精細化預報產品、雷達單站PUP產品;從國家突發(fā)事件預警信息發(fā)布網采集預警信息;從縣級預報制作系統(tǒng)采集短期天氣預報、鄉(xiāng)鎮(zhèn)預報和各類氣象服務產品。并進行必要的解析、轉換,然后通過接口服務系統(tǒng)存儲到氣象數(shù)據采集存儲系統(tǒng)。

      從國家突發(fā)事件預警信息發(fā)布網采集預警信息關鍵核心代碼如下。

      stringmatchName = String.Format("{0}(氣象局|氣象臺|突發(fā)事件)", stationName);

      Regex reg = new Regex(matchName);

      string result = GetAlert ();

      var json = DynamicJson.Parse(result);

      foreach (var item in json.alertData){

      string title = item.headline;

      var match = reg.Match(title);

      if (match.Success && match.Value.Length > 0){

      string signaltype, signallevel;

      bool bRet = GetAlert_Class_Level

      (item.headline, out signaltype, out signallevel);

      AlertData obj = new AlertData();

      obj.issueTitle = item.headline;

      obj.issueContent = item.description;

      obj.areaName = title.Substring(0, nLen);

      obj.signalType = signaltype;

      obj.signalLevel = signallevel;

      obj.issueTime = item.sendTime;

      list.Add(obj); }}

      2.2 接口服務系統(tǒng)

      接口服務系統(tǒng)用于向氣象微信公眾服務平臺提供基于HTTP請求與應答服務,實現(xiàn)所有模塊的動態(tài)升級,主要提供以下功能。①與數(shù)據庫相連,為氣象數(shù)據采集存儲系統(tǒng)提供數(shù)據同步服務。②與數(shù)據庫相連,為前端展示系統(tǒng)提供實況、預報、預警、氣象服務產品等各類定制化的氣象數(shù)據獲取服務。③與微信公眾平臺對接,為尋甸氣象微信菜單提供增加、刪除、改動和查詢服務;為后端發(fā)布系統(tǒng)提供定制化預報、服務產品和實況告警信息的自動發(fā)送。④處理文件系統(tǒng)中雷達、網格預報等數(shù)據解析生成的前端展示產品。

      操作微信公眾號接口關鍵核心代碼如下。

      Encodingencoding = Encoding.UTF8;

      string url = String.Format("https://api.weixin.qq.com/cgi-bin/menu/create?access_token={0}", accessToken);

      byte[] data = encoding.GetBytes(menu);

      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

      request.Method = "POST";

      request.ContentType = "application/x-www-form-urlencoded";

      Stream writer =request.GetRequestStream();

      writer.Write(data, 0, data.Length);

      writer.Flush();

      HttpWebResponse response = (HttpWebResponse)request.GetResponse();

      StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);

      string retString = reader.ReadToEnd();

      reader.Close();

      2.3 前端展示系統(tǒng)

      展示系統(tǒng)基于Html5開發(fā),主要提供以下功能。①基于高德地圖顯示地面逐小時資料、雷達單站PUP產品、鄉(xiāng)鎮(zhèn)預報等資料。②基于位置定位顯示智能網格、臨近雨情、閃電定位、災情上報等資料。③圖文列表方式顯示氣象數(shù)據統(tǒng)計查詢、天氣預警、氣象服務產品和氣象科普等資料。

      在實際展示功能設計上,在滿足用戶實際需求的前提下,提供差異化和個性化的特色內容。用戶可基于位置提供的功能有監(jiān)測實況、預報預警和氣象服務3大類功能,有效對接氣象部門相關業(yè)務系統(tǒng),利用接口服務系統(tǒng)展現(xiàn)系統(tǒng)所需數(shù)據的自動獲取、轉換和顯示。

      前端展示系統(tǒng)定位關鍵核心代碼如下。

      lbsMap.geolocation = new AMap.Geolocation({

      enableHighAccuracy: true,timeout: 10000,maximumAge: 0,convert: true,showButton: false,showMarker: true,

      showCircle: true,panToLocation: true,zoomToAccuracy: false});

      lbsMap.mapObj.addControl(lbsMap.geolocation);

      AMap.event.addListener(lbsMap.geolocation, ′complete′, lbsMap.geolocation_onComplete);

      AMap.event.addListener(lbsMap.geolocation, ′error′, lbsMap.geolocation_onError);

      lbsMap.geolocation.getCurrentPosition();});

      前端展示系統(tǒng)插值處理關鍵核心代碼如下:

      List borders =wContour.Contour. TracingBorders(gridData, gridX, gridY, ref s1, UnDefData);

      List polyLines = wContour.Contour. TracingContourLines(gridData, gridX, gridY, contourVals.Length, contourVals, UnDefData, borders, s1);

      List smoothedLines = wContour. Contour.SmoothLines(polyLines);

      List polygons =wContour.Contour. TracingPolygons(gridData, smoothedLines, borders, contourVals);

      int bmpHeight = (int)(bmpWidth * (extent.YMax-extent.YMin) / (extent.XMax-extent.XMin));

      Bitmap bmp = newBitmap(bmpWidth, bmpHeight);

      GraphicsgData = Graphics.FromImage(bmp);

      gData.Clear(bgColor);

      Color[] mColors = new Color[newColDef. ColorList.Count];

      for (int i = 0; i < newColDef.ColorList.Count; i++)

      {

      mColors[i] = newColDef.ColorList[i].Color;

      }

      2.4 后端發(fā)布系統(tǒng)

      后端發(fā)布系統(tǒng)主要提供以下功能。①定時檢索短期天氣預報、天氣預警以及氣象服務產品是否更新,如果有更新則調用接口服務系統(tǒng)發(fā)送。②定時檢查氣象站實況要素是否達到告警訂閱的閾值,并獲取訂閱的粉絲信息,調用接口服務系統(tǒng)發(fā)送。

      后端發(fā)布系統(tǒng)關鍵核心代碼如下。

      OpenIdResultJson list = wechatApi.Get(token.access_token, "");

      if (list.data != null && list.data.openid != null)

      {

      foreach (string id in list.data.openid)

      {

      if (!String.IsNullOrEmpty(id))

      wechatApi.SendTemplateMessage(token.access_token, id, req.templateid, req.url, data);

      }

      }

      3 關鍵技術

      在系統(tǒng)設計與實現(xiàn)過程中要重點考慮并解決用戶增多所帶來的并發(fā)訪問題,系統(tǒng)通過圖片服務器分離技術、緩存技術、庫表散列技術確保用戶的訪問速度和后期升級。

      3.1 圖片服務器分離技術

      對于Web服務器來說,圖片和視頻是最消耗資源的,將圖片與頁面進行分離,圖片使用獨立的圖片服務器。這樣的架構可以降低提供頁面訪問請求服務器系統(tǒng)的壓力,并且可以保證系統(tǒng)不會因為圖片問題而崩潰。在應用服務器和圖片服務器上,可以進行不同的配置優(yōu)化,比如配置ContentType的時候可以盡量少支持,盡可能少的LoadModule,保證更低的系統(tǒng)消耗和更高的執(zhí)行效率。

      3.2 緩存技術

      緩存就是在內存中存儲的數(shù)據備份,當數(shù)據沒有發(fā)生本質改變的時候,就不讓數(shù)據的查詢去數(shù)據庫進行操作,而去內存中讀取數(shù)據,這樣就大大降低了數(shù)據庫的讀寫次數(shù),而且從內存中讀取數(shù)據的速度比去數(shù)據庫查詢要快一些,這樣同時又提高了效率。

      緩存技術關鍵核心代碼如下:

      public static T Get(string key, Func getCacheFunc, int expireTime, params object[] args)

      {

      if ((Get(key) == null)) {

      lock (_lockHelp){

      if ((Get(key) == null)) {

      Insert(key, getCacheFunc(args), expireTime); }

      }

      }

      return (T)Get(key);

      }

      3.3 庫表散列技術

      為解決數(shù)據庫的瓶頸,從應用程序的角度來考慮改善系統(tǒng)架構,采用庫表散列解決方案。在應用程序中按照業(yè)務和應用或者功能模塊將數(shù)據庫進行分離,不同的模塊對應不同的數(shù)據庫或者表,再按照一定的策略對某個頁面或者功能進行更小的數(shù)據庫散列,比如粉絲表,按照粉絲OpenID進行表散列,這樣就能夠以較低的成本提升系統(tǒng)的性能并且有很好的擴展性。

      4 應用情況

      經測試,縣級氣象微信公眾服務平臺——尋甸氣象可通過掃二維碼或者添加公眾號進行關注使用,適用于手機的任何操作系統(tǒng),推廣使用較為簡單方便。

      平臺于2019年11月在尋甸縣進行測試使用,測試用戶可主動通過菜單、指令方式獲取實況、預報、預警信息。目前平臺提供每月4次最多20條圖文信息群發(fā);實時群發(fā)鄉(xiāng)鎮(zhèn)天氣預報、氣象災害預警信息;提供發(fā)送路徑,規(guī)定WORD文檔文件名命名規(guī)則,后臺實時接收處理并群發(fā)氣象服務信息;用戶也可通過菜單、指令方式獲取實況、預報、預警信息。

      平臺給用戶提供基于位置的天氣實況、氣象服務等監(jiān)測預報預警信息,實現(xiàn)了精細化、互動式、基于位置的智能氣象服務,實現(xiàn)部門之間信息共享。該平臺的運行對于縣級氣象部門在服務地方經濟社會發(fā)展中發(fā)揮著重要作用。

      5 結論與討論

      (1)縣級氣象部門利用微信開展氣象服務,能降低設備和網絡費用、保障維護等技術問題,同時發(fā)揮微信用戶廣、服務高效、易于推廣的特點,有力拓展了縣級氣象服務渠道和提高服務質量。

      (2)在系統(tǒng)結構設計上,考慮到后期正式推廣后用戶逐漸增長的趨勢情況,采用圖片服務器分離技術、緩存技術和庫表散列技術確保用戶增長后服務器可動態(tài)擴展,提高開發(fā)效率和用戶訪問速度。

      (3)在功能設計上,基于用戶定位實現(xiàn)交互式、個性化服務;對數(shù)據查詢提供數(shù)值、列表、圖形等多種簡單明了的服務內容;便捷高效的提供實況、預警、預報和各類氣象服務信息,功能滿足大部分公眾用戶需求,實況訂閱、天氣快報等模塊又兼顧防災減災行業(yè)部門的需求,功能設計比較全面。

      (4)平臺采用模塊化的設計思路,用戶操作簡單方便,后期完善和升級較為便捷。

      猜你喜歡
      實況氣象預警
      氣象樹
      《內蒙古氣象》征稿簡則
      內蒙古氣象(2021年2期)2021-07-01 06:19:58
      氣象戰(zhàn)士之歌
      心聲歌刊(2019年5期)2020-01-19 01:52:52
      法國發(fā)布高溫預警 嚴陣以待備戰(zhàn)“史上最熱周”
      鄉(xiāng)村小學的愿望與現(xiàn)實——宜君鄉(xiāng)村教育實況
      當代陜西(2019年10期)2019-06-03 10:12:24
      大國氣象
      園林有害生物預警與可持續(xù)控制
      天舟一號貨運飛船發(fā)射實況掠影
      可愛潮咖們的獨門彩妝實況直播
      機載預警雷達對IFF 的干擾分析
      铁力市| 绥宁县| 涟源市| 江都市| 康平县| 沧州市| 察雅县| 邵阳市| 红原县| 和硕县| 阿拉善盟| 剑川县| 鄂托克旗| 上杭县| 鱼台县| 永城市| 永德县| 邵阳市| 武乡县| 永登县| 杨浦区| 曲水县| 施甸县| 保山市| 汉源县| 封丘县| 沂南县| 泰安市| 和田市| 宁国市| 上栗县| 松滋市| 皋兰县| 九龙县| 富平县| 鲜城| 贺兰县| 灌南县| 棋牌| 西和县| 新化县|