| | |
| | | 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 |
| | | */ |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |