一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java實現(xiàn)計算地理坐標(biāo)之間的距離

java實現(xiàn)計算地理坐標(biāo)之間的距離

2019-12-12 15:08hebedich JAVA教程

java實現(xiàn)計算地理坐標(biāo)之間的距離,主要是通過計算兩經(jīng)緯度點之間的距離來實現(xiàn),有需要的小伙伴參考下吧

java實現(xiàn)計算兩經(jīng)緯度點之間的距離,直接上代碼,具體解釋請參考注釋

 

復(fù)制代碼代碼如下:

package com.jttx.poi.utils;
import com.jttx.poi.entity.Point;
/**
 * Created by louis on 2014/9/2.
 */
public class GeoUtils {
    /**
     * 計算兩經(jīng)緯度點之間的距離(單位:米)
     * @param lng1  經(jīng)度
     * @param lat1  緯度
     * @param lng2
     * @param lat2
     * @return
     */
    public static double getDistance(double lng1,double lat1,double lng2,double lat2){
        double radLat1 = Math.toRadians(lat1);
        double radLat2 = Math.toRadians(lat2);
        double a = radLat1 - radLat2;
        double b = Math.toRadians(lng1) - Math.toRadians(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 * 6378137.0;// 取WGS84標(biāo)準(zhǔn)參考橢球中的地球長半徑(單位:m)
        s = Math.round(s * 10000) / 10000;
        return s;
    }
    /**
     * 計算TP值
     * @param curPoint      當(dāng)前點
     * @param relatedPoint  偏移點
     * @param isGeography   是否是地理坐標(biāo) false為2d坐標(biāo)
     * @return              tp值
     */
    public static double getDirAngle(Point curPoint,Point relatedPoint,boolean isGeography){
        double result = 0;
        if(isGeography){
            double y2 = Math.toRadians(relatedPoint.getLat());
            double y1 = Math.toRadians(curPoint.getLat());
            double alpha = Math.atan2(relatedPoint.getLat() - curPoint.getLat(), (relatedPoint.getLng() - curPoint.getLng()) * Math.cos((y2 - y1) / 2));//緯度方向乘以cos(y2-y1/2)
            double delta =alpha<0?(2*Math.PI+alpha):alpha;
            result = Math.toDegrees(delta);
        }else {
            double alpha = Math.atan2(relatedPoint.getLat() - curPoint.getLat(), relatedPoint.getLng() - curPoint.getLng());
            double delta=alpha<0?(2*Math.PI+alpha):alpha;
            result = Math.toDegrees(delta);
        }
        return result;
    }
    public static void main(String[] args) {
        System.out.println(getDistance(121.446014,31.215937,121.446028464238,31.2158502442799  ));
    }
}

 

以上就是本文的全部內(nèi)容了,希望大家能夠喜歡。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: heyzo在线观看 | 四虎永久在线精品波多野结衣 | 交换朋友夫妇3中文字幕 | 黑人巨大vs北条麻妃在线 | 精品视频免费 | 爆操美女在线观看 | 天天做天天爱天天爽综合区 | 色在线亚洲视频www 色欲麻豆国产福利精品 | 色中文网| 无人在线高清免费看 | www.青青草原 | 亚洲第一区se | 国产99久久九九精品免费 | 日韩精品亚洲一级在线观看 | 玩两个少妇女邻居 | 五月天色网站 | naruto hentai玖辛奈 | hd在线观看免费高清视频 | rylskyart系列视频| 风间由美在线 | 美女口述又粗又大感觉 | 欧美亚洲一区二区三区 | 午夜精品国产 | 俄罗斯伦理片 | 爱情岛永久成人免费网站 | 天堂中文在线观看 | 精品国产一区二区三区久久久蜜臀 | 亚洲精品一区波多野结衣 | 亚洲伦理视频 | 色老板在线播放 | 国产精品久久久久久久久99热 | 日韩在线毛片 | 免费国产在线视频 | 香蕉精品国产高清自在自线 | 欧美bbxx| 久久久久久久99精品免费观看 | 小莹的性荡生活45章 | 欧美一区二区三区久久久 | 精品无码人妻一区二区免费AV | jizz 日本亚洲 | 久久久久琪琪精品色 |