AQI 计算,以及分指数计算
计算方法参照中华人民共和国生态环境部标准: HJ 633--2012 环境空气质量指数 (AQI) 技术规定 (试行).pdf
AQI 范围 | 指数级别 | 类别 | 颜色 |
---|---|---|---|
0 至 50 | 一级 | 优 | 绿色 |
51 至 100 | 二级 | 良 | 黄色 |
101 至 150 | 三级 | 轻度污染 | 橙色 |
151 至 200 | 四级 | 中度污染 | 红色 |
201 至 300 | 五级 | 重度污染 | 紫色 |
301+ | 六级 | 严重污染 | 褐红色 |
计算方法参考 US EPA: Technical Assistance Document for the Reporting of Daily Air Quality – the Air Quality Index (AQI)
AQI Range | Descriptor | Color |
---|---|---|
0 to 50 | Good | Green |
51 to 100 | Moderate | Yellow |
101 to 150 | Unhealthy for Sensitive Groups | Orange |
151 to 200 | Unhealthy | Red |
201 to 300 | Very Unhealthy | Purple |
301+ | Hazardous | Maroon |
pip install aqi-hub
from aqi_hub.aqi_cn.aqi import cal_aqi_cn
# 1.1 计算小时值 AQI
aqi, iaqi = cal_aqi_cn(
pm25=45, pm10=80, so2=35, no2=85, co=3, o3=140, data_type="hourly"
)
print("测试数据 1:")
print(f"AQI: {aqi}")
print(f"IAQI: {iaqi}")
# 1.2 计算日均值 AQI
aqi, iaqi = cal_aqi_cn(
pm25=120, pm10=180, so2=65, no2=150, co=8, o3=200, data_type="daily"
)
print("\n测试数据 2:")
print(f"AQI: {aqi}")
print(f"IAQI: {iaqi}")
from aqi_hub.aqi_cn.aqi import cal_iaqi_cn
# 2.1 计算 PM2.5 的 IAQI
pm25_iaqi = cal_iaqi_cn("PM25_24H", 120)
print(f"PM25_24H IAQI: {pm25_iaqi}")
# 2.2 计算 PM10 的 IAQI
pm10_iaqi = cal_iaqi_cn("PM10_24H", 180)
print(f"PM10_24H IAQI: {pm10_iaqi}")
from aqi_hub.aqi_cn.aqi import get_aqi_level
# 3.1 计算 AQI
level = get_aqi_level(120)
print(f"AQI 等级: {level}")
from aqi_hub.aqi_cn.aqi import get_aqi_level_color
# 4.1 计算 AQI 等级颜色
color = get_aqi_level_color(1, "RGB")
print(f"AQI 等级颜色: {color}")
# 4.2 计算 AQI 等级颜色
color = get_aqi_level_color(2, "CMYK")
print(f"AQI 等级颜色: {color}")
# 4.3 计算 AQI 等级颜色
color = get_aqi_level_color(3, "RGB_HEX")
print(f"AQI 等级颜色: {color}")
# 4.4 计算 AQI 等级颜色
color = get_aqi_level_color(4, "CMYK_HEX")
print(f"AQI 等级颜色: {color}")
from aqi_hub.aqi_cn.aqi import cal_primary_pollutant, cal_exceed_pollutant
# 5.1 计算主要污染物
iaqi = {
"PM25": 120,
"PM10": 180,
"SO2": 65,
"NO2": 150,
"CO": 8,
"O3": 200,
}
primary_pollutant = cal_primary_pollutant(iaqi)
print(f"主要污染物: {primary_pollutant}")
# 5.2 计算超标污染物
exceed_pollutant = cal_exceed_pollutant(iaqi)
print(f"超标污染物: {exceed_pollutant}")
污染物 | 中国标准单位 | 美国标准单位 | 单位换算(25℃,1标准大气压) |
---|---|---|---|
PM2.5 | μg/m³ | μg/m³ | 相同 |
PM10 | μg/m³ | μg/m³ | 相同 |
O3 | μg/m³ | ppb | 1 ppb = 1.962 μg/m³ |
CO | mg/m³ | ppm | 1 ppm = 1.145 mg/m³ |
NO2 | μg/m³ | ppb | 1 ppb = 1.88 μg/m³ |
SO2 | μg/m³ | ppb | 1 ppb = 2.62 μg/m³ |