Loading...
墨滴

张春成

2021/10/07  阅读:27  主题:默认主题

一场秋雨一场凉,一到十月特别冷。 于是我开发了一个 IPython 笔记本, 它能够实时获取一个气象数据网站上的历史气温数据, 并以合适的方式把它们绘制出来。

看历史温度图,我们或许就能够解释为啥九、十月份时,体感会这么冷。 其实很简单,

在时间进入九、十月的这一段时间, 气温在经历了8个月的上升之后, 首次开始下降。

另一个问题,今年比往年“热”或“冷”吗?

数据告诉我们每年的气温基本上都差不多, 那些说往年并不如此的言论, 就是十足的“活在当下”而已。


历史气温数据

气温是一个每天都会接触到的重要天气指标。 但很少有人会关注往年的气温数据。

为了获取这些数据,我找到了一个十分“良心”的气温数据网站[1]。 它有几个优点:

  • 数据比较全面,全国较大行政区单位的气温记录都有;
  • 数据是响应式的,你能够使用相应的Javascript API实时请求并获取想要的数据;
  • 这就立即引出了另外两个优点:
    • 网站的数据响应速度飞快。可以做到实时请求、立即获取;
    • 数据包十分的小。不像某些网站,当你请求一个温度数据,它会要求你下载一个数个G大小的数据包,然后自己找想要的。
Thanks Weather WebSite
Thanks Weather WebSite

图上有颜色的节点代表这些区域内包含有若干个气象站, 颜色越偏红,代表区域中的气象站数量越多。 左上角的控件可以用来进行快速搜索和定位你感兴趣的站点。

为了有效利用这个网站, 我编写了一个 `IPython` 笔记本[2], 它能够实时获取这个气象数据网站上的历史气温数据, 并以合适的方式把它们绘制出来。

行政区的地理编码

为了准确定位你想要获取的气象站点数据, 可以通过一个可交互的界面, 查询行政区的地理编码。

【这是一段棒到不行的视频】

地理编码是什么呢? 它是数字形式的,唯一的行政区标记。 比如,54511代表北京-北京;58362代表上海-宝山。

Geo-ID
Geo-ID

这样,得到了地理编码, 我们可以获取历史温度数据并对它们进行显示。

历史温度的可视化

我们把北京-北京、上海-宝山的历史气温曲线进行绘制, 得到下图

Beijing Temp 1
Beijing Temp 1

上图为北京-北京的温度曲线;

Shanghai Temp 1
Shanghai Temp 1

上图为上海-宝山的温度曲线。

由于点太多太乱,所以看不清楚。 我们再把数据按月份聚拢起来,绘制箱线图,如下

Beijing Temp 2
Beijing Temp 2

上图为北京-北京的温度箱线图;

Shanghai Temp 2
Shanghai Temp 2

上图为上海-宝山的温度箱线图。

为啥十月这么冷

看箱线图,我们或许就能够解释为啥九、十月份时,体感会这么冷。 其实很简单,

在时间进入九、十月的这一段时间, 气温在经历了8个月的上升之后, 首次开始下降。

另一个问题,今年比往年“热”或“冷”吗?

数据告诉我们每年的气温基本上都差不多, 那些说往年并不如此的言论, 就是十足的“活在当下”而已。

希望今年冬天不太冷吧。

参考资料

[1]

气温数据网站: http://data.sheshiyuanyi.com/WeatherData/

[2]

IPython 笔记本: https://github.com/listenzcc/JupyterScripts

张春成

2021/10/07  阅读:27  主题:默认主题

作者介绍

张春成