From c37523953b9c0c107514e86605f2768f013a9188 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Mon, 09 Aug 2021 13:44:50 +0800 Subject: [PATCH] 风向计算 --- screen-common/src/main/java/com/moral/util/AmendUtils.java | 28 ++++++++++++++-------------- 1 files changed, 14 insertions(+), 14 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 5a0f173..7c15de8 100644 --- a/screen-common/src/main/java/com/moral/util/AmendUtils.java +++ b/screen-common/src/main/java/com/moral/util/AmendUtils.java @@ -115,10 +115,10 @@ Object windSpeedUpper = params.get("windSpeedUpper"); Object windSpeedLower = params.get("windSpeedLower"); - double avgDir; - double sumSin = 0d; - double sumCos = 0d; - int size = 0; + Double avgDir = null; + Double sumSin = 0d; + Double sumCos = 0d; + Integer size = 0; for (Map<String, Object> map : data) { Map<String, Object> dataValue = JSONObject.parseObject((String) map.get("value"), Map.class); Object wind = dataValue.get(Constants.SENSOR_CODE_WIND_DIR); @@ -179,17 +179,17 @@ avgDir = Math.atan(avgSin / avgCos) * 180 / Math.PI + 180; } else if (avgSin < 0 && avgCos > 0) { avgDir = Math.atan(avgSin / avgCos) * 180 / Math.PI + 360; - } else { - avgDir = 0; } - double v = sciCal(avgDir, 4); - result.put(Constants.SENSOR_CODE_WIND_DIR, v); - if ("hour".equals(type)) { - //���������>=45���,������������ N,<45���H H:��������������� - if (size >= 45) { - result.put(Constants.SENSOR_CODE_WIND_DIR + Constants.MARKER_BIT_KEY, Constants.MARKER_BIT_TRUE); - } else { - result.put(Constants.SENSOR_CODE_WIND_DIR + Constants.MARKER_BIT_KEY, Constants.MARKER_BIT_FALSE); + if (!ObjectUtils.isEmpty(avgDir)) { + double v = sciCal(avgDir, 4); + result.put(Constants.SENSOR_CODE_WIND_DIR, v); + if ("hour".equals(type)) { + //���������>=45���,������������ N,<45���H H:��������������� + if (size >= 45) { + result.put(Constants.SENSOR_CODE_WIND_DIR + Constants.MARKER_BIT_KEY, Constants.MARKER_BIT_TRUE); + } else { + result.put(Constants.SENSOR_CODE_WIND_DIR + Constants.MARKER_BIT_KEY, Constants.MARKER_BIT_FALSE); + } } } return result; -- Gitblit v1.8.0