From 594de76ed51fd49fb79b912212bb0052a63e7671 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 09 四月 2026 16:10:45 +0800
Subject: [PATCH] 2026.4.9

---
 src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedArea.kt |   26 +++++++-------------------
 1 files changed, 7 insertions(+), 19 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedArea.kt b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedArea.kt
index f2f469a..df8bd4d 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedArea.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedArea.kt
@@ -3,8 +3,6 @@
 import com.flightfeather.uav.biz.sourcetrace.config.RTExcWindLevelConfig
 import com.flightfeather.uav.common.net.AMapService
 import com.flightfeather.uav.common.utils.MapUtil
-import com.flightfeather.uav.domain.entity.BaseRealTimeData
-import com.flightfeather.uav.domain.entity.avg
 import kotlin.math.PI
 
 /**
@@ -20,15 +18,14 @@
      */
 
     constructor(
-        historyData: List<BaseRealTimeData>,
-        exceptionData: List<BaseRealTimeData>,
+        pollutedData: PollutedData,
         config: RTExcWindLevelConfig,
         windLevelCondition: RTExcWindLevelConfig.WindLevelCondition?,
-    ) : this() {
+    ) : this(){
         distanceType = windLevelCondition?.distanceType
         distanceRange = distanceType?.disRange
         distanceDes = distanceType?.des
-        windLevelCondition?.let { sourceTrace(historyData, exceptionData, config, it) }
+        windLevelCondition?.let { sourceTrace(pollutedData, config, it) }
     }
 
     // 鎵�灞炶闀�
@@ -64,19 +61,13 @@
      * 鍙嶅悜婧簮
      */
     private fun sourceTrace(
-        historyData: List<BaseRealTimeData>,
-        exceptionData: List<BaseRealTimeData>,
+        pollutedData: PollutedData,
         config: RTExcWindLevelConfig,
         windLevelCondition: RTExcWindLevelConfig.WindLevelCondition,
     ) {
-        val avgData = if (exceptionData.size == 1) {
-            exceptionData.first()
-        } else {
-            exceptionData.avg()
-        }
 
+        val avgData = pollutedData.exceptionAvgData()
         val pair = avgData.longitude!!.toDouble() to avgData.latitude!!.toDouble()
-
         polygon = calSector(
             avgData.windDirection?.toDouble() ?: .0,
             pair,
@@ -87,7 +78,7 @@
             MapUtil.wgs84ToGcj02(it)
         }
 
-        closePolygon = closeSourceTrace(historyData, pair).map {
+        closePolygon = closeSourceTrace(pair).map {
             // 灏嗗潗鏍囪浆鎹负gcj02锛堢伀鏄熷潗鏍囩郴锛夛紝鍥犱负姹℃煋婧愬満鏅俊鎭兘涓烘鍧愭爣绯�
             MapUtil.wgs84ToGcj02(it)
         }
@@ -161,10 +152,7 @@
         return result
     }
 
-    private fun closeSourceTrace(
-        historyData: List<BaseRealTimeData>,
-        center: Pair<Double, Double>,
-    ): List<Pair<Double, Double>> {
+    private fun closeSourceTrace(center: Pair<Double, Double>): List<Pair<Double, Double>> {
         val result = mutableListOf<Pair<Double, Double>>()
         var startDeg = 0
         while (startDeg <= 360) {

--
Gitblit v1.9.3