From 69b40096cb0ae965f2a3e92672b880edfe7d04d2 Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期六, 27 十二月 2025 21:14:09 +0800
Subject: [PATCH] 优化了登录页面
---
src/zhuye/Coordinate.java | 40 +++++++++++++++++++++-------------------
1 files changed, 21 insertions(+), 19 deletions(-)
diff --git a/src/zhuye/Coordinate.java b/src/zhuye/Coordinate.java
index d15579f..89e789d 100644
--- a/src/zhuye/Coordinate.java
+++ b/src/zhuye/Coordinate.java
@@ -79,15 +79,20 @@
/**
- * 瑙f瀽GNGGA鏁版嵁杩斿洖Coordinate瀵硅薄鍒楄〃锛堝寮虹増锛屽寘鍚珮绋嬫暟鎹級
+ * 瑙f瀽GNGGA/GPGGA/GBGGA鏁版嵁杩斿洖Coordinate瀵硅薄鍒楄〃锛堝寮虹増锛屽寘鍚珮绋嬫暟鎹級
*/
public static void parseGNGGAToCoordinateList(String gnggaData) {
if (!isStartSaveGngga || gnggaData == null || gnggaData.isEmpty()) {
return;
}
- String[] records = gnggaData.split("\\$GNGGA");
+ String cleaned = gnggaData.trim();
+ // 浣跨敤姝e垯鍒嗗壊鏀寔澶氱澶撮儴
+ String[] records = cleaned.split("\\$(GN|GP|GB)GGA");
for (String record : records) {
+ if (record == null || record.trim().isEmpty()) {
+ continue;
+ }
Coordinate coord = parseSingleGnggaRecord(record, false);
if (coord != null) {
coordinates.add(coord);
@@ -108,9 +113,19 @@
return null;
}
- int markerIndex = cleaned.indexOf("$GNGGA");
+ int markerIndex = -1;
+ String[] headers = {"$GNGGA", "$GPGGA", "$GBGGA"};
+
+ // 鎵惧埌鏈�鏃╁嚭鐜扮殑澶撮儴
+ for (String header : headers) {
+ int idx = cleaned.indexOf(header);
+ if (idx >= 0 && (markerIndex == -1 || idx < markerIndex)) {
+ markerIndex = idx;
+ }
+ }
+
String record = markerIndex >= 0
- ? cleaned.substring(markerIndex + "$GNGGA".length())
+ ? cleaned.substring(markerIndex + 6) // 鎵�鏈夊ご閮ㄩ暱搴﹀潎涓�6
: cleaned;
Coordinate coordinate = parseSingleGnggaRecord(record, true);
@@ -153,7 +168,8 @@
return null;
}
- if (fixQuality != 4) {
+ // 淇敼涓哄厑璁搁潪RTK鍥哄畾瑙d篃鑳芥樉绀轰綅缃�(鍙涓嶆槸鏃犳晥瀹氫綅0鍗冲彲)
+ if (fixQuality == 0) {
return null;
}
@@ -260,8 +276,6 @@
String line;
StringBuilder gnggaData = new StringBuilder();
- System.out.println("寮�濮嬭鍙朑NGGA鏂囦欢: " + file.getAbsolutePath());
-
while ((line = reader.readLine()) != null) {
// 娓呯悊鏁版嵁锛氱Щ闄ゅ浣欑殑绌烘牸鍜屾崲琛�
line = line.trim();
@@ -279,18 +293,6 @@
if (gnggaData.length() > 0) {
parseGNGGAToCoordinateList(gnggaData.toString());
loadedCount = coordinates.size();
- System.out.println("鎴愬姛鍔犺浇 " + loadedCount + " 涓潗鏍囩偣");
-
- // 杈撳嚭缁熻淇℃伅
- if (loadedCount > 0) {
- double[] elevationRange = getElevationRange();
- double avgElevation = getAverageElevation();
- System.out.println("娴锋嫈缁熻: 鑼冨洿=" + String.format("%.2f", elevationRange[0]) +
- " - " + String.format("%.2f", elevationRange[1]) + "绫�, 骞冲潎=" +
- String.format("%.2f", avgElevation) + "绫�");
- }
- } else {
- System.out.println("鏂囦欢涓湭鎵惧埌鏈夋晥鐨凣NGGA鏁版嵁");
}
} catch (IOException e) {
--
Gitblit v1.10.0