From 9a9a27f185bc0cf9dc0001cfc6839e6d13dbccd9 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 08 五月 2025 17:38:30 +0800
Subject: [PATCH] 1. 添加了动态污染溯源相关功能逻辑

---
 src/main/kotlin/com/flightfeather/uav/common/location/TrackSegment.kt |   28 ++++++++--------------------
 1 files changed, 8 insertions(+), 20 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/common/location/TrackSegment.kt b/src/main/kotlin/com/flightfeather/uav/common/location/TrackSegment.kt
index 2b0ed10..6b6c0a4 100644
--- a/src/main/kotlin/com/flightfeather/uav/common/location/TrackSegment.kt
+++ b/src/main/kotlin/com/flightfeather/uav/common/location/TrackSegment.kt
@@ -36,9 +36,6 @@
         val closeList = mutableListOf<BaseRealTimeData>()
         records.add(mutableListOf())
         data.forEachIndexed { i, d ->
-            if (records.size == 23) {
-                println(records.size)
-            }
             var isSame = false
             if (i > 0) {
                 // 鍓嶄竴涓湁鏁堢洃娴嬬偣
@@ -66,28 +63,17 @@
                     }
 
                     if (distance >= MIN_DISTANCE) {
+                        // 涓ょ偣璺濈杈冨ぇ鏃讹紝璁$畻澶硅
                         val deg = CoordinateUtil.getAngle(
                             lastData.longitude!!.toDouble(), lastData.latitude!!.toDouble(),
                             d.longitude!!.toDouble(), d.latitude!!.toDouble(),
                         )
+                        // 璁$畻
                         isSame = if (lastDegList.isNotEmpty()) {
                             var bool = true
 
-
-//                            // 鍑虹幇瑙掑害鎺ヨ繎鍨傜洿鐘舵�佺殑娆℃暟
-//                            var unSameCount = 0
-//                            // 姣旇緝褰撳墠鏂逛綅瑙掑拰涓婁竴缁勬瘡涓柟浣嶈鐨勫樊鍊兼槸鍚﹂兘澶勪簬鑼冨洿鍐�
-//                            for (lastDeg in lastDegList) {
-//                                val diffDeg = abs(deg - lastDeg)
-//                                if (diffDeg in (90.0 - VERTICAL_OFFSET_DEG)..(90.0 + VERTICAL_OFFSET_DEG)
-//                                    || diffDeg in (270.0 - VERTICAL_OFFSET_DEG)..(270.0 + VERTICAL_OFFSET_DEG)
-//                                ) {
-//                                    unSameCount++
-//                                }
-//                            }
-//                            // 褰撴帴杩戝瀭鐩寸殑瑙掑害瓒呰繃涓婁竴缁勫钩琛岃搴︾殑涓�鍗婃椂锛岃涓轰粠璇ョ偣杞ㄨ抗杞集锛堟秷闄や釜鍒潗鏍囩偣鐢变簬瀹氫綅璇樊瀵艰嚧鐨勯敊璇奖鍝嶏級
-//                            bool = unSameCount < (lastDegList.size / 3 + 1)
-
+                            // 灏嗗綋鍓嶅潗鏍囩偣鐨勮搴﹀拰涔嬪墠鎵�鏈夊睘浜庡悓涓�閬撹矾鐨勫潗鏍囩偣鐨勮搴︾殑鍧囧�煎仛姣旇緝锛�
+                            // 瑙e喅褰撹溅杈嗚椹惰建杩逛负寮х嚎鏃讹紙渚嬪绔嬩氦妗ョ殑寮х嚎杞集绛夛級锛屼竴鐩磋鍒ゅ畾涓鸿浆鍚戝箙搴︿笉澶у睘浜庡悓涓�璺鐨勯棶棰�
                             val avgDeg = avgDegree(lastDegList)
                             val diffDeg = abs(deg - avgDeg)
                             if (diffDeg in (90.0 - VERTICAL_OFFSET_DEG)..(90.0 + VERTICAL_OFFSET_DEG)
@@ -104,17 +90,19 @@
                             }
                             bool
                         } else {
-                            // 褰撳潗鏍囩偣褰㈡垚鏈夋晥璺緞鏃讹紝璁板綍涓轰笂涓�涓潗鏍囩偣
+                            // 褰撴病鏈夊巻鍙茶搴︽椂锛岀洿鎺ヤ繚瀛橈紝骞惰涓烘槸鍚屼竴璺
                             lastDegList.add(deg)
                             true
                         }
+                        // 娓呯┖涓婁竴缁勮窛绂绘帴杩戠殑鍧愭爣鐐�
                         closeList.clear()
                     } else {
+                        // 涓ょ偣璺濈鎺ヨ繎鏃讹紝娣诲姞璁板綍
                         closeList.add(d)
                         isSame = true
                     }
                 }
-                // 鍚﹀垯璁や负鍚屼竴璺
+                // 涓ょ偣鍧愭爣涓嶅悎娉曪紝鍒欒涓哄悓涓�璺
                 else {
                     isSame = true
                 }

--
Gitblit v1.9.3