涨知识!一文带你读懂空气质量数据(附Java 和小程序接入示例代码)

简介: 涨知识!一文带你读懂空气质量数据(附Java 和小程序接入示例代码)

空气污染对人类健康和环境造成了巨大的危害。据统计,每年因空气污染导致的早逝人数超过数百万人。长期暴露在污染物中,人们易患呼吸系统疾病、心血管疾病、癌症等。此外,空气污染还对生态系统、农作物和能源消耗产生负面影响。

在解决空气质量问题的过程中,空气质量查询 API 发挥着重要的作用,并带来了巨大的价值。它提供了实时、准确的数据,为决策者提供了依据,并通过其便捷性和可定制性为公众带来了便利。通过 API 的应用,我们能够更好地监测、分析和改善空气质量,为我们的社会和环境带来更健康、可持续的未来。

空气质量查询 API 简介

空气质量查询 API 支持国内3400+个城市的整点观测,并附带空气质量监测点(全国共2335个)的整点观测数据,并且支持国内经纬度查询,返回最近的站点信息。

获取到的数据包含空气质量指数(AQI)、首要污染物、空气质量等级(优、良、轻度污染、中度污染、重度污染、严重污染)、6要素(CO、NO₂、O₃、PM10、PM2.5、SO₂)浓度(除了CO浓度单位为mg/m³之外,其余5种单位均为μg/m³)等。

API 接入代码

为大家总结了Java、以及微信小程序代码中的 X-APISpace-Token 可以在 APISpace 登录注册获取,希望对大家有所帮助。

Java 版

OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
Request request = new Request.Builder()
  .url("https://eolink.o.apispace.com/34324/air/v001/aqi?areacode=101010100&lonlat=116.407526,39.904030")
  .method("GET",null)
  .addHeader("X-APISpace-Token","") // 使用 APISpace 提供的API 密钥
  .addHeader("Authorization-Type","apikey")
  .build();

Response response = client.newCall(request).execute();
System.out.println(response.body().string());

微信小程序

var data = "" 

wx.request({
    "url":"https://eolink.o.apispace.com/34324/air/v001/aqi?areacode=101010100&lonlat=116.407526,39.904030",
    "method": "GET",
    "header": {
        "X-APISpace-Token":"", // 使用 APISpace 提供的API 密钥
        "Authorization-Type":"apikey"
    },
    "data": data,
    "success": (response)=> {
        console.log(response.data)
    }
})

API 数据返回格式及参数解释

返回格式

{
    “status”: 0,
    “result”: {
        “location”: {
            “areacode”: “101010100”,    //城市ID
            “name”: “北京”,        //城市中文名
            “country”: “中国”,        //所属国家中文名
            “path”: “北京,北京市,北京市,中国”    //行政区划路径
        },
        “realtimeAqi”: {
            “aqi”: 124,            //空气质量指数
            “aqi_level”: “轻度污染”,    //空气质量等级
            “pm10”: 59,        //PM10浓度,单位: 微克/立方米
            “pm25”: 94,        //PM2.5浓度,单位: 微克/立方米
            “no2”: 18,            //二氧化氮浓度,单位: 微克/立方米
            “so2”: 3,            //二氧化硫浓度,单位: 微克/立方米
            “co”: 1.0,            //一氧化碳浓度,单位: 毫克/立方米
            “o3”: 36,            //臭氧浓度,单位: 微克/立方米
            “pollutant”: “一氧化碳”,    //首要污染物,有时为空
            “data_time”: “2020-02-14 09:00:00”,    //实况数据时间
            “stations”: [
                {
                    “stationID”: “1011A”,    //站点编号
                    “lon”: 116.73,        //站点经度
                    “lat”: 39.68,        //站点纬度
                    “name”: “永定门”,        //站点名称
                    “aqi”: 68,            //实时空气质量指数
                    “aqi_level”: “良”,        //空气质量等级
                    “pm10”: 0,            //PM10浓度,单位: 微克/立方米
                    “pm25”: 49,        //PM2.5浓度,单位: 微克/立方米
                    “no2”: 27,            //二氧化氮浓度,单位: 微克/立方米
                    “so2”: 2,            //二氧化硫浓度,单位: 微克/立方米
                    “co”: 1.0,            //一氧化碳浓度,单位: 毫克/立方米
                    “o3”: 30,            //臭氧浓度,单位: 微克/立方米
                    “pollutant”: “细颗粒物(PM2.5)”,    //首要污染物,有时为空
                },
                ……                //其它站点实况信息
            ]
        }
        “last_update”: “2020-02-14 09:44:00”,    //数据更新时间
    }
}

参数解释

1. 空气质量指数(AQI)的解释和使用

空气质量指数(Air Quality Index,AQI)是衡量空气质量状况的重要指标。它通过对不同污染物浓度的测量,将空气质量综合表示为一个数值,使人们更直观地了解当前空气质量的好坏程度。

  • AQI的计算方式

AQI的计算方式根据不同国家和地区可能有所不同,但通常是基于各项污染物浓度的测量结果,采用特定的公式来计算得出。不同污染物的浓度会被赋予不同的权重,以反映其对空气质量的影响程度。

例如,常见的污染物包括二氧化硫(SO₂)、氮氧化物(NO₂)、臭氧(O₃)、颗粒物(PM10和PM2.5)等。

以下是一个示例的AQI计算公式:

  • AQI 数据解读
  • 不同范围内的AQI等级及其含义可以大致描述如下:
    • 优(0-50):空气质量非常好,对健康影响极小。
    • 良(51-100):空气质量良好,一般情况下对健康无明显影响。
    • 轻度污染(101-150):可能对敏感人群的健康产生一定影响。
    • 中度污染(151-200):可能对大部分人群的健康产生不良影响。
    • 重度污染(201-300):可能对所有人群的健康产生严重影响。
    • 严重污染(301-500):空气质量极差,对所有人群的健康产生严重危害。

2. 首要污染物及其重要性

首要污染物是指对空气质量影响最为显著的污染物。它们通常是由人类活动引起的,具有高浓度和广泛分布的特点,对空气质量和人类健康产生重要影响。

  • 首要污染物种类
  • 常见的首要污染物包括但不限于以下几种:
    • 二氧化硫(SO₂) :主要来自燃煤、石油燃烧和工业生产过程中的硫化物排放,可以导致呼吸系统问题,加剧哮喘和慢性支气管炎等疾病。
    • 氮氧化物(NOx) :主要来自燃煤、汽车尾气以及工业和农业活动中氮化物的排放,可造成呼吸道炎症和损害肺功能,对患有哮喘和慢性阻塞性肺病的人更具危害。
    • 臭氧(O₃) :是光化学反应产生的,主要源于汽车尾气和工业排放物中的氮氧化物和挥发性有机化合物,对呼吸系统和眼睛有刺激作用,引起咳嗽、胸闷和眼痛等症状。
    • 颗粒物(PM10和PM2.5) :来自燃煤、机动车尾气、工业排放、扬尘和天然源等,能够进入呼吸道并沉积在肺部,导致呼吸道炎症、心血管问题和肺癌等。
    • 一氧化碳(CO) :主要来自燃煤、汽车尾气和工业排放,可与血红蛋白结合,降低血液输送氧气的能力,对心脏病患者和孕妇尤为危险。

3. 空气质量等级及其含义

空气质量等级通常根据空气污染物的浓度和对人体健康的影响程度进行划分。不同国家和地区可能采用不同的标准,但一般会参考国际上公认的空气质量指数(AQI)标准和污染物浓度限值。

  • 各等级的空气质量特征和影响
  • 空气质量等级通常分为以下几个等级:优、良、轻度污染、中度污染、重度污染和严重污染,通常采用颜色表示。
    • 优(绿色):空气质量极好,对健康几乎没有影响,污染物浓度很低。
    • 良(黄色):空气质量良好,对大多数人无害,但对极少数特别敏感的人群可能产生轻微影响。
    • 轻度污染(橙色):空气质量一般,可能对敏感人群产生不适,一般公众则影响较小。
    • 中度污染(红色):空气质量较差,对所有人都可能产生不适的影响,敏感人群可能出现更明显的症状。
    • 重度污染(紫色):空气质量很差,对所有人都可能产生明显的健康影响,敏感人群可能出现严重症状。
    • 严重污染(褐红色):空气质量极差,对所有人都可能产生严重的健康影响,甚至危及生命。

4. 6 要素浓度数据的解读

  • CO浓度的解读和单位说明

CO浓度是指空气中一氧化碳的含量。一氧化碳是一种无色、无味、无臭的气体,主要由燃烧过程中不完全燃烧产生。高浓度的CO对人体健康有害,可影响血液中氧气的输送能力,导致头痛、头晕、恶心、心脏病加重等症状。

常见的CO浓度单位包括毫克/立方米(mg/m³)和部分百万(ppm)。单位之间的转换关系为1 mg/m³ = 1000 ppm。

  • NO₂浓度的解读和单位说明

NO₂浓度是指空气中二氧化氮的含量。二氧化氮主要来自于燃烧过程中的氮氧化物排放,例如汽车尾气、工业排放等。高浓度的NO₂对人体健康有害,可引起呼吸道炎症,加剧哮喘症状,并对肺部和免疫系统产生不良影响。

常见的NO₂浓度单位包括微克/立方米(μg/m³)和部分亿(ppb)。单位之间的转换关系为1 μg/m³ = 1 ppb。

  • O₃浓度的解读和单位说明

O₃浓度是指空气中臭氧的含量。臭氧主要是由太阳辐射和空气中氮氧化物和挥发性有机化合物的反应产生的。高浓度的臭氧对人体健康有害,可引起眼睛和呼吸道刺激,导致咳嗽、喉咙痛、呼吸急促等不适症状。

常见的O₃浓度单位包括微克/立方米(μg/m³)和部分百万(ppm)。单位之间的转换关系为1 μg/m³ = 0.5 ppm。

  • PM10和PM2.5浓度的解读和单位说明

PM10和PM2.5分别表示大气中直径小于等于10微米和2.5微米的可吸入颗粒物的浓度。这些颗粒物来自于燃烧过程、工业排放、车辆尾气、建筑工地和自然灰尘等。高浓度的PM10和PM2.5对人体健康有害,可导致呼吸道问题、心血管疾病和肺部损害。

常见的PM10和PM2.5浓度单位为微克/立方米(μg/m³)。

  • SO₂浓度的解读和单位说明

SO₂浓度是指空气中二氧化硫的含量。二氧化硫主要来自于燃烧含硫燃料和工业过程中的硫化物排放。高浓度的SO₂对人体健康有害,可引起眼睛和呼吸道刺激,并加剧哮喘和其他呼吸系统疾病。

常见的SO₂浓度单位包括微克/立方米(μg/m³)和部分百万(ppm)。单位之间的转换关系为1 μg/m³ = 0.3 ppm。

空气质量查询 API 应用场景

image.png

写在最后

空气质量查询 API 具有广泛的应用前景和重要的作用,将在未来空气质量监测和数据利用的发展中发挥越来越重要的作用,有需要的小伙伴赶紧用起来吧~

相关文章
|
4天前
|
Java 程序员 容器
Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
在Java中,变量是一个可以随时改变的数据容器,类似于一个可以反复打开的小盒子。定义变量时需指定数据类型和名称。例如:`int age = 25;` 表示定义一个整数类型的变量 `age`,初始值为25。 常量则是不可改变的数据容器,类似于一个锁死的铁盒子,定义时使用 `final` 关键字。例如:`final int MAX_SPEED = 120;` 表示定义一个名为 `MAX_SPEED` 的常量,值为120,且不能修改。 变量和常量的主要区别在于变量的数据可以随时修改,而常量的数据一旦确定就不能改变。常量主要用于防止意外修改、提高代码可读性和便于维护。
|
24天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。HashSet基于哈希表实现,提供高效的元素操作;TreeSet则通过红黑树实现元素的自然排序,适合需要有序访问的场景。本文通过示例代码详细介绍了两者的特性和应用场景。
36 6
|
23天前
|
存储 Java API
深入剖析Java Map:不只是存储数据,更是设计艺术的体现!
【10月更文挑战第17天】在Java编程中,Map是一种重要的数据结构,用于存储键值对,并展现了设计艺术的精髓。本文深入剖析了Map的设计原理和使用技巧,包括基本概念、设计艺术(如哈希表与红黑树的空间时间权衡)、以及使用技巧(如选择合适的实现类、避免空指针异常等),帮助读者更好地理解和应用Map。
73 3
|
4天前
|
存储 缓存 安全
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见。本文介绍了使用 `File.createTempFile` 方法和自定义创建临时文件的两种方式,详细探讨了它们的使用场景和注意事项,包括数据缓存、文件上传下载和日志记录等。强调了清理临时文件、确保文件名唯一性和合理设置文件权限的重要性。
12 2
|
4天前
|
Java
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式。本文介绍了 Streams 的基本概念和使用方法,包括创建 Streams、中间操作和终端操作,并通过多个案例详细解析了过滤、映射、归并、排序、分组和并行处理等操作,帮助读者更好地理解和掌握这一重要特性。
11 2
|
9天前
|
存储 分布式计算 Java
存算分离与计算向数据移动:深度解析与Java实现
【11月更文挑战第10天】随着大数据时代的到来,数据量的激增给传统的数据处理架构带来了巨大的挑战。传统的“存算一体”架构,即计算资源与存储资源紧密耦合,在处理海量数据时逐渐显露出其局限性。为了应对这些挑战,存算分离(Disaggregated Storage and Compute Architecture)和计算向数据移动(Compute Moves to Data)两种架构应运而生,成为大数据处理领域的热门技术。
27 2
|
13天前
|
小程序 前端开发 算法
|
15天前
|
SQL Java OLAP
java实现“数据平滑升级”
java实现“数据平滑升级”
35 2
|
19天前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
|
24天前
|
Java
Java Set以其“不重复”的特性,为我们提供了一个高效、简洁的处理唯一性约束数据的方式。
【10月更文挑战第16天】在Java编程中,Set接口确保集合中没有重复元素,每个元素都是独一无二的。HashSet基于哈希表实现,提供高效的添加、删除和查找操作;TreeSet则基于红黑树实现,不仅去重还能自动排序。通过这两个实现类,我们可以轻松处理需要唯一性约束的数据,提升代码质量和效率。
34 2