From 7d33080998a2c5b38e8a74dbed2b0f40d39bbe47 Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期三, 04 六月 2025 23:27:26 +0800
Subject: [PATCH] 1. 新增动态污染溯源新的判定逻辑(待完成)
---
src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/exceptiontype/ExceptionValueMutation.kt | 25 +++++++++----------------
1 files changed, 9 insertions(+), 16 deletions(-)
diff --git a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/exceptiontype/ExceptionValueMutation.kt b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/exceptiontype/ExceptionValueMutation.kt
index 0a9e73c..082db5e 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/exceptiontype/ExceptionValueMutation.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/exceptiontype/ExceptionValueMutation.kt
@@ -1,7 +1,7 @@
package com.flightfeather.uav.biz.dataanalysis.exceptiontype
-import com.flightfeather.uav.biz.dataanalysis.BaseExceptionContinuous
import com.flightfeather.uav.biz.dataanalysis.model.DataAnalysisConfig
+import com.flightfeather.uav.biz.dataanalysis.model.ExceptionTag
import com.flightfeather.uav.biz.dataanalysis.model.ExceptionType
import com.flightfeather.uav.domain.entity.BaseRealTimeData
import com.flightfeather.uav.socket.eunm.FactorType
@@ -10,7 +10,7 @@
/**
* 閲忕骇绐佸彉寮傚父鍒嗘瀽
*/
-class ExceptionValueMutation(config: DataAnalysisConfig) : BaseExceptionContinuous(config) {
+class ExceptionValueMutation(config: DataAnalysisConfig) : ExceptionContinuous(config) {
/**
* 鏈紓甯哥殑杩炵画鍙戠敓娆℃暟浼氭牴鎹紓甯哥殑绋嬪害鍙樺寲
@@ -34,28 +34,21 @@
val b2 = r >= config.mutationRate
if (b1) special = true
res[f] = (b1 || b2)
+// if (res[f] == true) println("p: $pValue --- n: $nValue --- r: $r")
}
-// repeat(config.factorCount) { i->
-// if (p?.getByFactorIndex(i) == null || n.getByFactorIndex(i) == null) {
-// res.add(false)
-// return@repeat
-// }
-// val pValue = p.getByFactorIndex(i)!!
-// val nValue = n.getByFactorIndex(i)!!
-// val r = abs((pValue - nValue) / pValue)
-// val b1 = r >= (2 * config.mutationRate)
-// val b2 = r >= config.mutationRate
-// if (b1) special = true
-// res.add(b1 || b2)
-// }
return res
}
- override fun judgeDuration(sIndex: Int, eIndex: Int): Boolean {
+ override fun judgeExceptionCount(tag: ExceptionTag): Boolean {
+ // 棣栦釜鏁版嵁娌℃湁鍓嶄竴涓暟鎹弬鐓э紝涓嶇畻寮傚父鍊硷紝鏈�鍚庝竴涓暟鎹槸鍒ゆ柇缁撴潫鐨勬甯稿�硷紝鍥犳寮傚父鏁版嵁涓暟鐨勮绠椾笅鏍囦负sIndex鍜宔Index
+ val sIndex = tag.sIndex
+ val eIndex = tag.eIndex - 1
+
val b1 = special && (eIndex - sIndex) >= (config.mutationNum / 2)
val b2 = (eIndex - sIndex) >= config.mutationNum
special = false
+// println("sIndex: $sIndex --- eIndex: $eIndex --- special: $special")
return b1 || b2
}
}
\ No newline at end of file
--
Gitblit v1.9.3