From c56e1e74426238939f229f0005828d05089715ff Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期四, 03 七月 2025 17:30:58 +0800 Subject: [PATCH] 2025.7.3 1. 新增动态污染溯源新的判定逻辑 --- src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt | 81 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 72 insertions(+), 9 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt index 9ca9419..d39d51d 100644 --- a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt +++ b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt @@ -3,6 +3,7 @@ import com.flightfeather.uav.biz.FactorFilter import com.flightfeather.uav.biz.dataanalysis.BaseAnalysisConfig import com.flightfeather.uav.biz.sourcetrace.model.DistanceType +import com.flightfeather.uav.socket.eunm.FactorType /** * @@ -13,43 +14,105 @@ inner class WindLevelCondition( val windSpeed: Pair<Double, Double>, - val mutationRate: Pair<Double, DistanceType>, + val mutationRate: Pair<Double, Double>, + val distanceType: DistanceType, val countLimit: Int, ) // 闄愬畾璺濈鍐咃紙鍗曚綅锛氱背锛� - var distanceLimit = 1000 + var distanceLimit = 3000 // 闄愬畾鏃堕棿鍐咃紙鍗曚綅锛氬垎閽燂級 - var timeLimit = 2 + var timeLimit = 3 + // 婧簮鎵╂暎鍋忕Щ瑙掑害锛堝崟浣嶏細搴︼級 + var sourceTraceDegOffset = 120.0 + // 瀹氭椂绾跨储鍒嗘瀽鏃堕棿闂撮殧(鍗曚綅锛氬垎閽�) + var analysisPeriod = 15 + // 瀹氭椂鍒嗘瀽闂撮殧涓紝绔嬪嵆杩涜绾跨储鍒嗘瀽鐨勬渶灏忕嚎绱㈤噺(鍗曚綅锛氫釜) + var analysisCount = 4 + /****鏁版嵁绐佸彉*****************************************************************************/ // 0 - 1绾ч var windLevelCondition1 = WindLevelCondition( .0 to 1.5, - 0.5 to DistanceType.TYPE1, + 0.5 to Double.MAX_VALUE, + DistanceType.TYPE1, 1 ) // 0 - 1绾ч var windLevelCondition1_1 = WindLevelCondition( .0 to 1.5, - 0.2 to DistanceType.TYPE2, + 0.2 to 0.5, + DistanceType.TYPE2, 1 ) // 2 - 4绾ч var windLevelCondition2 = WindLevelCondition( 1.6 to 7.9, - 0.2 to DistanceType.TYPE3, + 0.2 to Double.MAX_VALUE, + DistanceType.TYPE3, 3 +// 1 ) // 5 - 6绾ч var windLevelCondition3 = WindLevelCondition( 8.0 to 13.8, - 0.1 to DistanceType.TYPE4, + 0.1 to Double.MAX_VALUE, + DistanceType.TYPE4, 3 ) - // 婧簮鎵╂暎鍋忕Щ瑙掑害锛堝崟浣嶏細搴︼級 - var sourceTraceDegOffset = 120.0 + /****鏁版嵁蹇�熶笂鍗�*****************************************************************************/ + var changeRateCondition = WindLevelCondition( + .0 to Double.MAX_VALUE, + 0.1 to Double.MAX_VALUE, + DistanceType.TYPE1, + 3 + ) + // 鐩戞祴鍥犲瓙鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級鍐呮甯稿彉鍖栫殑閲忕骇鑼冨洿 + var changeRateUp = mutableMapOf( + FactorType.PM25 to WindLevelCondition( + .0 to Double.MAX_VALUE, + 4.0 to Double.MAX_VALUE, + DistanceType.TYPE1, + 3 + ), + FactorType.PM10 to WindLevelCondition( + .0 to Double.MAX_VALUE, + 4.0 to Double.MAX_VALUE, + DistanceType.TYPE1, + 3 + ), + FactorType.VOC to WindLevelCondition( + .0 to Double.MAX_VALUE, + 6.0 to Double.MAX_VALUE, + DistanceType.TYPE1, + 1 + ), + ) + + /****鏁版嵁蹇�熶笅闄�*****************************************************************************/ + // 鐩戞祴鍥犲瓙鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級鍐呮甯稿彉鍖栫殑閲忕骇鑼冨洿 + var changeRateDown = mutableMapOf( + FactorType.PM25 to WindLevelCondition( + .0 to Double.MAX_VALUE, + -Double.MAX_VALUE to -2.0, + DistanceType.TYPE1, + 3 + ), + FactorType.PM10 to WindLevelCondition( + .0 to Double.MAX_VALUE, + -Double.MAX_VALUE to -2.0, + DistanceType.TYPE1, + 3 + ), + FactorType.VOC to WindLevelCondition( + .0 to Double.MAX_VALUE, + -Double.MAX_VALUE to -3.0, + DistanceType.TYPE1, + 3 + ), + ) } \ No newline at end of file -- Gitblit v1.9.3