Java編程獲取經(jīng)緯度之間距離的方法
更新時間:2015年11月05日 14:44:38 作者:awj3584
這篇文章主要介紹了Java編程獲取經(jīng)緯度之間距離的方法,涉及Java數(shù)學運算的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了Java編程獲取經(jīng)緯度之間距離的方法。分享給大家供大家參考,具體如下:
public class GeoUtil {
/**
* 根據(jù)經(jīng)緯度和距離返回一個矩形范圍
*
* @param lng
* 經(jīng)度
* @param lat
* 緯度
* @param distance
* 距離(單位為米)
* @return [lng1,lat1, lng2,lat2] 矩形的左下角(lng1,lat1)和右上角(lng2,lat2)
*/
public static double[] getRectangle(double lng, double lat, long distance) {
float delta = 111000;
if (lng != 0 && lat != 0) {
double lng1 = lng - distance
/ Math.abs(Math.cos(Math.toRadians(lat)) * delta);
double lng2 = lng + distance
/ Math.abs(Math.cos(Math.toRadians(lat)) * delta);
double lat1 = lat - (distance / delta);
double lat2 = lat + (distance / delta);
return new double[] { lng1, lat1, lng2, lat2 };
} else {
// TODO ZHCH 等于0時的計算公式
double lng1 = lng - distance / delta;
double lng2 = lng + distance / delta;
double lat1 = lat - (distance / delta);
double lat2 = lat + (distance / delta);
return new double[] { lng1, lat1, lng2, lat2 };
}
}
/**
* 得到兩點間的距離 米
*
* @param lat1
* @param lng1
* @param lat2
* @param lng2
* @return
*/
public static double getDistanceOfMeter(double lat1, double lng1,
double lat2, double lng2) {
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;
s = Math.round(s * 10000) / 10;
return s;
}
private static double rad(double d) {
return d * Math.PI / 180.0;
}
/**
* 地球半徑:6378.137KM
*/
private static double EARTH_RADIUS = 6378.137;
}
希望本文所述對大家Java程序設計有所幫助。
您可能感興趣的文章:
相關文章
Java那點事——StringBuffer與StringBuilder原理與區(qū)別
本文給大家分享StringBuffer與StringBuilder的區(qū)別,它們的應用場景是什么?非常不錯,面試考官經(jīng)??嫉囊粋€問題,有需要的朋友跟著腳本之家小編一起學習吧2016-06-06
Win10系統(tǒng)下配置java環(huán)境變量的全過程
這篇文章主要給大家介紹了關于Win10系統(tǒng)下配置java環(huán)境變量的相關資料,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11
java普通項目讀取不到resources目錄下資源文件的解決辦法
這篇文章主要給大家介紹了關于java普通項目讀取不到resources目錄下資源文件的解決辦法,Web項目中應該經(jīng)常有這樣的需求,在maven項目的resources目錄下放一些文件,比如一些配置文件,資源文件等,需要的朋友可以參考下2023-09-09

