• Java根据经纬度计算两点之间的距离


    public final class DistanceUtils {
     
        /**
         * 地球半径,单位 km
         */
        private static final double EARTH_RADIUS = 6378.137;
     
        /**
         * 根据经纬度,计算两点间的距离
         *
         * @param longitude1 第一个点的经度
         * @param latitude1  第一个点的纬度
         * @param longitude2 第二个点的经度
         * @param latitude2  第二个点的纬度
         * @return 返回距离 单位千米
         */
        public static double getDistance(double longitude1, double latitude1, double longitude2, double latitude2) {
            // 纬度
            double lat1 = Math.toRadians(latitude1);
            double lat2 = Math.toRadians(latitude2);
            // 经度
            double lng1 = Math.toRadians(longitude1);
            double lng2 = Math.toRadians(longitude2);
            // 纬度之差
            double a = lat1 - lat2;
            // 经度之差
            double b = lng1 - lng2;
            // 计算两点距离的公式
            double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
                    Math.cos(lat1) * Math.cos(lat2) * Math.pow(Math.sin(b / 2), 2)));
            // 弧长乘地球半径, 返回单位: 千米
            s =  s * EARTH_RADIUS;
            return s;
        }
     
        public static void main(String[] args) {
            double d = getDistance(116.308479, 39.983171, 116.353454, 39.996059);
            System.out.println(d);
        }
    }
  • 相关阅读:
    关于shell输出的一些问题
    python一些问题
    excel
    梁先生家书摘录
    使用conda安装requirement.txt指定的依赖包
    Matplotlib 的默认颜色 以及 使用调色盘调整颜色
    各种 Shell 的使用
    将实验数据保存到txt文件中
    机器学习-学习资源
    Gvim 的使用
  • 原文地址:https://www.cnblogs.com/xiaofengfree/p/14024588.html
Copyright © 2020-2023  润新知