jinpengyong
2021-11-02 bc85f620ec6bc7bdbe4c95fc227e1ee71119a9b9
screen-common/src/main/java/com/moral/util/ComprehensiveIndexUtils.java
@@ -160,6 +160,45 @@
            }
        });
        return result;
    }
    /**
     * @Description: 获取日综合指数,参数为日六参数据
     * @Param: [data]
     * @return: Double
     */
    public static Double dailyData(Map<String, Object> data) {
        if (data == null)
            return null;
        Double CPM25 = (Double) data.get("pm2_5");
        Double CPM10 = (Double) data.get("pm10");
        Double CSO2 = (Double) data.get("so2");
        Double CNO2 = (Double) data.get("no2");
        Double CCO = (Double) data.get("co");
        Double CO3 = (Double) data.get("o3");
        //S开头为污染物年均值二级标准(当污染物是CO时,采用日均值二级标准。当污染是O3时,采用八小时均值二级标准)
        //数据来源GB 3095-2012
        Double SSO2 = 60d;
        Double SNO2 = 40d;
        Double SPM25 = 35d;
        Double SPM10 = 70d;
        Double SCO = 4d;
        Double SO3 = 160d;
        //计算污染物单项指数
        Double ISO2 = CSO2 / SSO2;
        Double INO2 = CNO2 / SNO2;
        Double IPM25 = CPM25 / SPM25;
        Double IPM10 = CPM10 / SPM10;
        Double ICO = CCO / SCO;
        Double IO3 = CO3 / SO3;
        //计算综合指数
        Double comprehensiveIndex = MathUtils.add(ISO2, INO2);
        comprehensiveIndex = MathUtils.add(comprehensiveIndex, IPM25);
        comprehensiveIndex = MathUtils.add(comprehensiveIndex, IPM10);
        comprehensiveIndex = MathUtils.add(comprehensiveIndex, ICO);
        comprehensiveIndex = MathUtils.add(comprehensiveIndex, IO3);
        comprehensiveIndex = AmendUtils.sciCal(comprehensiveIndex, 2);
        return comprehensiveIndex;
    }
}