JAVA基础(31) Java代码计算两个经纬度之间的距离

来源:互联网 发布:淘宝云客服在线投诉网 编辑:程序博客网 时间:2024/06/08 11:30

直接源码观看,不多解释!

public class DisTance {     private static final double EARTH_RADIUS = 6378137;     private static double rad(double d) {    return d * Math.PI / 180.0;   }      /**   * 根据两点间经纬度坐标(double值),计算两点间距离,单位为米   *   * @param lng1   * @param lat1   * @param lng2   * @param lat2   * @return   */   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;    s = Math.round(s * 10000) / 10000;    return s;   }     /** */   /**   * @param args   */   public static void main(String[] args) {    // TODO 自动生成方法存根    double distance = GetDistance(116.30470275878906,39.96080665909224, 116.30950927734375,      39.942910023503146 );    System.out.println("Distance is:" + distance);   }    } 


0 0
原创粉丝点击