1 packagecom.zhs.util;2
3 /**
4 *5 * 计算经纬度、距离、方位角6 *7 *@authorlillian.he8 * @time 2016-06-029 **/
10 public classCalculationLogLatDistance {11 /**
12 * 地球赤道半径(km)13 **/
14 public final static double EARTH_RADIUS = 6378.137;15 /**
16 * 地球每度的弧长(km)17 **/
18 public final static double EARTH_ARC = 111.199;19
20 /**
21 * 转化为弧度(rad)22 **/
23 public static double rad(doubled) {24 return d * Math.PI / 180.0;25 }26
27 /**
28 * 求两经纬度距离29 *30 *@paramlon131 * 第一点的经度32 *@paramlat133 * 第一点的纬度34 *@paramlon235 * 第二点的经度36 *@paramlat237 * 第二点的纬度38 *@return两点距离,单位km39 **/
40 public static double GetDistanceOne(double lon1, double lat1, doublelon2,41 doublelat2) {42 double r1 =rad(lat1);43 double r2 =rad(lon1);44 double a =rad(lat2);45 double b =rad(lon2);46 double s = Math.acos(Math.cos(r1) * Math.cos(a) * Math.cos(r2 -b)47 + Math.sin(r1) *Math.sin(a))48 *EARTH_RADIUS;49 returns;50 }51
52 /**
53 * 求两经纬度距离(google maps源码中)54 *55 *@paramlon156 * 第一点的经度57 *@paramlat158 * 第一点的纬度59 *@paramlon260 * 第二点的经度61 *@paramlat262 * 第二点的纬度63 *@return两点距离,单位km64 **/
65 public static double GetDistanceTwo(double lon1, double lat