From 917c4ee8b05e816602aa06f67f2f5447150b242f Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 17 十二月 2025 09:35:50 +0800
Subject: [PATCH] Merge branch 'wuhuyancao' of http://139.186.142.91:10010/r/productDev/dmvisit into wuhuyancao
---
server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java
index 4dc03c7..17a6b87 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java
@@ -157,4 +157,16 @@
return (long) (EARTH_RADIUS * c * 1000);
}
+ public static long calculateDistanceDecinal (BigDecimal lat1, BigDecimal lon1, BigDecimal lat2, BigDecimal lon2) {
+ double dLat = Math.toRadians(Constants.formatBigdecimal(lat2).doubleValue() - Constants.formatBigdecimal(lat1).doubleValue());
+ double dLon = Math.toRadians(Constants.formatBigdecimal(lon2).doubleValue() - Constants.formatBigdecimal(lon1).doubleValue() );
+
+ double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
+ Math.cos(Math.toRadians(Constants.formatBigdecimal(lat1).doubleValue()))
+ * Math.cos(Math.toRadians(Constants.formatBigdecimal(lat2).doubleValue())) *
+ Math.sin(dLon / 2) * Math.sin(dLon / 2);
+ double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
+
+ return (long) (EARTH_RADIUS * c * 1000);
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3