Power BI/Excel网抓:获取实时天气数据
本文讲解如何抓取实时天气以及天气预报数据,核心方法是:通过Power BI调用高德地图天气API提取数据,使用SVG图片制作各种天气图标,最后地图或者表格进行天气展现。
涉及数据抓取的部分同时适用于Power BI和Excel,动态图表的部分适用于Power BI。最终可以呈现如下效果。
可以鼠标指向地图任意城市悬浮展现天气:

可以直接在地图展现:

也可以表格样式展现:

1.天气数据提取
在高德地图开放平台(https://lbs.amap.com/)免费申请WEB服务API,获取KEY(网络有相应教程)。
不同城市有对应编码,编码作为识别城市的唯一依据,编码列表可在https://lbs.amap.com/api/webservice/download下载。

将城市编码表导入Power BI,并添加如下自定义列:

该公式的含义是,通过adcode列调用实时天气数据,并返回JSON格式。如果需要的不是实时天气,而是未来几天的预报信息,需要在该代码多加一个参数"extensions",如下所示:
更多参数详情参考https://lbs.amap.com/api/webservice/guide/api/weatherinfo/
将数据展开后即可得到实况天气:

实况天气高德官方每小时更新多次,预报天气每天更新3次,分别在8、11、18点左右更新。由于天气数据的特殊性以及数据更新的持续性,无法确定精确的更新时间,具体更新时间以接口返回数据的reporttime字段为准。
2.SVG天气图标导入
主要的天气状况有雪、雷雨、雨、阴、多云、晴等,Power BI支持SVG图片显示,在网上找到对应天气SVG图片,将SVG代码存入Excel并导入Power BI。


SVG代码使用如下字段相连,并将其标记为“图像URL”格式:

主要天气状况的SVG代码可在http://www.jq22.com/code2431找到。
3.图表制作
对于地图悬浮提示的显示方式,首先新建一个单独的提示页面,使用卡片图、表格等图表样式作以下设计(此处将该页命名为“天气”)。

将该页“工具提示”打开,并将页面大小类型设置为“工具提示”:


最后将地图页打开,选中地图,在“工具提示”设置中选择上面设计好的提示页面。这样悬浮天气提示功能设置完成。

对于直接在地图显示的方式,将需要的字段并列在Location,并下钻到最底层。

如需表格显示,如下图拖拽字段即可。

以上即是全部制作过程。