From eb3dd00b0b7fcda477229d518d250f9c842b790b Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 21 十月 2025 17:45:44 +0800
Subject: [PATCH] 2025.10.21 1. 走航季度报告相关数据计算逻辑调整
---
src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt | 187 +++++++++++++++++++++++++++++++++++++---------
1 files changed, 148 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 271388a..9d69ca6 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
+ 2
+// 1
)
// 5 - 6绾ч
@@ -53,45 +66,141 @@
8.0 to 13.8,
0.1 to Double.MAX_VALUE,
DistanceType.TYPE4,
- 3
+ 2
)
- // 婧簮鎵╂暎鍋忕Щ瑙掑害锛堝崟浣嶏細搴︼級
- 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,
+ 2
+ ),
+ // PM10鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇澶т簬绛変簬4渭g/m鲁锛岃繛缁彂鐢�3娆�
+ FactorType.PM10 to WindLevelCondition(
+ 1.6 to 7.9,
+ 4.0 to Double.MAX_VALUE,
+ DistanceType.TYPE3,
+ 2
+ ),
+ // 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,
+ 2
+ ),
+ // PM10鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇澶т簬绛変簬4渭g/m鲁锛岃繛缁彂鐢�3娆�
+ FactorType.PM10 to WindLevelCondition(
+ 8.0 to 13.8,
+ 4.0 to Double.MAX_VALUE,
+ DistanceType.TYPE4,
+ 2
+ ),
+ // 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 = 2
+ /****鏁版嵁蹇�熶笅闄嶆彁閱�*****************************************************************************/
+ 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
+ ),
+ )
+ /****鏁版嵁鏈変笂鍗囪秼鍔挎彁閱�*****************************************************************************/
+ 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,
+ 2
+ ),
+ // PM10鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇鍦�2 - 4渭g/m鲁涔嬮棿锛岃繛缁彂鐢�3娆�
+ FactorType.PM10 to WindLevelCondition(
+ .0 to Double.MAX_VALUE,
+ 2.0 to 4.0,
+ DistanceType.TYPE1,
+ 2
+ ),
+ // VOC鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級涓婂崌閲忕骇鍦�3 - 6渭g/m鲁涔嬮棿锛岃繛缁彂鐢�2娆�
+ FactorType.VOC to WindLevelCondition(
+ .0 to Double.MAX_VALUE,
+ 3.0 to 6.0,
+ DistanceType.TYPE1,
+ 2
+ ),
+ )
-
-// // 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 changeTrendGroup = 12
+ // 婊戝姩骞冲潎鍊艰繛缁�
+ var changeTrendInterval = 12
+ var changeTrendRate = .2
+ // 婊戝姩骞冲潎鍊煎彉鍖栫巼寮傚父杩炵画娆℃暟
+ var changeTrendTimes = 3
}
\ No newline at end of file
--
Gitblit v1.9.3