From 48ee74129bb09a817a0bbbabe860c4007b74c66b Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期日, 21 十二月 2025 12:37:44 +0800
Subject: [PATCH] 新增了往返路径

---
 src/dikuai/addzhangaiwu.java |   31 +++++--------------------------
 1 files changed, 5 insertions(+), 26 deletions(-)

diff --git a/src/dikuai/addzhangaiwu.java b/src/dikuai/addzhangaiwu.java
index 662c5c1..1fa7376 100644
--- a/src/dikuai/addzhangaiwu.java
+++ b/src/dikuai/addzhangaiwu.java
@@ -46,6 +46,7 @@
 
 import baseStation.BaseStation;
 import gecaoji.Device;
+import publicway.buttonset;
 import set.Setsys;
 import ui.UIConfig;
 import zhuye.Coordinate;
@@ -54,13 +55,14 @@
 import zhangaiwu.AddDikuai;
 import zhangaiwu.Obstacledge;
 import zhangaiwu.yulanzhangaiwu;
-import zhuye.buttonset;
 import bianjie.bianjieguihua2;
 import bianjie.ThreePointCircle;
 
 /**
  * 闅滅鐗╂柊澧�/缂栬緫瀵硅瘽妗嗐�傝璁¤瑷�鍙傝�� {@link AddDikuai}锛屾敮鎸侀�氳繃瀹炲湴缁樺埗閲囬泦闅滅鐗╁潗鏍囥��
  */
+import publicway.Gpstoxuzuobiao;
+
 public class addzhangaiwu extends JDialog {
     private static final long serialVersionUID = 1L;
     private static final double METERS_PER_DEGREE_LAT = 111320.0d;
@@ -1217,34 +1219,11 @@
     }
 
     private static double parseDMToDecimal(String dmm, String direction) {
-        if (dmm == null || dmm.trim().isEmpty()) {
-            return Double.NaN;
-        }
-        try {
-            String trimmed = dmm.trim();
-            int dotIndex = trimmed.indexOf('.');
-            if (dotIndex < 2) {
-                return Double.NaN;
-            }
-            int degrees = Integer.parseInt(trimmed.substring(0, dotIndex - 2));
-            double minutes = Double.parseDouble(trimmed.substring(dotIndex - 2));
-            double decimal = degrees + minutes / 60.0;
-            if ("S".equalsIgnoreCase(direction) || "W".equalsIgnoreCase(direction)) {
-                decimal = -decimal;
-            }
-            return decimal;
-        } catch (NumberFormatException ex) {
-            return Double.NaN;
-        }
+        return Gpstoxuzuobiao.parseDMToDecimal(dmm, direction);
     }
 
     private static double[] convertLatLonToLocal(double lat, double lon, double baseLat, double baseLon) {
-        double deltaLat = lat - baseLat;
-        double deltaLon = lon - baseLon;
-        double meanLatRad = Math.toRadians((baseLat + lat) / 2.0);
-        double eastMeters = deltaLon * METERS_PER_DEGREE_LAT * Math.cos(meanLatRad);
-        double northMeters = deltaLat * METERS_PER_DEGREE_LAT;
-        return new double[]{eastMeters, northMeters};
+        return Gpstoxuzuobiao.convertLatLonToLocal(lat, lon, baseLat, baseLon);
     }
 
     private static CircleFitResult fitCircleFromPoints(List<double[]> points) {

--
Gitblit v1.10.0