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

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

<dependency><groupId>org.gavaghan</groupId><artifactId>geodesy</artifactId><version>1.1.3</version>
</dependency>

2、实现计算

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坐标系的计算结果存在几十米的误差。不同的坐标系精度不同,计算结果不一样。大家根据实际情况自己选择。

Java计算两个经纬度间的距离相关推荐

  1. java计算两个经纬度之间的距离

    前一阵项目中,有一个需求:是查找附近的人,其实就是查询某个距离内有多少用户.实现方式还是比较简单的,之前使用GeodeticCalculator计算经纬度误差在高德上与腾讯有点偏差,首先用户在APP上 ...

  2. Java - 计算两个经纬度之间的直线距离

    Java - 计算两个经纬度之间的直线距离 代码Github地址 https://github.com/FrankZuozuo/JavaSpecial 1.点接口 public interface P ...

  3. hive 计算两个经纬度之间的距离

    select 6378137*2*ASIN(SQRT(POWER(SIN((lat1-lat2)*ACOS(-1)/360),2) + COS(lat1*ACOS(-1)/180)*COS(lat2* ...

  4. 高德经纬度距离计算php,计算两个经纬度之间的距离 单位(m)

    /** * 计算两个经纬度之间的距离 单位(m) * * @param lat1 * @param lng1 * @param lat2 * @param lng2 * @return */ publ ...

  5. c#语言+计算两个位置的距离,C#计算两个经纬度之间的距离

    最近在项目中有一个功能需要计算两个经纬度之间的距离,在网上找了很多,也试了很多,下面的计算方法得出的结果是精度是最高,希望对大家有所帮助. private const double EARTH_RAD ...

  6. php经纬度之间的距离计算公式,php计算两个经纬度地点之间距离的方法分享

    用php计算两个指定的经纬度地点之间的距离,代码: /** *求两个已知经纬度之间的距离,单位为米 *@param lng1,lng2 经度 *@param lat1,lat2 纬度 *@return ...

  7. 怎么计算两个经纬度之间的距离

    1. 用经纬度大致计算距离地球赤道上环绕地球一周走一圈共 40075.04公里 而一圈分成360° 而每1°(度)有60' 每一度一秒在赤道上的长度计算如下: 40075.04km/360°=111. ...

  8. js计算两个经纬度之间的距离

    function getRad(d){ var PI = Math.PI; return d*PI/180.0; }/*** 获取两个经纬度之间的距离* @param lat1 第一点的纬度* @pa ...

  9. js计算两个经纬度点之间距离

    问题 已知两个经纬度点,求两点之间距离 代码 // 计算两点之间直线距离 const algorithm = (point1, point2)=> {let [x1, y1] = point1; ...

最新文章

  1. 关于R和Python的安全机制
  2. C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码
  3. 5门可能衰落的编程语言
  4. 从mysql向HBase+Phoenix迁移数据的心得总结
  5. 《深入理解Spark:核心思想与源码分析》——SparkContext的初始化(叔篇)——TaskScheduler的启动...
  6. 彪悍榴莲姐再袭 这次一口气吃掉10斤
  7. 干什么事都要有风险和提早意识
  8. Servlet和Tomcat底层分析
  9. 微信小程序授权登录源码
  10. Separating Axis Theorem(SAT)
  11. linux运维工作内容及岗位要求
  12. ipad可以安装python的编辑器_ipad配置python步骤
  13. uniapp中如何使用微信SDK
  14. python 定义一个迭代器去生成偶数数列
  15. 重启c语言-找出总分最高的学生
  16. 警告: 检测到依赖关系环:_软件设计:依赖关系
  17. 【微服务|Sentinel】实时监控|RT|吞吐量|并发数|QPS
  18. 大家都怎么评价自己的研究生导师?
  19. 内网安装视频会议软件有几个步骤?
  20. 【Python】绘制Barball杠铃图及导出其边信息和节点标签

热门文章

  1. 微信小程序遇到的程序异步执行导致数据库读写异常的问题
  2. 吴恩达机器学习(八)偏差与方差
  3. Python爬虫十六式 - 第三式:Requests的用法
  4. 【十三】Jmeter:“CSV 数据文件设置”参数化请求中出现带有逗号的参数值
  5. 查看数值类型python_python里怎么查看数据类型
  6. python 线性拟合 图_python线性拟合
  7. Nginx部署前后端分离项目,配置SSL证书,结果刷新报500异常
  8. 如何将tomcat默认页面换成项目首页?
  9. 在Tomcat 与weblogic 中的 日志(log4j) 配置系列一
  10. window下批处理:打开命令窗口且执行后不关闭