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

智能網格預報在專業氣象服務中的應用

2020-03-18 07:55:30趙清揚
中低緯山地氣象 2020年1期
關鍵詞:服務

彭 飛,趙清揚

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

0 引言

目前,我國的氣象服務體系由決策氣象服務、公眾氣象服務、專業專項氣象服務和氣象科技服務構成[1-3]。專業氣象服務[4-8]是公共氣象服務的重要組成部分,是對一些行業用戶提供專業的氣象服務,是根據用戶的需求而制作相應的預報服務。由于專業用戶所在行業不同,對氣象服務的需求也各不相同,這給從事專業氣象服務的工作人員提出了新的課題:如何才能快速應對各行業用戶多樣化的業務需求。

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

下文,以開發德陽市高速公路智能網格預報服務軟件為例,介紹利用Fiddler抓包工具軟件和Aspose.Words for .NET[18-20]類庫相結合,一鍵實現客戶端向服務器發出請求、從服務器返回的信息中解析出需要的預報數據、并將數據寫入Word模板中,自動地生成德陽市高速公路專業氣象服務產品文檔的全部功能。

1 技術方法

用軟件來模擬瀏覽器向服務器請求數據時,要明確客戶端需要向服務器發送什么樣的參數,從服務器返回的信息中哪些數據是有用的預報數據。這就需要Fiddler等抓包工具軟件在瀏覽器向服務器請求數據的過程中,對請求的各種參數和返回的信息進行偵測。當獲取到預報數據后,再結合Aspose.Words for .NET類庫自動生成Word格式的氣象服務產品文檔。

1.1 Fiddler抓包工具軟件

Fiddler是強大的HTTP調試抓包工具,可以用其檢測網頁和服務器的交互情況,其原理是以Web代理服務器的形式進行工作的,它能記錄客戶端和服務器之間的http和https所有通訊,查看所有的“進出”Fiddler的數據。

1.2 Aspose.Words for .NET

Aspose.Words for .NET是.NET環境下功能強大的Word文檔處理類庫,它支持DOC、PDF、RTF、OOXML、HTML、OpenDocument、EPUB、XPS等格式。通過Aspose.Words for .NET類庫和.NET平臺下的編程語言相結合,在沒有安裝Microsoft Word軟件的環境中,也可以生成Word格式的文檔,并能對文檔進行查看、修改、渲染、格式轉換以及打印等操作,也無需考慮Microsoft Office軟件的版本兼容性問題,靈活地實現辦公文檔的自動化。

2 專業氣象服務產品文檔自動生成

2.1 利用Fiddler偵測客戶端和服務器之間的通訊

首先,運行Fiddler軟件,確保軟件的Capture Traffic是開啟的。用瀏覽器訪問智能網格預報應用分析平臺網站,在網頁的文本框中輸入某站點的經緯度數據,并把數據向網站服務器提交。服務器在接收到瀏覽器的請求后,向前端頁面返回該站點連續10 d的天氣預報,返回的氣象要素包括:降水量、氣溫、風速、相對濕度和云量。Fiddler詳細而完整地記錄了從提交請求到返回數據這一過程。

在Fiddler軟件的數據包列表窗口中,點擊和智能網格預報應用分析平臺網站(Ip地址為10.1.64.146)相關的數據包,在右側請求(即客戶端發出的數據)窗口中的Headers標簽頁顯示的數據就是客戶端向服務器請求數據時需要的各個參數,包括請求方式、協議、Client頭域、主機名或域名等。在響應(服務器返回的數據)窗口中的TextView標簽頁顯示的是從服務器返回給客戶端的數據,這些數據是以JSON對象的方式呈現的,其中包括以“category”、“data”和“publishDate”為鍵名的鍵值對。通過分析可知,“category”鍵對應的值是氣象要素的預報時間,“data”鍵對應的值是氣象要素的預報值,“publishDate”鍵對應的值是智能網格預報發布的時間。如圖1所示。

2.2 開發軟件的步驟及關鍵代碼

首先,在Visual Studio IDE(Integrated Development Environment:集成開發環境)中建立一個WinForm項目,在工程中添加對Aspose.Words.dll和Newtonsoft.Json.dll文件的引用,并引入命名空間:

using Aspose.Words;

using Newtonsoft.Json.Linq;

模擬瀏覽器向服務器發起請求的主要代碼如下:

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

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";

}

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

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

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

var responseStr = HttpGet(url);//用各個URL和對應的參數查詢

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

//存放日期時間的數組

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

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

int intCountOfData = dataArrayDatetime.Count;

//字典,用于存儲全部的日期時間及其對應的數據(氣溫、降水、風速、云量)

Dictionary dict = new Dictionary();

//每次請求URL時返回的時間和元素值對應(個數相等)

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

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

……

最后,把預報數據寫入事先準備好的Word模板中,以便生成服務產品文檔。關鍵代碼如下:

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

Aspose.Words.Bookmarkdatetime_header = doc.Range.Bookmarks["datetime_header"]; //當前書簽 datetime_header

SetBookmarkValue(datetime_header, strYMD_bookmark);//給當前書簽的文本賦值

……

bookmark = doc.Range.Bookmarks[tq_bookmark]; //當前書簽(天氣現象)

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

……

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

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

……

軟件最終生成的德陽市高速公路專業氣象服務產品文檔截圖(部分)如圖2所示。

圖2 高速公路專業氣象服務產品Fig.2 Documentation of Expressway Meteorological Service Products

3 結語

通過利用抓包軟件監視瀏覽器和智能網格預報網站服務器之間的通訊,可以詳細地掌握客戶端向服務器請求數據時需要提供的參數和從服務器向客戶端返回的數據,從而為開發軟件來模擬瀏覽器向服務器請求數據提供了依據。再配合功能強大的Aspose.Words for .NET第三方類庫,可以非常高效地實現智能網格預報專業氣象服務產品文檔的一鍵生成,極大地提高了工作效率。

猜你喜歡
服務
自助取卡服務
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年11期)2019-08-13 00:49:08
服務在身邊 健康每一天
今日農業(2019年13期)2019-08-12 07:59:04
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
高等教育為誰服務:演變與啟示
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
主站蜘蛛池模板: 久久精品丝袜| 亚洲精品大秀视频| 中文字幕无码电影| 99热这里只有精品国产99| 精品视频福利| 国产成人精品午夜视频'| 亚洲AV无码久久精品色欲| 久久夜色精品国产嚕嚕亚洲av| 国产丝袜无码精品| 99青青青精品视频在线| 免费观看成人久久网免费观看| 国产丝袜无码精品| 99人体免费视频| 毛片三级在线观看| 美女无遮挡被啪啪到高潮免费| 玖玖免费视频在线观看| 中文毛片无遮挡播放免费| 欧美视频在线播放观看免费福利资源 | 亚洲中文字幕av无码区| 国产毛片不卡| 欧美午夜在线播放| 国产成人乱码一区二区三区在线| 欧美成人午夜视频| 国产在线拍偷自揄拍精品| 日韩a级片视频| 久久无码免费束人妻| 国产午夜一级淫片| 99热在线只有精品| 亚洲精品在线91| 99re视频在线| 日韩无码一二三区| 亚洲欧美国产视频| 久久综合丝袜长腿丝袜| 国产欧美日韩综合在线第一| 中文字幕无码制服中字| 免费无遮挡AV| 国产小视频免费| 91美女视频在线| 91在线视频福利| 热热久久狠狠偷偷色男同| 久久综合色88| 在线中文字幕网| 亚洲日韩精品无码专区97| 亚洲有码在线播放| 国产欧美日韩综合一区在线播放| 欧美19综合中文字幕| 精品亚洲麻豆1区2区3区 | 国产呦视频免费视频在线观看| 四虎国产成人免费观看| 97狠狠操| 日日摸夜夜爽无码| 国产一级在线播放| 伊人久久婷婷| 99热国产这里只有精品无卡顿"| 亚洲中文字幕无码爆乳| 不卡无码h在线观看| 亚洲国产成人精品无码区性色| 国产打屁股免费区网站| av在线无码浏览| 中文字幕在线看| 日韩国产欧美精品在线| 欧美成人区| 中文字幕2区| 亚洲国产欧美国产综合久久| 亚洲视频在线青青| 国产一区免费在线观看| 国产爽妇精品| 亚洲精品爱草草视频在线| 高清无码不卡视频| 99re精彩视频| 伊人久久久久久久| 玖玖精品视频在线观看| 九九热这里只有国产精品| 精品国产一二三区| 欧美高清日韩| 日本福利视频网站| 国产亚洲高清在线精品99| 日韩色图区| 国产福利在线观看精品| 国产成人AV男人的天堂| 18禁色诱爆乳网站| 日韩专区欧美|