From f7bdafb7cddd049bbb1bbf265fa006683b4ac693 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期三, 11 六月 2025 17:08:35 +0800 Subject: [PATCH] 1. 新增动态污染溯源新的判定逻辑(待完成) --- src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/exceptiontype/BaseRTExcWindLevel.kt | 28 ++++++++++++++++++---------- 1 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/exceptiontype/BaseRTExcWindLevel.kt b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/exceptiontype/BaseRTExcWindLevel.kt index b1010a1..f78fd15 100644 --- a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/exceptiontype/BaseRTExcWindLevel.kt +++ b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/exceptiontype/BaseRTExcWindLevel.kt @@ -39,6 +39,7 @@ override fun judgeException(p: BaseRealTimeData?, n: BaseRealTimeData): MutableMap<FactorType, Boolean> { val res = mutableMapOf<FactorType, Boolean>() + println() config.factorFilter.mainList().forEach { f -> if (p?.getByFactorType(f) == null || n.getByFactorType(f) == null || n.windSpeed == null) { res[f] = (false) @@ -48,21 +49,24 @@ val con = windLevelCondition if (n.windSpeed!! in con.windSpeed.first..con.windSpeed.second) { + println("椋庨�燂細${n.windSpeed}锛孾${con.windSpeed.first} - ${con.windSpeed.second}]") val pValue = p.getByFactorType(f)!! val nValue = n.getByFactorType(f)!! // 璁$畻鍚庝竴涓暟鎹浉姣斾簬鍓嶄竴涓暟鎹殑鍙樺寲鐜� val r = (nValue - pValue) / pValue - val b1 = r >= con.mutationRate.first + val b1 = r >= con.mutationRate.first && r < con.mutationRate.second + println("鍥犲瓙锛�${f.des}锛屽箙搴︼細${r}锛岄檺瀹氾細${con.mutationRate.first}锛�${b1}") res[f] = b1 } else { res[f] = false } } + return res } - override fun judgeExceptionCount(tag: ExceptionTag): Boolean { + override fun judgeExceptionCount(tag: ExceptionTag, factorType: FactorType?): Boolean { return tag.exceptionData.size >= windLevelCondition.countLimit } @@ -93,20 +97,24 @@ return b1 || b2 } - override fun immeExcCheck(tag: ExceptionTag): Boolean { + override fun immeExcCheck(tag: ExceptionTag, factorType: FactorType): Boolean { // 寮傚父鍑虹幇绛変簬闄愬畾娆℃暟鏃讹紝灏遍渶瑕佸舰鎴愭薄鏌撶嚎绱� return tag.exceptionData.size == windLevelCondition.countLimit } - override fun newResult( - start: BaseRealTimeData, - end: BaseRealTimeData?, - factor: FactorFilter.SelectedFactor, - exceptionData: List<BaseRealTimeData>, - ): PollutedClue { - return PollutedClue(start, end, factor, exceptionData, getExceptionType(), config, windLevelCondition) + override fun newResult(tag: ExceptionTag, factor: FactorFilter.SelectedFactor): PollutedClue { + return PollutedClue(tag, factor, getExceptionType(), config, windLevelCondition) } +// override fun newResult( +// start: BaseRealTimeData, +// end: BaseRealTimeData?, +// factor: FactorFilter.SelectedFactor, +// exceptionData: List<BaseRealTimeData>, +// ): PollutedClue { +// return PollutedClue(start, end, factor, exceptionData, getExceptionType(), config, windLevelCondition) +// } + override fun onNewException( tag: ExceptionTag, factor: FactorFilter.SelectedFactor, -- Gitblit v1.9.3