涨知识!一文带你读懂空气质量数据(附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 具有广泛的应用前景和重要的作用,将在未来空气质量监测和数据利用的发展中发挥越来越重要的作用,有需要的小伙伴赶紧用起来吧~

相关文章
|
24天前
|
JSON Java 数据格式
有关Java调用第三方接口【Content-type为form-data】的示例代码
有关Java调用第三方接口【Content-type为form-data】的示例代码
24 0
|
1月前
|
小程序 JavaScript
【微信小程序】-- 自定义组件 - 数据监听器 (三十四)
【微信小程序】-- 自定义组件 - 数据监听器 (三十四)
|
1月前
|
存储 小程序 JavaScript
【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)
【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)
|
25天前
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
20 1
|
1月前
|
弹性计算 前端开发 小程序
微信小程序上传文件至阿里云OSS直传(java后端签名+前端直传)
当前的通用文件上传方式是通过前端上传到服务器,再由服务器转存至对象存储。这种方式在处理小文件时效率尚可,但大文件上传因受限于服务器带宽,速度较慢。例如,一个100MB的文件在5Mbps带宽的阿里云ECS上上传至服务器需160秒。为解决此问题,可以采用后端签名的方式,使微信小程序直接上传文件到阿里云OSS,绕过服务器中转。具体操作包括在JAVA后端引入相关依赖,生成签名,并在微信小程序前端使用这个签名进行文件上传,注意设置正确的请求头和formData参数。这样能提高大文件上传的速度。
|
1月前
|
存储 Java
JAVA字符串与其他类型数据的转换
JAVA字符串与其他类型数据的转换
27 4
|
25天前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
15 1
|
12天前
|
人工智能 小程序 Java
Java智慧校园系统源码 微信小程序+电子班牌
通过设备管理对百纳智慧校园的智慧班牌以及百纳智慧屏(校牌)进行统一集中式管理,支持浏览所有设备的基本信息以及在离线状态,支持添加设备、设备一键开关机、一键重启、设置节假日开关机时间、设置日常开关机时间、远程班牌截屏、远程班牌升级等操作。
|
29天前
|
缓存 NoSQL Java
java中复杂业务情况下的集合操作(增减集合同步数据)
java中复杂业务情况下的集合操作(增减集合同步数据)
26 0
|
1月前
|
网络协议 Java
Java——UDP数据报
Java——UDP数据报
12 0