Java 经纬度计算两个点的之间的距离

简介: Java 经纬度计算两个点的之间的距离
package tag;
public class LocationUtils {
  private static double EARTH_RADIUS = 6378.137;
  private static double rad(double d) {
    return d * Math.PI / 180.0;
  }
  /**
   * 通过经纬度获取距离(单位:米)
   * 
   * @param lat1
   * @param lng1
   * @param lat2
   * @param lng2
   * @return 距离
   */
  public static double getDistance(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 * 10000d) / 10000d;
    s = s * 1000;
    return s;
  }
  public static void main(String[] args) {
    double distance = getDistance(34.2675560000, 108.9534750000,
        34.2464320000, 108.9534750000);
    System.out.println("距离" + distance / 1000 + "公里");
  }
}
目录
相关文章
|
2月前
|
搜索推荐 Java 大数据
Java中的数据流处理与流式计算实现
Java中的数据流处理与流式计算实现
|
2月前
|
并行计算 Java 大数据
Java中的高效并行计算与多线程编程技术
Java中的高效并行计算与多线程编程技术
|
3月前
|
Java API
探讨Java集合的组内平均值计算
探讨Java集合的组内平均值计算
22 1
|
2月前
|
并行计算 监控 Java
Java中的并行计算与任务分发策略
Java中的并行计算与任务分发策略
|
2月前
|
并行计算 Java 大数据
Java中的高效并行计算与多线程编程技术
Java中的高效并行计算与多线程编程技术
|
3月前
|
Java 容器
中缀表达式计算(java)
中缀表达式计算(java)
|
3月前
|
Java
java8日期计算(偏移N周,返回指定星期的日期)
java8日期计算(偏移N周,返回指定星期的日期)
|
3月前
|
Java
使用java编写小学三年级竖式计算
使用java编写小学三年级竖式计算
|
3月前
|
Java
使用java计算一个字符串中字母出现的次数
使用java计算一个字符串中字母出现的次数
|
3月前
|
前端开发 JavaScript Java
计算Java项目|基于SpringBoot的协力服装厂服装生产管理系统的设计与实现
计算Java项目|基于SpringBoot的协力服装厂服装生产管理系统的设计与实现