前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源|构建空气质量数据库

开源|构建空气质量数据库

作者头像
bugsuse
发布2020-04-21 16:35:08
9100
发布2020-04-21 16:35:08
举报
文章被收录于专栏:气象杂货铺气象杂货铺

数据是数据科学中必不可少的一环。如果没有数据,那么数据科学中所有的算法都将是一纸空谈,毫无利用价值。

机器学习和深度学习的训练也依赖于数据的输入。最近两年机器学习和深度学习在气象领域的应用也逐渐火热起来,而且不少机构都在举办机器学习和深度学习在气象应用的比赛。

近些年来人们也越加关注大气污染的情况,尤其是空气质量,关乎到人们生活的各个方面。考虑到目前国内没有多少关于空气质量数据共享的平台。除了环保部总站提供的实时数据之外,也有一些网站提供了国控站的实时数据以及历史数据,但是这些数据站提供的数据仅是空气质量的数据,而且除了总站平台之外,其余的实时数据分享平台(比如pm25.in)提供的数据有时会因为某些原因导致数据中断。因此出于项目需要,调查了不少提供空气质量数据的网站,然后找到 aqicn.org 网站可以获取空气质量数据,此外还提供了一些气象数据(比如温度,气压,湿度和风速)。但是由于此网站不提供历史数据接口,因此只能通过其提供的实时数据API获取数据。

多源数据库的构建具有不可忽视的意义。尤其是对于利用机器学习和深度学习来预测空气质量的项目来说,仅仅需要空气质量数据是远远不够的,因为空气质量的变化依赖于很多因素:比如气象条件,大气的环流背景会对污染物的传输具有非常重要的影响,而且污染源的排放对于污染物的变化也具有非常重要的影响。

微软亚洲研究院曾利用大数据对空气质量进行了预测:

要预测一个地方的空气质量,并不是指单纯地只看这个地方本地的数据,而且要考虑到周边地区的空气及其他因素,比如空气质量站点数据、交通流数据、气象数据、厂矿数据、人口流动数据、路网结构等。 与传统模拟空气质量不同,大数据预测空气质量依靠的是基于多源数据融合的机器学习方法,也就是说,空气质量的预测不仅仅看空气质量数据,还要看与之相关的气象数据、交通流量数据、厂矿数据、城市路网结构等不同领域的数据,不同领域的数据互相叠加,相互补强,从而预测空气质量状况。

其中利用的不仅仅是空气质量数据,而且还有气象数据以及其它的一些数据。所用到的厂矿数据和人口数据类似数值模式中所使用的人为排放源。

本文不对这些细节进行过多探讨,关于这些内容的讨论将放到后面。上述的讨论只是想说明构建多数据源数据库的重要性。

本来此项目是想作为第一个正式项目来维护的,但是由于一些原因,比如国控站太多,又由于python的GIL锁限制导致下载数据的时候会需要不少资源(测试了12个核,可以在30分钟左右获取到所有国控站数据,这不仅取决于服务器可分配资源,而且还受到网络响应的影响),导致无法继续单独维护此项目运行。

目前程序已经持续运行一个月左右,由于我能使用的资源有限,目前仅持续获取了大概600个站点一个月左右的数据。

简单的对此项目进行一下介绍:

waqip项目是为了从aqicn.org网站下载中国各国控站的空气质量数据以及气象数据,并且存储到数据库。

其中包括了四个主要脚本:

  • aqi.py : 可以根据pm2.5, pm10, co, no2, so2, o3的值计算IAQI和AQI,也可以根据各个要素的分指数计算各要素的值。
  • waqip.py : 下载空气质量数据(包括各要素的分指数以及AQI)以及气象数据(包括温度,气压,湿度和风速等数据)。
  • get_cities_china.py : 获取中国所有国控站的链接。
  • get_waqip_all.py : 下载数据并存储到数据库。采用多进程下载,脚本中测试时使用了12个核。

(注意:为了能够成功下载数据,必须要从aqicn.org网站申请token。)

waqip.sh 脚本可用于设置 crontab 定时任务,而 cities_china_url.csv 文件中包含了中国所有国控站的信息。

程序已经上传到Github,链接见文末。无论你是对这个项目本身感兴趣,还是想学习python,都可以关注一下。


https://github.com/bugsuse/waqip

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气象杂货铺 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档