Power BI/Excel網(wǎng)抓:獲取實時天氣數(shù)據(jù)
本文講解如何抓取實時天氣以及天氣預(yù)報數(shù)據(jù),核心方法是:通過Power BI調(diào)用高德地圖天氣API提取數(shù)據(jù),使用SVG圖片制作各種天氣圖標(biāo),最后地圖或者表格進(jìn)行天氣展現(xiàn)。
涉及數(shù)據(jù)抓取的部分同時適用于Power BI和Excel,動態(tài)圖表的部分適用于Power BI。最終可以呈現(xiàn)如下效果。
可以鼠標(biāo)指向地圖任意城市懸浮展現(xiàn)天氣:

可以直接在地圖展現(xiàn):

也可以表格樣式展現(xiàn):

1.天氣數(shù)據(jù)提取
在高德地圖開放平臺(https://lbs.amap.com/)免費申請WEB服務(wù)API,獲取KEY(網(wǎng)絡(luò)有相應(yīng)教程)。
不同城市有對應(yīng)編碼,編碼作為識別城市的唯一依據(jù),編碼列表可在https://lbs.amap.com/api/webservice/download下載。

將城市編碼表導(dǎo)入Power BI,并添加如下自定義列:

該公式的含義是,通過adcode列調(diào)用實時天氣數(shù)據(jù),并返回JSON格式。如果需要的不是實時天氣,而是未來幾天的預(yù)報信息,需要在該代碼多加一個參數(shù)"extensions",如下所示:
更多參數(shù)詳情參考https://lbs.amap.com/api/webservice/guide/api/weatherinfo/
將數(shù)據(jù)展開后即可得到實況天氣:

實況天氣高德官方每小時更新多次,預(yù)報天氣每天更新3次,分別在8、11、18點左右更新。由于天氣數(shù)據(jù)的特殊性以及數(shù)據(jù)更新的持續(xù)性,無法確定精確的更新時間,具體更新時間以接口返回數(shù)據(jù)的reporttime字段為準(zhǔn)。
2.SVG天氣圖標(biāo)導(dǎo)入
主要的天氣狀況有雪、雷雨、雨、陰、多云、晴等,Power BI支持SVG圖片顯示,在網(wǎng)上找到對應(yīng)天氣SVG圖片,將SVG代碼存入Excel并導(dǎo)入Power BI。


SVG代碼使用如下字段相連,并將其標(biāo)記為“圖像URL”格式:

主要天氣狀況的SVG代碼可在http://www.jq22.com/code2431找到。
3.圖表制作
對于地圖懸浮提示的顯示方式,首先新建一個單獨的提示頁面,使用卡片圖、表格等圖表樣式作以下設(shè)計(此處將該頁命名為“天氣”)。

將該頁“工具提示”打開,并將頁面大小類型設(shè)置為“工具提示”:


最后將地圖頁打開,選中地圖,在“工具提示”設(shè)置中選擇上面設(shè)計好的提示頁面。這樣懸浮天氣提示功能設(shè)置完成。

對于直接在地圖顯示的方式,將需要的字段并列在Location,并下鉆到最底層。

如需表格顯示,如下圖拖拽字段即可。

以上即是全部制作過程。