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/zhangaiwu/yulanzhangaiwu.java | 32 ++++++--------------------------
1 files changed, 6 insertions(+), 26 deletions(-)
diff --git a/src/zhangaiwu/yulanzhangaiwu.java b/src/zhangaiwu/yulanzhangaiwu.java
index f9cacf8..14b266a 100644
--- a/src/zhangaiwu/yulanzhangaiwu.java
+++ b/src/zhangaiwu/yulanzhangaiwu.java
@@ -12,6 +12,7 @@
import java.util.List;
import java.util.Locale;
+import javax.swing.JDialog;
import javax.swing.SwingUtilities;
import zhuye.Coordinate;
@@ -20,7 +21,9 @@
/**
* 鍦ㄥ湴鍥句笂瀹炴椂棰勮姝e湪缁樺埗鐨勯殰纰嶇墿銆�
*/
-public final class yulanzhangaiwu {
+import publicway.Gpstoxuzuobiao;
+
+public class yulanzhangaiwu extends JDialog {
private static final Object LOCK = new Object();
private static final double METERS_PER_DEGREE_LAT = 111320.0d;
private static final Color PREVIEW_LINE_COLOR = new Color(0, 123, 255, 200);
@@ -229,34 +232,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 CircleState fitCircle(List<double[]> points) {
--
Gitblit v1.10.0