• 
    

    
    

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

      智能網(wǎng)格預(yù)報(bào)在專(zhuān)業(yè)氣象服務(wù)中的應(yīng)用

      2020-03-18 07:55:30趙清揚(yáng)
      中低緯山地氣象 2020年1期
      關(guān)鍵詞:智能網(wǎng)瀏覽器文檔

      彭 飛,趙清揚(yáng)

      (1.四川省德陽(yáng)市氣象局,四川 德陽(yáng) 618000;2.四川省氣象服務(wù)中心,四川 成都 610072)

      0 引言

      目前,我國(guó)的氣象服務(wù)體系由決策氣象服務(wù)、公眾氣象服務(wù)、專(zhuān)業(yè)專(zhuān)項(xiàng)氣象服務(wù)和氣象科技服務(wù)構(gòu)成[1-3]。專(zhuān)業(yè)氣象服務(wù)[4-8]是公共氣象服務(wù)的重要組成部分,是對(duì)一些行業(yè)用戶(hù)提供專(zhuān)業(yè)的氣象服務(wù),是根據(jù)用戶(hù)的需求而制作相應(yīng)的預(yù)報(bào)服務(wù)。由于專(zhuān)業(yè)用戶(hù)所在行業(yè)不同,對(duì)氣象服務(wù)的需求也各不相同,這給從事專(zhuān)業(yè)氣象服務(wù)的工作人員提出了新的課題:如何才能快速應(yīng)對(duì)各行業(yè)用戶(hù)多樣化的業(yè)務(wù)需求。

      通過(guò)梳理各種專(zhuān)業(yè)氣象服務(wù)的需求不難發(fā)現(xiàn),其核心就是天氣預(yù)報(bào)服務(wù)。精細(xì)化格點(diǎn)要素預(yù)報(bào)是目前中國(guó)氣象局的主推業(yè)務(wù)和未來(lái)天氣預(yù)報(bào)的發(fā)展方向[9-11]。在2017年底前,我國(guó)氣象預(yù)報(bào)服務(wù)統(tǒng)一數(shù)據(jù)源的“一張網(wǎng)”網(wǎng)格預(yù)報(bào)業(yè)務(wù)已經(jīng)開(kāi)始正式運(yùn)行。位于國(guó)家氣象中心天氣業(yè)務(wù)內(nèi)網(wǎng)中的智能網(wǎng)格預(yù)報(bào)[12-17]應(yīng)用分析平臺(tái)網(wǎng)站提供了基于位置的精細(xì)化氣象服務(wù),實(shí)現(xiàn)了天氣預(yù)報(bào)從傳統(tǒng)站點(diǎn)預(yù)報(bào)向格點(diǎn)預(yù)報(bào)的轉(zhuǎn)變。在該網(wǎng)站的前端頁(yè)面上,提供了根據(jù)某點(diǎn)經(jīng)緯度信息來(lái)獲得該點(diǎn)未來(lái)10 d天氣預(yù)報(bào)數(shù)據(jù)的功能,相應(yīng)的預(yù)報(bào)數(shù)據(jù)可以從頁(yè)面上下載并導(dǎo)出到Excel格式的文檔中。從前端頁(yè)面經(jīng)緯度數(shù)據(jù)的準(zhǔn)備和提交,到下載服務(wù)器返回的數(shù)據(jù)到本地,再對(duì)數(shù)據(jù)進(jìn)行分析處理,最終形成氣象服務(wù)產(chǎn)品和文檔,都需要手工操作,流程繁瑣、效率低下,還容易出錯(cuò)。用軟件來(lái)實(shí)現(xiàn)以上過(guò)程將極大地提高工作效率。

      下文,以開(kāi)發(fā)德陽(yáng)市高速公路智能網(wǎng)格預(yù)報(bào)服務(wù)軟件為例,介紹利用Fiddler抓包工具軟件和Aspose.Words for .NET[18-20]類(lèi)庫(kù)相結(jié)合,一鍵實(shí)現(xiàn)客戶(hù)端向服務(wù)器發(fā)出請(qǐng)求、從服務(wù)器返回的信息中解析出需要的預(yù)報(bào)數(shù)據(jù)、并將數(shù)據(jù)寫(xiě)入Word模板中,自動(dòng)地生成德陽(yáng)市高速公路專(zhuān)業(yè)氣象服務(wù)產(chǎn)品文檔的全部功能。

      1 技術(shù)方法

      用軟件來(lái)模擬瀏覽器向服務(wù)器請(qǐng)求數(shù)據(jù)時(shí),要明確客戶(hù)端需要向服務(wù)器發(fā)送什么樣的參數(shù),從服務(wù)器返回的信息中哪些數(shù)據(jù)是有用的預(yù)報(bào)數(shù)據(jù)。這就需要Fiddler等抓包工具軟件在瀏覽器向服務(wù)器請(qǐng)求數(shù)據(jù)的過(guò)程中,對(duì)請(qǐng)求的各種參數(shù)和返回的信息進(jìn)行偵測(cè)。當(dāng)獲取到預(yù)報(bào)數(shù)據(jù)后,再結(jié)合Aspose.Words for .NET類(lèi)庫(kù)自動(dòng)生成Word格式的氣象服務(wù)產(chǎn)品文檔。

      1.1 Fiddler抓包工具軟件

      Fiddler是強(qiáng)大的HTTP調(diào)試抓包工具,可以用其檢測(cè)網(wǎng)頁(yè)和服務(wù)器的交互情況,其原理是以Web代理服務(wù)器的形式進(jìn)行工作的,它能記錄客戶(hù)端和服務(wù)器之間的http和https所有通訊,查看所有的“進(jìn)出”Fiddler的數(shù)據(jù)。

      1.2 Aspose.Words for .NET

      Aspose.Words for .NET是.NET環(huán)境下功能強(qiáng)大的Word文檔處理類(lèi)庫(kù),它支持DOC、PDF、RTF、OOXML、HTML、OpenDocument、EPUB、XPS等格式。通過(guò)Aspose.Words for .NET類(lèi)庫(kù)和.NET平臺(tái)下的編程語(yǔ)言相結(jié)合,在沒(méi)有安裝Microsoft Word軟件的環(huán)境中,也可以生成Word格式的文檔,并能對(duì)文檔進(jìn)行查看、修改、渲染、格式轉(zhuǎn)換以及打印等操作,也無(wú)需考慮Microsoft Office軟件的版本兼容性問(wèn)題,靈活地實(shí)現(xiàn)辦公文檔的自動(dòng)化。

      2 專(zhuān)業(yè)氣象服務(wù)產(chǎn)品文檔自動(dòng)生成

      2.1 利用Fiddler偵測(cè)客戶(hù)端和服務(wù)器之間的通訊

      首先,運(yùn)行Fiddler軟件,確保軟件的Capture Traffic是開(kāi)啟的。用瀏覽器訪問(wèn)智能網(wǎng)格預(yù)報(bào)應(yīng)用分析平臺(tái)網(wǎng)站,在網(wǎng)頁(yè)的文本框中輸入某站點(diǎn)的經(jīng)緯度數(shù)據(jù),并把數(shù)據(jù)向網(wǎng)站服務(wù)器提交。服務(wù)器在接收到瀏覽器的請(qǐng)求后,向前端頁(yè)面返回該站點(diǎn)連續(xù)10 d的天氣預(yù)報(bào),返回的氣象要素包括:降水量、氣溫、風(fēng)速、相對(duì)濕度和云量。Fiddler詳細(xì)而完整地記錄了從提交請(qǐng)求到返回?cái)?shù)據(jù)這一過(guò)程。

      在Fiddler軟件的數(shù)據(jù)包列表窗口中,點(diǎn)擊和智能網(wǎng)格預(yù)報(bào)應(yīng)用分析平臺(tái)網(wǎng)站(Ip地址為10.1.64.146)相關(guān)的數(shù)據(jù)包,在右側(cè)請(qǐng)求(即客戶(hù)端發(fā)出的數(shù)據(jù))窗口中的Headers標(biāo)簽頁(yè)顯示的數(shù)據(jù)就是客戶(hù)端向服務(wù)器請(qǐng)求數(shù)據(jù)時(shí)需要的各個(gè)參數(shù),包括請(qǐng)求方式、協(xié)議、Client頭域、主機(jī)名或域名等。在響應(yīng)(服務(wù)器返回的數(shù)據(jù))窗口中的TextView標(biāo)簽頁(yè)顯示的是從服務(wù)器返回給客戶(hù)端的數(shù)據(jù),這些數(shù)據(jù)是以JSON對(duì)象的方式呈現(xiàn)的,其中包括以“category”、“data”和“publishDate”為鍵名的鍵值對(duì)。通過(guò)分析可知,“category”鍵對(duì)應(yīng)的值是氣象要素的預(yù)報(bào)時(shí)間,“data”鍵對(duì)應(yīng)的值是氣象要素的預(yù)報(bào)值,“publishDate”鍵對(duì)應(yīng)的值是智能網(wǎng)格預(yù)報(bào)發(fā)布的時(shí)間。如圖1所示。

      2.2 開(kāi)發(fā)軟件的步驟及關(guān)鍵代碼

      首先,在Visual Studio IDE(Integrated Development Environment:集成開(kāi)發(fā)環(huán)境)中建立一個(gè)WinForm項(xiàng)目,在工程中添加對(duì)Aspose.Words.dll和Newtonsoft.Json.dll文件的引用,并引入命名空間:

      using Aspose.Words;

      using Newtonsoft.Json.Linq;

      模擬瀏覽器向服務(wù)器發(fā)起請(qǐng)求的主要代碼如下:

      string longitude = longitudeAndLatitude.Split(',')[0];//經(jīng)度

      string latitude = longitudeAndLatitude.Split(',')[1];//緯度

      if(element.ToLower() == "rain")//降水

      {

      strURL = "http://10.1.64.146/WebHandler/MeteoHandler?method=getmeteodat

      ablockfeatureinfo&type=grid&relativePath=/forecast/QPF_V2/gridrain03&format=grid03_{yyyyMMddHH}.{XXX}&publishDate=" + publishDate +"&lat=" + latitude + "&lng=" + longitude + "&day=10";

      }

      ……(向服務(wù)器請(qǐng)求氣溫、風(fēng)速和云量的代碼與降水相似,此處略去。)

      圖1 Fiddler偵測(cè)瀏覽器和服務(wù)器之間的通訊Fig.1 Fiddler detects communication between the browser and the server

      然后,解析從服務(wù)器返回的JSON格式的數(shù)據(jù),主要代碼如下:

      var responseStr = HttpGet(url);//用各個(gè)URL和對(duì)應(yīng)的參數(shù)查詢(xún)

      JObject jObj = JObject.Parse(responseStr);//反序列化Json數(shù)據(jù)

      //存放日期時(shí)間的數(shù)組

      JArray dataArrayDatetime = JArray.Parse(jObj["category"].ToString());

      JArray dataArray = JArray.Parse(jObj["data"].ToString());//存放元素值的數(shù)組

      int intCountOfData = dataArrayDatetime.Count;

      //字典,用于存儲(chǔ)全部的日期時(shí)間及其對(duì)應(yīng)的數(shù)據(jù)(氣溫、降水、風(fēng)速、云量)

      Dictionary dict = new Dictionary();

      //每次請(qǐng)求URL時(shí)返回的時(shí)間和元素值對(duì)應(yīng)(個(gè)數(shù)相等)

      for(int i = 0; i < intCountOfData; i++)

      dict.Add(dataArrayDatetime[i].ToString(), dataArray[i].ToString());

      ……

      最后,把預(yù)報(bào)數(shù)據(jù)寫(xiě)入事先準(zhǔn)備好的Word模板中,以便生成服務(wù)產(chǎn)品文檔。關(guān)鍵代碼如下:

      Aspose.Words.Document doc = new Aspose.Words.Document(strDocPath);

      Aspose.Words.Bookmarkdatetime_header = doc.Range.Bookmarks["datetime_header"]; //當(dāng)前書(shū)簽 datetime_header

      SetBookmarkValue(datetime_header, strYMD_bookmark);//給當(dāng)前書(shū)簽的文本賦值

      ……

      bookmark = doc.Range.Bookmarks[tq_bookmark]; //當(dāng)前書(shū)簽(天氣現(xiàn)象)

      SetBookmarkValue(bookmark, tq_dic[curDT]);//給當(dāng)前書(shū)簽的文本賦值

      ……

      sfd.FileName = strYMD_file + ".docx";//要保存的文件名(word格式)

      doc.Save(sfd.FileName);//保存文檔

      ……

      軟件最終生成的德陽(yáng)市高速公路專(zhuān)業(yè)氣象服務(wù)產(chǎn)品文檔截圖(部分)如圖2所示。

      圖2 高速公路專(zhuān)業(yè)氣象服務(wù)產(chǎn)品Fig.2 Documentation of Expressway Meteorological Service Products

      3 結(jié)語(yǔ)

      通過(guò)利用抓包軟件監(jiān)視瀏覽器和智能網(wǎng)格預(yù)報(bào)網(wǎng)站服務(wù)器之間的通訊,可以詳細(xì)地掌握客戶(hù)端向服務(wù)器請(qǐng)求數(shù)據(jù)時(shí)需要提供的參數(shù)和從服務(wù)器向客戶(hù)端返回的數(shù)據(jù),從而為開(kāi)發(fā)軟件來(lái)模擬瀏覽器向服務(wù)器請(qǐng)求數(shù)據(jù)提供了依據(jù)。再配合功能強(qiáng)大的Aspose.Words for .NET第三方類(lèi)庫(kù),可以非常高效地實(shí)現(xiàn)智能網(wǎng)格預(yù)報(bào)專(zhuān)業(yè)氣象服務(wù)產(chǎn)品文檔的一鍵生成,極大地提高了工作效率。

      猜你喜歡
      智能網(wǎng)瀏覽器文檔
      有人一聲不吭向你扔了個(gè)文檔
      5G賦能智能網(wǎng)聯(lián)汽車(chē)
      反瀏覽器指紋追蹤
      電子制作(2019年10期)2019-06-17 11:45:14
      智能網(wǎng)聯(lián)硬實(shí)力趨強(qiáng)
      迎戰(zhàn)智能網(wǎng)聯(lián)大爆發(fā)
      基于RI碼計(jì)算的Word復(fù)制文檔鑒別
      環(huán)球?yàn)g覽器
      再見(jiàn),那些年我們嘲笑過(guò)的IE瀏覽器
      基于SJA1000的CAN總線智能網(wǎng)橋設(shè)計(jì)
      Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
      宣恩县| 香河县| 九江县| 大荔县| 西丰县| 和田市| 右玉县| 阳高县| 金寨县| 五原县| 石阡县| 盖州市| 安仁县| 阿荣旗| 绥滨县| 邛崃市| 准格尔旗| 苗栗市| 胶州市| 克拉玛依市| 武平县| 全州县| 安多县| 余干县| 宜宾县| 嫩江县| 黄陵县| 蓬莱市| 葫芦岛市| 浙江省| 民和| 永福县| 崇义县| 濉溪县| 天镇县| 克什克腾旗| 汤阴县| 绥化市| 涪陵区| 巩义市| 晋城|