From 176d7d8283e66ccf63878c9ab823e900df94b748 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期二, 05 八月 2025 17:20:58 +0800 Subject: [PATCH] 2025.8.5 1. 动态溯源模块添加延迟数据周期异常合并功能 --- src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt | 178 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 139 insertions(+), 39 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 d5fbbe0..b56fb48 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 /** * @@ -16,13 +17,25 @@ val mutationRate: Pair<Double, Double>, val distanceType: DistanceType, val countLimit: Int, - ) + ){ +} + // 鏄惁鑱旂綉鏌ユ壘瀵瑰簲璺鍦板潃淇℃伅 + var isSearchAddress = true // 闄愬畾璺濈鍐咃紙鍗曚綅锛氱背锛� var distanceLimit = 3000 // 闄愬畾鏃堕棿鍐咃紙鍗曚綅锛氬垎閽燂級 var timeLimit = 3 + // 婧簮鎵╂暎鍋忕Щ瑙掑害锛堝崟浣嶏細搴︼級 + var sourceTraceDegOffset = 120.0 + + // 瀹氭椂绾跨储鍒嗘瀽鏃堕棿闂撮殧(鍗曚綅锛氬垎閽�) + var analysisPeriod = 5 + // 瀹氭椂鍒嗘瀽闂撮殧涓紝绔嬪嵆杩涜绾跨储鍒嗘瀽鐨勬渶灏忕嚎绱㈤噺(鍗曚綅锛氫釜) + var analysisCount = 4 + + /****鏁版嵁绐佸彉*****************************************************************************/ // 0 - 1绾ч var windLevelCondition1 = WindLevelCondition( .0 to 1.5, @@ -44,8 +57,8 @@ 1.6 to 7.9, 0.2 to Double.MAX_VALUE, DistanceType.TYPE3, -// 3 - 1 + 3 +// 1 ) // 5 - 6绾ч @@ -56,42 +69,129 @@ 3 ) - // 婧簮鎵╂暎鍋忕Щ瑙掑害锛堝崟浣嶏細搴︼級 - var sourceTraceDegOffset = 120.0 + /****鏁版嵁蹇�熶笂鍗�*****************************************************************************/ + // 鍦ㄩ閫熷浜�0 - 1.5 m/s 涔嬮棿鏃� + var changeRateUp1 = mutableMapOf( + // PM2.5鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇澶т簬绛変簬4渭g/m鲁锛岃繛缁彂鐢�2娆� + FactorType.PM25 to WindLevelCondition( + .0 to 1.5, + 4.0 to Double.MAX_VALUE, + DistanceType.TYPE1, +// fixme: 2025.7.24 鍥犱负浣庨閫熶笅鏁版嵁鍙樺寲娆℃暟璁剧疆杩囧锛屽鑷撮仐婕忚瘑鍒� +// 3 + 2 + ), + // PM10鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇澶т簬绛変簬4渭g/m鲁锛岃繛缁彂鐢�2娆� + FactorType.PM10 to WindLevelCondition( + .0 to 1.5, + 4.0 to Double.MAX_VALUE, + DistanceType.TYPE1, + 2 + ), + // VOC鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇澶т簬绛変簬6渭g/m鲁锛岃繛缁彂鐢�1娆� + FactorType.VOC to WindLevelCondition( + .0 to 1.5, + 6.0 to Double.MAX_VALUE, + DistanceType.TYPE1, + 1 + ), + ) + // 鍦ㄩ閫熷浜�1.6 - 7.9 m/s 涔嬮棿鏃� + var changeRateUp2 = mutableMapOf( + // PM2.5鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇澶т簬绛変簬4渭g/m鲁锛岃繛缁彂鐢�3娆� + FactorType.PM25 to WindLevelCondition( + 1.6 to 7.9, + 4.0 to Double.MAX_VALUE, + DistanceType.TYPE3, + 3 + ), + // PM10鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇澶т簬绛変簬4渭g/m鲁锛岃繛缁彂鐢�3娆� + FactorType.PM10 to WindLevelCondition( + 1.6 to 7.9, + 4.0 to Double.MAX_VALUE, + DistanceType.TYPE3, + 3 + ), + // VOC鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇澶т簬绛変簬6渭g/m鲁锛岃繛缁彂鐢�1娆� + FactorType.VOC to WindLevelCondition( + 1.6 to 7.9, + 6.0 to Double.MAX_VALUE, + DistanceType.TYPE3, + 1 + ), + ) + // 鍦ㄩ閫熷浜�8.0 - 13.8 m/s 涔嬮棿鏃� + var changeRateUp3 = mutableMapOf( + // PM2.5鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇澶т簬绛変簬4渭g/m鲁锛岃繛缁彂鐢�3娆� + FactorType.PM25 to WindLevelCondition( + 8.0 to 13.8, + 4.0 to Double.MAX_VALUE, + DistanceType.TYPE4, + 3 + ), + // PM10鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇澶т簬绛変簬4渭g/m鲁锛岃繛缁彂鐢�3娆� + FactorType.PM10 to WindLevelCondition( + 8.0 to 13.8, + 4.0 to Double.MAX_VALUE, + DistanceType.TYPE4, + 3 + ), + // VOC鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇澶т簬绛変簬6渭g/m鲁锛岃繛缁彂鐢�1娆� + FactorType.VOC to WindLevelCondition( + 8.0 to 13.8, + 6.0 to Double.MAX_VALUE, + DistanceType.TYPE4, + 1 + ), + ) - // 瀹氭椂绾跨储鍒嗘瀽鏃堕棿闂撮殧(鍗曚綅锛氬垎閽�) - var analysisPeriod = 15 - // 瀹氭椂鍒嗘瀽闂撮殧涓紝绔嬪嵆杩涜绾跨储鍒嗘瀽鐨勬渶灏忕嚎绱㈤噺(鍗曚綅锛氫釜) - var analysisCount = 3 + /****鏁版嵁蹇�熶笅闄嶆彁閱�*****************************************************************************/ + var changeRateWarnDown = mutableMapOf( + // PM2.5鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級鍐呬笅闄嶉噺绾уぇ浜庣瓑浜�2渭g/m鲁锛岃繛缁彂鐢�3娆� + FactorType.PM25 to WindLevelCondition( + .0 to Double.MAX_VALUE, + -Double.MAX_VALUE to -2.0, + DistanceType.TYPE1, + 3 + ), + // PM10鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級鍐呬笅闄嶉噺绾уぇ浜庣瓑浜�2渭g/m鲁锛岃繛缁彂鐢�3娆� + FactorType.PM10 to WindLevelCondition( + .0 to Double.MAX_VALUE, + -Double.MAX_VALUE to -2.0, + DistanceType.TYPE1, + 3 + ), + // VOC鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級鍐呬笅闄嶉噺绾уぇ浜庣瓑浜�3渭g/m鲁锛岃繛缁彂鐢�3娆� + FactorType.VOC to WindLevelCondition( + .0 to Double.MAX_VALUE, + -Double.MAX_VALUE to -3.0, + DistanceType.TYPE1, + 3 + ), + ) - - -// // 0 - 1绾ч -// var windLevelCondition1 = WindLevelCondition( -// .0 to 1.5, -// listOf(0.5 to DistanceType.TYPE1, 0.2 to DistanceType.TYPE2,), -// listOf(1, 1) -// ) -// -// // 0 - 1绾ч -// var windLevelCondition1_1 = WindLevelCondition( -// .0 to 1.5, -// 0.2 to DistanceType.TYPE2, -// 1 -// ) -// -// // 2 - 4绾ч -// var windLevelCondition2 = WindLevelCondition( -// 1.6 to 7.9, -// listOf(0.2 to DistanceType.TYPE3), -//// listOf(3) -// listOf(1) -// ) -// -// // 5 - 6绾ч -// var windLevelCondition3 = WindLevelCondition( -// 8.0 to 13.8, -// listOf(0.1 to DistanceType.TYPE4), -// listOf(3) -// ) + /****鏁版嵁鏈変笂鍗囪秼鍔挎彁閱�*****************************************************************************/ + var changeRateWarnUp = mutableMapOf( + // PM2.5鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇鍦�2 - 4渭g/m鲁涔嬮棿锛岃繛缁彂鐢�3娆� + FactorType.PM25 to WindLevelCondition( + .0 to Double.MAX_VALUE, + 2.0 to 4.0, + DistanceType.TYPE1, + 3 + ), + // PM10鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇鍦�2 - 4渭g/m鲁涔嬮棿锛岃繛缁彂鐢�3娆� + FactorType.PM10 to WindLevelCondition( + .0 to Double.MAX_VALUE, + 2.0 to 4.0, + DistanceType.TYPE1, + 3 + ), + // VOC鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇鍦�3 - 6渭g/m鲁涔嬮棿锛岃繛缁彂鐢�2娆� + FactorType.VOC to WindLevelCondition( + .0 to Double.MAX_VALUE, + 3.0 to 6.0, + DistanceType.TYPE1, + 2 + ), + ) } \ No newline at end of file -- Gitblit v1.9.3