世界空气质量指数项目空气质量数据发布指南

分享: aqicn.org/publishingdata/cn/

发布世界空气质量指数项目的数据对每个人都是免费的。但这也很简单明了:在世界空气质量指数地图上添加数据所需的只是提供一个提要 URL,其中包含有关监测站(名称和位置)、正在测量的污染物以及真实空气质量的实时信息。 - 时间读数(连同单位,例如毫克或 ppb)。


资格标准

请注意,从历史上看,世界空气质量指数地图(aqicn.org 和 waqi.info)上发布的数据只是每个国家各自环境保护局提供的官方数据(请参阅完整的 EPA 列表)。

官方数据是指使用专业的BAM、TEOM和类似的高成本空气质量监测站监测的数据。这些站的使用并不简单,并且确实需要 EPA 专业现场工程团队的持续维护和校准。

然而,如今,更实惠的基于激光散射的空气质量监测站被广泛使用,作为官方空气质量监测站的配套。那些更实惠的站的成本可以比 BAM 和 TOEM 站低 1000 倍。

为此,我们建议使用半专业的GAIA空气质量监测站。但我们也接受其他站的数据。然而,此类基于粒子计数器的站需要报告增强的数据馈送以及额外的质量控制(参见质量控制部分)。

饲料格式

由于几乎每个国家/地区都有自己的报告格式,因此世界空气质量指数项目可以接受任何类型的源格式:它们可以是 CSV、JSON 或纯文本或 HTML 格式。您可以在本页底部找到 3 个 CSV、HTML 和 JSON 示例。

作为参考,请查看新加坡荷兰的官方源,并注意尽管它们各不相同,但它们都可以被我们的系统摄取。

对于即时空气粒子计数器,您可以通过我们自己的网络服务器或通过thingspeak报告数据。

数据摄取

世界空气质量指数系统将负责定期检查来自源的数据,每次有更新时,都会对其进行处理,转换为美国 EPA 等级 AQI 值,并在分钟。

此外,虽然仅发布 PM 2.5 、 PM 10 、臭氧、NO 2 、SO 2和 CO 空气质量数据,但系统确实收集了更多污染物用于预测目的:苯、甲苯、乙苯、NO x 、 THC、NMHC、PM 1 、甲醛、汞、氨、甲烷、硫化氢、亚硝酸、苯酚、萘、对二甲苯(p-Xylen)、间二甲苯(m-Xylen)等。

还可以发布气象数据:温度、大气压、湿度、降水、风速、风向、太阳辐射和紫外线。如果未提供,我们将使用其他相关气象信息来源。

Feed 示例(CSV 格式)

 #ID: ID_BEI_DC
#City: Beijing
#Station: Dongcheng
#Name: 东城东四
#Latitude: 39.929
#Longitude: 116.417
#Timezone: +0800
Date,PM10,PM25,CO,Ozone,Sulphur Dioxide,Nitrogen Dioxide,AmbientTemperature,RelativeHumidity,WindDirection,WindSpeed,Pressure,RainGauge
Unit,ug/m3,ug/m3,ppm,µg/m3,µg/m3,µg/m3,°C,%,°,m/s,hPa,mm
10/29/2016 13:00,16,3,,58,10,3,32,66,200,3,1001,0
10/29/2016 14:00,19,8,,57,9,4,32,64,197,2,1001,0
10/29/2016 15:00,15,9,,52,47,17,30,72,190,2,1001,0
10/29/2016 16:00,31,19,,52,34,17,30,75,191,2,1001,0
10/29/2016 17:00,31,17,,49,49,19,29,75,194,1,1002,0
10/29/2016 18:00,37,18,,45,55,25,29,73,183,1,1003,0
10/29/2016 19:00,24,13,,40,21,19,29,80,65,1,1004,0
10/29/2016 20:00,39,22,,44,4,16,28,85,7,1,1005,0
10/29/2016 21:00,24,16,,43,3,7,28,85,10,1,1005,0

提要示例(HTML 格式)

这是一个基于 HTML 格式的示例(直接 url: publishingdata/html/ ):

Station list:
Station ID City or County Name Station Name Local name (optional) Latitude/Longitude Timezone (optional)
ID_BEI_DC Beijing Dongcheng 东城东四 39.929/116.417 +0800
ID_BEI_WP Beijing West Park 西城官园 39.929/116.339 +0800
ID_BEI_OP Beijing Olympic Park 朝阳奥体中心 39.982/116.397 +0800
... ... ... ... ... ...
  • Station ID ”是每个站的唯一标识符,它可以只是一个数字(例如ID8373),也可以是站城市和站名称的串联(例如“北京/东城”)。
  • 默认情况下,可以通过 url /city/ country-name / city-name / station-name访问该电台。
  • Station Name ”必须使用拉丁字符,因此可以提供可选的“ Local Name ”来本地化网页。

Real-time pollutant list:
Station ID Pollutant Unit Update time Value Averaging
ID_BEI_DC PM10 mg/m3 2024-12-21T09:00:00+09:0027.8 1 hour
ID_BEI_DC PM25 mg/m3 2024-12-21T09:00:00+09:0010.8 1 hour
ID_BEI_DC Ozone mg/m3 2024-12-21T09:00:00+09:0015.2 1 hour
ID_BEI_DC Ozone mg/m3 2024-12-21T09:00:00+09:0018.2 8 hours
ID_BEI_DC Temperature Celcius 2024-12-21T09:00:00+09:0022.3 1 hour
ID_BEI_WP PM10 mg/m3 2024-12-21T09:00:00+09:0027.8 1 hour
ID_BEI_WP PM25 mg/m3 2024-12-21T09:00:00+09:0010.8 1 hour
ID_BEI_WP SO2 ppb 2024-12-21T09:00:00+09:0015.2 1 hour
ID_BEI_WP Humidiy % 2024-12-21T09:00:00+09:0088 1 hour
... ... ... ... ...
  • Averaging ”列用于指定值的持续时间。最常见的平均时间是 1 小时。它也是首选,因为我们的后端系统会自动对臭氧和一氧化碳进行 8 小时平均计算。
  • 如果提供的读数比每小时更频繁(例如每 30 分钟或 10 分钟),您可以提供给定时间段的原始读数,也可以仅提供每小时平均值:无论如何,我们的后端系统都会处理数据即使在一个小时之间。

Feed 示例(JSON 格式)

这是一个基于 JSON 格式的示例(直接 url: /publishingdata/json/

..

粒子计数器传感器的质量控制

对于即时颗粒计数器,例如Plantower PMSNova SDS ,它们提供瞬时(几秒内)颗粒物读数,通常每分钟报告一次数据。该数据通常是根据一两分钟内的几个“平均”读数来计算的。

然而,平均的使用还不够好,特别是对于发生故障的传感器(或即将报废的传感器)。因此,对于此类传感器,需要提供额外的度量,例如中值、最小值、最大值和标准差。例如,请参阅以下 JSON 数据源中的readings对象。

..

您可以使用以下 arduino 兼容代码来收集这些指标:

class Accumulator 
{ 
    #define OUTPUT_BUFFER_SIZE 120 
    char buffer[OUTPUT_BUFFER_SIZE]; 
 
    #define MAXACCVALUES 120 
    int vals[MAXACCVALUES]; 
 
    int count = 0; 
 
public: 
    Accumulator() 
    { 
        reset(); 
    } 
 
    void reset() 
    { 
        count = 0; 
        for (int i=0;i< MAXACCVALUES;i++)  
        { 
            vals[i]=0; 
        } 
    } 
 
    bool hasData()  
    { 
        return count!=0; 
    } 
 
    std::string output()  
    { 
        if (!hasData()) return std::string("{}"); 
 
        sprintf(buffer, OUTPUT_BUFFER_SIZE, "{\"min\":%d,\"max\":%d,\"median\":%d,\"average\":%.1f,\"stddev\":%.1f,\"count\":%d}",  
            vmin(), vmax(), median(), average(), stddev(), count); 
 
        return std::string(buffer); 
 
    } 
 
    void add(int val) 
    { 
        if (count==MAXACCVALUES-1) { 
          for (int i = 0; i < MAXACCVALUES - 1; i++) { 
            vals[i] = vals[i + 1]; 
            } 
            count --; 
        } 
        vals[count++]=val; 
    } 
 
    float stddev()  
    { 
        if (!hasData()) return -1; 
        int u  =avg(); 
        int t = 0; 
        for (int i=0;ivals[j]) { 
                    float t = vals[j]; 
                    vals[j]=vals[i]; 
                    vals[i]=t; 
                } 
  
            } 
        } 
        return vals[count/2]; 
    } 
 
    float avg()  
    { 
        if (!hasData()) return -1; 
        float t = 0; 
        for (int i=0;ivals[i]) { 
                t=vals[i]; 
            } 
        } 
        return t; 
    } 
 
    float vmax()  
    { 
        if (!hasData()) return -1; 
        float t = vals[0]; 
        for (int i=0;it) { 
                t=vals[i]; 
            } 
        } 
        return t; 
    } 
};

调查表



MetOne BAM 1020 station

在世界空气质量指数地图(aqicn.org 和 waqi.info)上发布数据是免费且简单的。

专业和DIY空气质量监测站均可接受。

然而,DIY 站,例如“luftdaten”,会经过额外的数据质量控制,以确保高质量的数据

一旦您的数据经过验证,您将获得您所在站的专用页面,您可以在其中查看实时数据、空气质量和天气预报以及历史数据 - 全部免费。

如果您没有任何监测站,但想拥有一个,请查看我们的GAIA空气质量监测站。如果您更喜欢 DIY 电台,请查看GAIA A08


--

上传数据

将数据上传到地图中分为三种情况:

    Either you have a known Air Quality monitoring station (IQAir, Oizom, Luftdaten, Sensor Community, PurpleAir, U-Rad, LUN, ...), or a known Weather Station with an air quality sensor module (Weather Link, Eco-Witt, Ambient Weather...). In which case, you only need to tell us your station details, such as the ID/Name. We already have adapters for those stations.



    您已经拥有一个网站(或诸如 thing-speak 之类的提要),我们可以从中收集您站的数据。在这种情况下,我们的系统将定期加载您的页面,提取数据,然后将其重新发布在我们的地图上。检查网站示例的提要示例


    要么您没有网站,但您有一个站点,并且您想将数据直接“推送”到我们的系统。在这种情况下,您需要编写一个小程序来通过我们的上传 API“发布”您的电台数据。我们有 Arduino 和 Python 的代码示例。代码示例可从上传 API页面获取。


如果您属于前两类(拥有已知电台或网站),或者您有任何疑问,请使用下面的表格向我们发送消息。如果您属于第二类,并且想要通过我们的上传 API 以编程方式发布数据,请检查我们的数据上传脚本和 API页面。

联系表

Your name - eg "John Doe"


Your email address - eg "john.doe@mail.com"


Your data-feed URL - eg "https://airnow.gov/"
or station Id - eg "https://weatherlink.com/..."

告诉我们您需要或可以提供什么样的帮助。

数据验证

如果您拥有 luftdaten 或类似的低成本传感器,您可以检查空气质量数据验证服务:

https://aqicn.org/data-feed/validation/cn/

例如,对于“luftdaten”传感器84804,您可以查看页面aqicn.org/data-feed/validation/#/luftdaten/84804

数据验证和鉴定也每天自动完成一次。

您知道您所在地区的任何空气质量站吗?
为什么不将自己的空气质量站纳入地图呢?

我们的 GAIA 空气质量监测器设置非常容易:您只需要一个 WIFI 接入点和一个 USB 兼容电源。

一旦连接,您的实时空气污染水平将立即在地图上和通过 API 显示。

该站配备 10 米防水电源线、USB 电源、安装设备和可选太阳能电池板。

关于空气质量与空气污染指数

本网站采用的污染指数和颜色与EPA是完全相同的。 EPA的指数可以从 AirNow上查到

空气质量指数 空气质量指数级别(状况)及表示颜色 对健康影响情况 建议采取的措施
0 - 50 一级(优) 空气质量令人满意,基本无空气污染 各类人群可正常活动
51 -100 二级(良) 空气质量可接受,但某些污染物可能对极少数异常敏感人群健康有较弱影响 极少数异常敏感人群应减少户外活动
101-150 三级(轻度污染) 易感人群症状有轻度加剧,健康人群出现刺激症状 儿童、老年人及心脏病、呼吸系统疾病患者应减少长时间、高强度的户外锻炼
151-200 四级(中度污染) 进一步加剧易感人群症状,可能对健康人群心脏、呼吸系统有影响 儿童、老年人及心脏病、呼吸系统疾病患者避免长时间、高强度的户外锻炼,一般人群适量减少户外运动
201-300 五级(重度污染) 心脏病和肺病患者症状显著加剧,运动耐受力降低,健康人群普遍出现症状 儿童、老年人及心脏病、肺病患者应停留在室内,停止户外运动,一般人群减少户外运动
300+ 六级(严重污染) 健康人群运动耐受力降低,有明显强烈症状,提前出现某些疾病 儿童、老年人和病人应停留在室内,避免体力消耗,一般人群避免户外活动
(参考详见 http://zh.wikipedia.org/wiki/空气质量指数)

如果你想了解更多有关空气质量与污染,详见维基百科或者 AirNow

有关健康建议详见北京的Richard Saint Cyr MD医生的博客:www.myhealthbeijing.com


注意事项: 所有空气质量数据在发布时均未经验证,并且为了保证数据质量,这些数据可能随时被修改,恕不另行通知。 世界空气质量指数项目在编制此信息的内容时已经运用了所有合理的技能和谨慎,在任何情况下世界空气质量指数项目团队或其代理人将不会为由于提供此数据而直接或间接引起的伤害、合同损失、侵权及其他任何损失负责。



设置


选择语言:


Temperature unit:
Celcius