jinpengyong
2021-11-02 bc85f620ec6bc7bdbe4c95fc227e1ee71119a9b9
screen-common/src/main/java/com/moral/util/ComprehensiveIndexUtils.java
@@ -45,19 +45,20 @@
        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);
        return ComprehensiveIndex;
        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;
    }
    /**
     * @Description: 计算各因子浓度值
     * SO2 NO2 PM10 PM2.5为月均浓度,CO取日均值的第九十五百分位,O3取日最大八小时值的第九十百分位
     * @Param: [datas]
     * @return: java.util.Map<java.lang.String   ,   java.lang.Object>
     * @return: java.util.Map<java.lang.String, java.lang.Object>
     * @Author: 陈凯裕
     * @Date: 2021/9/27
     */
@@ -161,4 +162,43 @@
        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;
    }
}