Java-AQI计算(所有参数均24小时均值)
/**
* @Description AQI计算:6项指标的24小时均值
* @Author jinfang
* @time 2020/11/13 上午10:56
* @Version 1.0
*/
public class AQIUtils {
/**
* PM10 24小时
*/
public static int PM10(Integer pm_val) {
int iaqi1 = 0;
//-----------------+100,--AQI指数(结合表),-75区间最小值)--,250区间最大值,--每小时AVG()
if (pm_val > 0 && pm_val < 51) {
iaqi1 = cal_linear(0, 50, 0, 50, pm_val);
}
if (pm_val >= 51 && pm_val < 151) {
iaqi1 = cal_linear(50, 100, 50, 150, pm_val);
}
if (pm_val >= 151 && pm_val < 251) {
//AQI=50/40*(103-75)+100 : 135
//+100,AQI指数(结合表),-75),250,103
iaqi1 = cal_linear(100, 150, 150, 250, pm_val);
}
if (pm_val >= 251 && pm_val < 351) {
iaqi1 = cal_linear(150, 200, 250, 350, pm_val);
}
if (pm_val >= 351 && pm_val < 421) {
iaqi1 = cal_linear(200, 300, 350, 420, pm_val);
}
if (pm_val >= 421 && pm_val < 501) {
iaqi1 = cal_linear(300, 400, 420, 500, pm_val);
}
if (pm_val >= 501 && pm_val < 601) {
iaqi1 = cal_linear(400, 500, 500, 600, pm_val);
}
return iaqi1;
}
/**
* PM25 24小时
*/
public static int PM25(Integer pm_val) {
int iaqi1 = 0;
//--------------------------+100,--AQI指数(结合表),-75区间最小值)--,250区间最大值,--每小时AVG()
if (pm_val >= 0 && pm_val < 36) {
iaqi1 = cal_linear(0, 50, 0, 35, pm_val);
}
if (pm_val >= 36 && pm_val < 76) {
iaqi1 = cal_linear(50, 100, 35, 75, pm_val);
}
if (pm_val >= 76 && pm_val < 116) {
//AQI=50/40*(103-75)+100 : 135