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