• Java计算两个经纬度间的距离最简单的方式


     

    开发中经常会遇到计算两个点(经纬度)之间的距离或者计算最近门店的场景,下面简单实现一下如何计算两个经纬度之间相隔的距离。

    1、导入geodesy的maven依赖 或者到阿里云maven仓库下载jar包

    1
    2
    3
    4
    5
    <dependency>
      <groupId>org.gavaghan</groupId>
      <artifactId>geodesy</artifactId>
      <version>1.1.3</version>
    </dependency>

      

    2、实现计算

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    package com.test.gps;
     
    import org.gavaghan.geodesy.Ellipsoid;
    import org.gavaghan.geodesy.GeodeticCalculator;
    import org.gavaghan.geodesy.GeodeticCurve;
    import org.gavaghan.geodesy.GlobalCoordinates;
     
    public class CaculateDistanceTest
    {
        public static void main(String[] args)
        {
            GlobalCoordinates source = new GlobalCoordinates(29.490295, 106.486654);
            GlobalCoordinates target = new GlobalCoordinates(29.615467, 106.581515);
     
            double meter1 = getDistanceMeter(source, target, Ellipsoid.Sphere);
            double meter2 = getDistanceMeter(source, target, Ellipsoid.WGS84);
     
            System.out.println("Sphere坐标系计算结果:"+meter1 + "米");
            System.out.println("WGS84坐标系计算结果:"+meter2 + "米");
        }
     
        public static double getDistanceMeter(GlobalCoordinates gpsFrom, GlobalCoordinates gpsTo, Ellipsoid ellipsoid)
        {
            //创建GeodeticCalculator,调用计算方法,传入坐标系、经纬度用于计算距离
            GeodeticCurve geoCurve = new GeodeticCalculator().calculateGeodeticCurve(ellipsoid, gpsFrom, gpsTo);
     
            return geoCurve.getEllipsoidalDistance();
        }
    }

      

    3、输出结果:


    对比百度地图,计算结果和Sphere坐标系计算结果一致,表明计算结果正确,WGS84坐标系的计算结果存在几十米的误差。不同的坐标系精度不同,计算结果不一样。大家根据实际情况自己选择。

    声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/ 如出现转载未声明 将追究法律责任~谢谢合作
  • 相关阅读:
    .bat文件打开指定网页,并运行jar包
    jar包制作一个可执行文件
    如何让局域网其他电脑通过IP直接访问自己电脑的网站
    Sypder 安装和使用
    tomcat服务器输入localhost可以访问,ip无法访问解决办法
    【转载】高性能网站建设
    网站优化
    JavaWeb 项目开发中的技术总结
    反射工具类——ReflectUtils
    Ajax 的缺点
  • 原文地址:https://www.cnblogs.com/xiondun/p/15379253.html
Copyright © 2020-2023  润新知