| | |
| | | |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | import com.moral.constant.Constants; |
| | | |
| | |
| | | return AQIMAX; |
| | | } |
| | | |
| | | public static Map<String,Object> hourlyAqi_pollutant(Map<String, Object> map) { |
| | | List<Integer> AQIList = new ArrayList<>(); |
| | | Map<String,Integer> AQIMap = new HashMap<>(); |
| | | for (Map.Entry<String, Object> entry : map.entrySet()) { |
| | | String key = entry.getKey(); |
| | | if (entry.getValue().toString().equals("")) { |
| | | continue; |
| | | } |
| | | int PM2_5AQI; |
| | | int PM10AQI; |
| | | int SO2AQI; |
| | | int NO2AQI; |
| | | int COAQI; |
| | | int O3AQI; |
| | | switch (key) { |
| | | case Constants.SENSOR_CODE_PM25: |
| | | PM2_5AQI = PM2_5AQI(Double.valueOf(entry.getValue().toString())); |
| | | AQIList.add(PM2_5AQI); |
| | | AQIMap.put("PM2.5",PM2_5AQI); |
| | | break; |
| | | case Constants.SENSOR_CODE_PM10: |
| | | PM10AQI = PM10AQI(Double.valueOf(entry.getValue().toString())); |
| | | AQIList.add(PM10AQI); |
| | | AQIMap.put("PM10",PM10AQI); |
| | | break; |
| | | case Constants.SENSOR_CODE_SO2: |
| | | SO2AQI = SO2AQI(Double.valueOf(entry.getValue().toString())); |
| | | AQIList.add(SO2AQI); |
| | | AQIMap.put("SO2",SO2AQI); |
| | | break; |
| | | case Constants.SENSOR_CODE_NO2: |
| | | NO2AQI = NO2AQI(Double.valueOf(entry.getValue().toString())); |
| | | AQIList.add(NO2AQI); |
| | | AQIMap.put("NO2",NO2AQI); |
| | | break; |
| | | case Constants.SENSOR_CODE_CO: |
| | | COAQI = COAQI(Double.valueOf(entry.getValue().toString())); |
| | | AQIList.add(COAQI); |
| | | AQIMap.put("CO",COAQI); |
| | | break; |
| | | case Constants.SENSOR_CODE_O3: |
| | | O3AQI = O3AQI(Double.valueOf(entry.getValue().toString())); |
| | | AQIList.add(O3AQI); |
| | | AQIMap.put("O3",O3AQI); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | int AQIMAX = 0; |
| | | if (!ObjectUtils.isEmpty(AQIList)) { |
| | | AQIMAX = Collections.max(AQIList); |
| | | } |
| | | List<String> nameList = new ArrayList<>(); |
| | | for (String key:AQIMap.keySet()){ |
| | | if (AQIMap.get(key).equals(AQIMAX)){ |
| | | nameList.add(key); |
| | | } |
| | | } |
| | | Map<String,Object> resultMap = new HashMap<>(); |
| | | resultMap.put("aqi",AQIMAX); |
| | | resultMap.put("pollutant",nameList); |
| | | return resultMap; |
| | | } |
| | | |
| | | //PM2.5 IAQI |
| | | public static int PM2_5AQI(Double value) { |
| | | double result; |