From 3ec35029adfb63e79ad17bf351317768e687ec2b Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Mon, 17 Jan 2022 16:22:25 +0800 Subject: [PATCH] city_aqi月均值,年均值update --- screen-common/src/main/java/com/moral/util/AmendUtils.java | 36 ++++++++++++++++++++++++++++++++++++ 1 files changed, 36 insertions(+), 0 deletions(-) diff --git a/screen-common/src/main/java/com/moral/util/AmendUtils.java b/screen-common/src/main/java/com/moral/util/AmendUtils.java index 7b7348d..33c985a 100644 --- a/screen-common/src/main/java/com/moral/util/AmendUtils.java +++ b/screen-common/src/main/java/com/moral/util/AmendUtils.java @@ -327,4 +327,40 @@ result.put(Constants.SENSOR_CODE_O3, percentile(data, 90)); return result; } + + //������������������������ + /** + * ��������������� + * PM2.5,PM10,CO,���������95��������� + * SO2,NO2,���������98��������� + * O3���������������90��������� + * + * @param list ������ + * @param sensorCode ������code + */ + public static Double getAvgOfYear(List<Map<String, Object>> list, String sensorCode) { + List<Double> data = new ArrayList<>(); + for (Map<String, Object> dataMap : list) { + Map<String, Object> dataValue = JSONObject.parseObject((String) dataMap.get("value"), Map.class); + Object o = dataValue.get(sensorCode); + if (ObjectUtils.isEmpty(o)) { + continue; + } + Double sensorValue = Double.parseDouble(o.toString()); + data.add(sensorValue); + } + if (data.size() == 0) { + return null; + } + + Double v = null; + if ("PM2_5".equals(sensorCode) || "PM10".equals(sensorCode) || "CO".equals(sensorCode)) { + v = percentile(data, 95); + } else if ("SO2".equals(sensorCode) || "NO2".equals(sensorCode)) { + v = percentile(data, 98); + } else if ("O3".equals(sensorCode)) { + v = percentile(data, 90); + } + return v; + } } -- Gitblit v1.8.0