From 913a3b7409e08fd239a65ff7afabefe95b51865a Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期五, 26 十二月 2025 19:44:23 +0800
Subject: [PATCH] 优化了异形有障碍物算法
---
src/udpdell/UDPServer.java | 21 ++++++++++-----------
1 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/src/udpdell/UDPServer.java b/src/udpdell/UDPServer.java
index b59526f..054939e 100644
--- a/src/udpdell/UDPServer.java
+++ b/src/udpdell/UDPServer.java
@@ -6,10 +6,8 @@
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;
-
import gecaoji.Device;
import zhuye.Coordinate;
-
import publicway.Gpstoxuzuobiao;
public class UDPServer {
@@ -78,34 +76,35 @@
String[] fields = message.split(",");
// 妫�鏌ュ瓧娈垫暟閲忔槸鍚﹀畬鏁�
if (fields.length != 21) {
- System.err.println("Invalid message format, expected 21 fields but got " + fields.length);
+ System.err.println("Invalid message format, expected 21 fields but got " + fields.length + ". Message content: [" + message + "]");
return;
}
// 妫�鏌ュ寘澶存槸鍚︽纭�
- if (!fields[0].equals("$GNGGA")) {
+ if (!fields[0].equals("$GNGGA") && !fields[0].equals("$GPGGA") && !fields[0].equals("$GBGGA")) {
System.err.println("Invalid message header: " + fields[0]);
return;
}
int sequence = incrementReceivedPacketCounter();
System.out.println("鏀跺埌浜嗗樊鍒嗘暟鎹�(" + sequence + ")锛�" + message);
-
+
// 浣跨敤Gpstoxuzuobiao澶勭悊骞惰幏鍙朮Y鍧愭爣
double[] xy = Gpstoxuzuobiao.processGNGGAToXY(message);
if (xy != null) {
// 杩欓噷鍙互灏哫Y鍧愭爣浼犻�掔粰鍏朵粬鏂规硶浣跨敤
// System.out.println("UDP GNGGA -> XY: " + xy[0] + ", " + xy[1]);
}
-
+
Coordinate.parseGNGGAToCoordinateList(message);
int count = Coordinate.coordinates.size();
System.out.println("savenum:" + count);
Device.updateFromGNGGA(message, fields[15]);
}
-
- /**澶勭悊涓插彛鎺ユ敹鍒扮殑鏁版嵁*/
+
+ /** 澶勭悊涓插彛鎺ユ敹鍒扮殑鏁版嵁 */
public static void processSerialData(String message) {
+ message=message.replace("GPGGA", "GNGGA");
String[] fields = message.split(",");
// 妫�鏌ュ瓧娈垫暟閲忔槸鍚﹀畬鏁�
if (fields.length < 15) {
@@ -114,20 +113,20 @@
}
// 妫�鏌ュ寘澶存槸鍚︽纭�
- if (!fields[0].equals("$GNGGA")) {
+ if (!fields[0].equals("$GNGGA")&&!fields[0].equals("$GPGGA")&&!fields[0].equals("$GBGGA")) {
System.err.println("Invalid message header: " + fields[0]);
return;
}
int sequence = incrementReceivedPacketCounter();
System.out.println("鏀跺埌浜嗕覆鍙f暟鎹�(" + sequence + ")锛�" + message);
-
+
// 浣跨敤Gpstoxuzuobiao澶勭悊骞惰幏鍙朮Y鍧愭爣
double[] xy = Gpstoxuzuobiao.processGNGGAToXY(message);
if (xy != null) {
// 杩欓噷鍙互灏哫Y鍧愭爣浼犻�掔粰鍏朵粬鏂规硶浣跨敤
// System.out.println("Serial GNGGA -> XY: " + xy[0] + ", " + xy[1]);
}
-
+
Coordinate.dellchuankougngga(message);
int count = Coordinate.coordinates.size();
System.out.println("savenum:" + count);
--
Gitblit v1.10.0