package com.haohui.util;
/**
* 计算两个经纬度之间的距离的工具类
*
* Feb 13, 2014
* @author ZhihaoChen
*/
public class LatLng {
private static double lngPerMeter = 1.E-005D;
public double getLat(double _curLat, int _radius) {
return _radius * lngPerMeter;
}
public double getLng(int _radius) {
return _radius * lngPerMeter;
}
/**
* 计算两个经纬度之间的距离
*
* @param _lng1
* @param _lat1
* @param _lng2
* @param _lat2
* @return
*/
public static double distance(double _lng1, double _lat1, double _lng2,
double _lat2) {
if ((_lng1 == 0.0D) || (_lat1 == 0.0D) || (_lng2 == 0.0D)
|| (_lat2 == 0.0D)) {
return 0.0D;
}
double rad_lat1 = Rad(_lat1);
double rad_lat2 = Rad(_lat2);
double a = rad_lat1 - rad_lat2;
double b = Rad(_lng1) - Rad(_lng2);
double s = 2.0D * Math.asin(Math.sqrt(Math
.pow(Math.sin(a / 2.0D), 2.0D)
+ Math.cos(rad_lat1)
* Math.cos(rad_lat2)
* Math.pow(Math.sin(b / 2.0D), 2.0D)));
s *= 6378137.0D;
s = Math.round(s * 10000.0D) / 10000L;
return s;
}
private static double Rad(double _d) {
return _d * 3.141592653589793D / 180.0D;
}
}
最近下载更多
最近浏览更多
123456dswhdm LV2
2022年9月1日
super_he LV17
2022年5月13日
dasen2022 LV6
2022年4月27日
jdndbh LV6
2021年12月10日
newbag LV9
2021年8月9日
HelloWorld088
2021年4月19日
暂无贡献等级
Killah LV9
2021年4月16日
1470299983
2021年2月13日
暂无贡献等级
小五12345 LV13
2021年1月4日
JoeJie LV6
2020年9月4日

