| | |
| | | package com.moral.util; |
| | | |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | 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"); |
| | | Double CPM25 = Double.parseDouble(data.get("PM2_5").toString()); |
| | | Double CPM10 = Double.parseDouble(data.get("PM10").toString()); |
| | | Double CSO2 = Double.parseDouble(data.get("SO2").toString()); |
| | | Double CNO2 = Double.parseDouble(data.get("NO2").toString()); |
| | | Double CCO = Double.parseDouble(data.get("CO").toString()); |
| | | Object o3 = data.get("O3"); |
| | | Double CO3 = null; |
| | | if (!ObjectUtils.isEmpty(o3)) { |
| | | CO3 = Double.parseDouble(o3.toString()); |
| | | } |
| | | |
| | | //S开头为污染物年均值二级标准(当污染物是CO时,采用日均值二级标准。当污染是O3时,采用八小时均值二级标准) |
| | | //数据来源GB 3095-2012 |
| | | Double SSO2 = 60d; |
| | |
| | | Double IPM25 = CPM25 / SPM25; |
| | | Double IPM10 = CPM10 / SPM10; |
| | | Double ICO = CCO / SCO; |
| | | Double IO3 = CO3 / SO3; |
| | | Double IO3 = null; |
| | | if (!ObjectUtils.isEmpty(CO3)) { |
| | | 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); |
| | | if (!ObjectUtils.isEmpty(IO3)) { |
| | | comprehensiveIndex = MathUtils.add(comprehensiveIndex, IO3); |
| | | } |
| | | comprehensiveIndex = AmendUtils.sciCal(comprehensiveIndex, 2); |
| | | return comprehensiveIndex; |
| | | } |
| | | |
| | | |
| | | } |