From 0400e752e3021606012eb08992fc13216edfb377 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 20 十一月 2025 18:05:11 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/core/tsp/DistanceCalculator.java | 32 ++++++++++++++++++++++++++++----
1 files changed, 28 insertions(+), 4 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 2c440ea..054a7e0 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
@@ -22,10 +22,22 @@
public static void main(String[] args) {
//118.363428,31.326485
//118.363312,31.326638
- System.out.println(calculateDistance(39.326638d,116.363312d,31.326606,118.363272));
+ JkCustomer start = new JkCustomer();
+ start.setId(-1);
+ start.setLongitude(new BigDecimal(118.39));
+ start.setLatitude(new BigDecimal(31.28));
+
+
+ JkCustomer c = new JkCustomer();
+ c.setId(-2);
+ c.setLongitude(new BigDecimal(118.328593));
+ c.setLatitude(new BigDecimal(30.914289));
+ String url="https://restapi.amap.com/v3/direction/driving?origin=${long1},${lat1}&destination=${long2},${lat2}&extensions=basel&key=248ee35dcdfe3f399ffaf12ac4299eca";
+ DistanceCustomerModel dm = DistanceCalculator.calculateDistanceGaode(url,start,c);
+ System.out.println(dm.getDistance());
}
- public static DistanceCustomerModel calculateDistanceGaode(String urlStr, JkCustomer c1, JkCustomer c2) {
+ public static DistanceCustomerModel calculateDistanceGaode(String urlStr, JkCustomer c1, JkCustomer c2) {
DistanceCustomerModel r =new DistanceCustomerModel();
r.setStart(c1);
r.setEnd(c2);
@@ -67,10 +79,10 @@
r.setCode(1);
log.error("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�==============");
}else{
- log.error("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�=====澶辫触锛侊紒=========");
+ log.error("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�=====澶辫触锛侊紒========="+c1.getName()+"==="+c2.getName()+result);
}
}catch (Exception e){
- log.error("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�=====澶辫触==========");
+ log.error("鑾峰彇浜ら�氳鍒掔嚎璺俊鎭垚鍔�=====澶辫触=========="+c1.getName()+"==="+c2.getName());
}
return r ;
@@ -145,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 );
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3