好運物流網(wǎng)-全國領(lǐng)先的物流網(wǎng)   好運物流網(wǎng)-登錄  好運物流網(wǎng)-免費注冊 進(jìn)入我的后臺 首頁(yè) | 發(fā)布信息 | 服務(wù)項目 | 物流百科
物流查詢(xún)|物流公司|中國物流信息網(wǎng)-好運物流網(wǎng)
 
你正在查看的信息:資訊首頁(yè)->資訊頻道->IT編程技術(shù)->正文

java地圖距離計算:java如何實(shí)現地圖兩點(diǎn)之間的距離計算

更新時(shí)間:2022/4/24 9:21    出處:互聯(lián)網(wǎng)
已經(jīng)瀏覽
10237
距離計算方法工具類(lèi):
import java.math.BigDecimal;
 
/**
 * @author lovelyhedong
 * @date 2020年8月21日 22:49:53
 */
public class LngLatUtils {
    // 赤道半徑
    private static final double EARTH_RADIUS = 6378137;
 
    /**
     * 根據經(jīng)緯度獲取兩點(diǎn)的距離(單位米)
     */
    public static Double getDistance(double lng1, double lat1, double lng2, double lat2) {
        double radLat1 = rad(lat1);
        double radLat2 = rad(lat2);
        double a = radLat1 - radLat2;
        double b = rad(lng1) - rad(lng2);
        double s = 2 * Math.asin(Math.sqrt(
                Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
        s = s * EARTH_RADIUS;
        return s;
    }
 
    private static double rad(double d) {
        return d * Math.PI / 180.0;
    }
    /**
     * 根據經(jīng)緯度獲取兩點(diǎn)的距離(單位米)
     */
    public static Double getDistance(BigDecimal lng1, BigDecimal lat1, BigDecimal lng2, BigDecimal lat2) {
        return getDistance(lng1.doubleValue(), lat1.doubleValue(), lng2.doubleValue(), lat2.doubleValue());
    }
 
    /**
     * 根據經(jīng)緯度獲取兩點(diǎn)的距離(單位公里/千米)
     */
    public static Double getKilometer(double lng1, double lat1, double lng2, double lat2) {
        return Math.round(getDistance(lng1, lat1, lng2, lat2)) / 1000d;
    }
 
    /**
     * 根據經(jīng)緯度獲取兩點(diǎn)的距離(單位公里/千米)
     */
    public static Double getKilometer(BigDecimal lng1, BigDecimal lat1, BigDecimal lng2, BigDecimal lat2) {
        return Math.round(getDistance(lng1.doubleValue(), lat1.doubleValue(), lng2.doubleValue(), lat2.doubleValue())) / 1000d;
    }
 
}

導入依賴(lài)包計算方式:

import org.gavaghan.geodesy.Ellipsoid;
import org.gavaghan.geodesy.GeodeticCalculator;
import org.gavaghan.geodesy.GlobalCoordinates;
 
/**
 * 需要的依賴(lài)
 * <dependency>
 *   <groupId>org.gavaghan</groupId>
 *   <artifactId>geodesy</artifactId>
 *   <version>1.1.3</version>
 * </dependency>
 */
public class MapTest {
 
    public static void main(String[] args) {
        //相差25米 大約等于0.024公里
        Double fristLng = 104.02436160776520;//第一個(gè)經(jīng)度
        Double fristLat = 30.75109533912993;//第一個(gè)緯度
        Double secoundLng = 104.02270936701203;//第二個(gè)經(jīng)度
        Double secoundLat = 30.75073113557945;//第二個(gè)緯度
        System.out.println(Math.round(getDistance(fristLng,
                fristLat,
                secoundLng,
                secoundLat)) / 1000d);//這里除以1000,換算成了公里,如果不除以1000就是米數
    }
 
    public static double getDistance(double longitudeFrom, double latitudeFrom, double longitudeTo, double latitudeTo) {
        GlobalCoordinates source = new GlobalCoordinates(latitudeFrom, longitudeFrom);
        GlobalCoordinates target = new GlobalCoordinates(latitudeTo, longitudeTo);
        return new GeodeticCalculator().calculateGeodeticCurve(Ellipsoid.WGS84, source, target).getEllipsoidalDistance();
    }
}

原文鏈接:https://blog.csdn.net/MiaodXindng/article/details/108160926
還可以看看其他文章,謝謝您的閱讀。
網(wǎng)站申明:系本文編輯轉載,來(lái)源于網(wǎng)絡(luò ),目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責,所有權歸屬原作者。如內容、圖片有任何版權問(wèn)題,請聯(lián)系我們刪除。
上一篇:js實(shí)現輸入框TextBox只能輸入數字 下一篇:Linux設置端口訪(fǎng)問(wèn)權限
更多相關(guān)的物流文章
IT編程技術(shù)  互聯(lián)網(wǎng)  2023-10-07  瀏覽:7868次
IT編程技術(shù)  互聯(lián)網(wǎng)  2022-11-24  瀏覽:10962次
IT編程技術(shù)  互聯(lián)網(wǎng)  2022-11-17  瀏覽:11600次
IT編程技術(shù)  互聯(lián)網(wǎng)  2022-11-17  瀏覽:10955次
IT編程技術(shù)  互聯(lián)網(wǎng)  2022-11-14  瀏覽:10944次
IT編程技術(shù)  互聯(lián)網(wǎng)  2022-11-06  瀏覽:11256次
IT編程技術(shù)  互聯(lián)網(wǎng)  2022-11-05  瀏覽:10796次
IT編程技術(shù)  互聯(lián)網(wǎng)  2022-11-05  瀏覽:10455次
IT編程技術(shù)  互聯(lián)網(wǎng)  2022-10-28  瀏覽:12235次
正在被瀏覽的文章
【IT編程技術(shù)】熱點(diǎn)文章
“掃一掃”微信公眾號
好運物流網(wǎng)公眾號二維碼
關(guān)于好運物流網(wǎng) - 聯(lián)系好運網(wǎng) - 物流公司查詢(xún) - 物流知道 - 幫助中心 - 網(wǎng)站地圖
溫馨提示:防范支招 安全警示:貨運合作要有安全意識,需當面核實(shí)對方真實(shí)身份,要簽訂合同/協(xié)議、提供身份證等(防范支招)
免責聲明:本站只起到物流信息平臺作用,內容的準確性以及物流過(guò)程中出現的任何風(fēng)險均由發(fā)布者負責,與平臺無(wú)關(guān)。
好運物流網(wǎng)(haoyun56.com)  備案號:浙ICP備10210792號-4

浙公網(wǎng)安備 33080202000006號

精品无人区乱码1区2区|国产中文字幕乱人伦在线观看|欧美日韩精品一区二区|尹人香蕉久久99天天拍|狠狠色伊人亚洲