Java计算两个经纬度间的距离
开发中经常会遇到计算两个点(经纬度)之间的距离或者计算最近门店的场景,下面简单实现一下如何计算两个经纬度之间相隔的距离。
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计算两个经纬度间的距离相关推荐
- java计算两个经纬度之间的距离
前一阵项目中,有一个需求:是查找附近的人,其实就是查询某个距离内有多少用户.实现方式还是比较简单的,之前使用GeodeticCalculator计算经纬度误差在高德上与腾讯有点偏差,首先用户在APP上 ...
- Java - 计算两个经纬度之间的直线距离
Java - 计算两个经纬度之间的直线距离 代码Github地址 https://github.com/FrankZuozuo/JavaSpecial 1.点接口 public interface P ...
- hive 计算两个经纬度之间的距离
select 6378137*2*ASIN(SQRT(POWER(SIN((lat1-lat2)*ACOS(-1)/360),2) + COS(lat1*ACOS(-1)/180)*COS(lat2* ...
- 高德经纬度距离计算php,计算两个经纬度之间的距离 单位(m)
/** * 计算两个经纬度之间的距离 单位(m) * * @param lat1 * @param lng1 * @param lat2 * @param lng2 * @return */ publ ...
- c#语言+计算两个位置的距离,C#计算两个经纬度之间的距离
最近在项目中有一个功能需要计算两个经纬度之间的距离,在网上找了很多,也试了很多,下面的计算方法得出的结果是精度是最高,希望对大家有所帮助. private const double EARTH_RAD ...
- php经纬度之间的距离计算公式,php计算两个经纬度地点之间距离的方法分享
用php计算两个指定的经纬度地点之间的距离,代码: /** *求两个已知经纬度之间的距离,单位为米 *@param lng1,lng2 经度 *@param lat1,lat2 纬度 *@return ...
- 怎么计算两个经纬度之间的距离
1. 用经纬度大致计算距离地球赤道上环绕地球一周走一圈共 40075.04公里 而一圈分成360° 而每1°(度)有60' 每一度一秒在赤道上的长度计算如下: 40075.04km/360°=111. ...
- js计算两个经纬度之间的距离
function getRad(d){ var PI = Math.PI; return d*PI/180.0; }/*** 获取两个经纬度之间的距离* @param lat1 第一点的纬度* @pa ...
- js计算两个经纬度点之间距离
问题 已知两个经纬度点,求两点之间距离 代码 // 计算两点之间直线距离 const algorithm = (point1, point2)=> {let [x1, y1] = point1; ...
最新文章
- 关于R和Python的安全机制
- C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码
- 5门可能衰落的编程语言
- 从mysql向HBase+Phoenix迁移数据的心得总结
- 《深入理解Spark:核心思想与源码分析》——SparkContext的初始化(叔篇)——TaskScheduler的启动...
- 彪悍榴莲姐再袭 这次一口气吃掉10斤
- 干什么事都要有风险和提早意识
- Servlet和Tomcat底层分析
- 微信小程序授权登录源码
- Separating Axis Theorem(SAT)
- linux运维工作内容及岗位要求
- ipad可以安装python的编辑器_ipad配置python步骤
- uniapp中如何使用微信SDK
- python 定义一个迭代器去生成偶数数列
- 重启c语言-找出总分最高的学生
- 警告: 检测到依赖关系环:_软件设计:依赖关系
- 【微服务|Sentinel】实时监控|RT|吞吐量|并发数|QPS
- 大家都怎么评价自己的研究生导师?
- 内网安装视频会议软件有几个步骤?
- 【Python】绘制Barball杠铃图及导出其边信息和节点标签
热门文章
- 微信小程序遇到的程序异步执行导致数据库读写异常的问题
- 吴恩达机器学习(八)偏差与方差
- Python爬虫十六式 - 第三式:Requests的用法
- 【十三】Jmeter:“CSV 数据文件设置”参数化请求中出现带有逗号的参数值
- 查看数值类型python_python里怎么查看数据类型
- python 线性拟合 图_python线性拟合
- Nginx部署前后端分离项目,配置SSL证书,结果刷新报500异常
- 如何将tomcat默认页面换成项目首页?
- 在Tomcat 与weblogic 中的 日志(log4j) 配置系列一
- window下批处理:打开命令窗口且执行后不关闭