项目需求计算个人距离门店的公里数。
看网上一个是通过第三方依赖,一个是拿经纬度自己算。

在此留存一下工具包

public class LocationUtils {/*** 赤道半径*/private static double EARTH_RADIUS = 6378.137;private static double rad(double d) {return d * Math.PI / 180.0;}/*** Description : 通过经纬度获取距离(单位:米)* Group :** @param origin      出发点* @param destination 目的地* @return double*/public static double getDistance(String origin, String destination) {if (origin == null) {DrpLog.get().error("出发点 经纬度不可以为空!");return 0;}if (destination == null) {DrpLog.get().error("目的地 经纬度不可以为空!");return 0;}String[] temp = origin.split(",");String[] temp2 = destination.split(",");double radLat1 = rad(Double.parseDouble(temp[1]));double radLat2 = rad(Double.parseDouble(temp2[1]));double a = radLat1 - radLat2;double b = rad(Double.parseDouble(temp[0])) - rad(Double.parseDouble(temp2[0]));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 * 100d) / 100d;s = s * 1000;return s;}/*** Description : 通过经纬度获取距离(单位:米)* Group :** @param originLon      出发点经度* @param originLat      出发点纬度* @param destinationLon 目的地经度* @param destinationLat 目的地纬度* @return double*/public static Integer getDistance(String originLon, String originLat, String destinationLon, String destinationLat) {double radLat1 = rad(Double.parseDouble(originLat));double radLat2 = rad(Double.parseDouble(destinationLat));double a = radLat1 - radLat2;double b = rad(Double.parseDouble(originLon)) - rad(Double.parseDouble(destinationLon));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 * 100d) / 100d;s = s * 1000;return new Double(s).intValue();}
}

java 经纬度的距离计算工具包相关推荐

  1. 怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度

    [Google Map]怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度 根据两站点的经纬度求两站点间的距离  /**** 根据两站点的经纬度求两站点间的距离 ****/ d ...

  2. python通过经纬度算出距离_Python中如何利用经纬度进行距离计算

    前些天由于工作中需求,要计算经纬度之间的距离,当我去网上搜索距离计算的方法时,发现很多文章中的方法乍一看都是很不同的,同是进行距离计算,为啥这么不一样呢?后来才发现问题在于很多文章没有进行相关的原理说 ...

  3. html按经纬度查询距离,根据经纬度与距离计算另一个经纬度

    /** * 根据一个经纬度及距离角度,算出另外一个经纬度 * @param {*} lng 经度 113.3960698 * @param {*} lat 纬度 22.941386 * @param ...

  4. 基于MySQL函数实现经纬度的距离计算

    MySQL 创建函数-计算经纬度距离 最近很多新手在实现周边产品或商家没有思路,今天刚好有空,给大空总结一下,在MySQL中如何实现.如有问题可以QQ(610039018) 一.准备 1.1 现有表结 ...

  5. mysql经纬度转距离_Mysql 拿指定经纬度与数据库多条经纬度进行距离计算 (转)

    公式如下,单位米: 第一点经纬度:lng1 lat1 第二点经纬度:lng2 lat2 round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat2* ...

  6. Mysql 拿指定经纬度与数据库多条经纬度进行距离计算

    公式例如以下,单位米: 第一点经纬度:lng1 lat1 第二点经纬度:lng2 lat2 round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat ...

  7. cesium 根据经纬度与距离计算另一个经纬度

    /** * * @param {*} lng 经度 122 * @param {*} lat 纬度 24 * @param {*} brng 方位角 0~360度 * @param {*} dist ...

  8. 基于js利用经纬度进行两地的距离计算

    转自:http://www.storyday.com/html/y2009/2212_according-to-latitude-and-longitude-distance-calculation- ...

  9. oracle 经纬度算距离,根据经纬度诀别用java和Oracle存储过程计算两点距离

    根据经纬度分别用java和Oracle存储过程计算两点距离 create or replace procedure SP_GET_DISTANCE (cx in number,cy in number ...

  10. java根据2个经纬度点,计算这2个经纬度点之间的距离(通过经度纬度得到距离)

    最近做一个项目:需要查询一个站点(已知该站点经纬度)500米范围内的其它站点.所以,我首先想到的是,对每条记录,去进行遍历,跟数据库中的每一个点进行距离计算,当距离小于500米时,认为匹配.这样做确实 ...

最新文章

  1. mysql经典45道题_MySQL45道面试题及答案
  2. 实验研究信标无线电能输出功率的因素
  3. JS判断一个数字是否为小数
  4. sperling指标 matlab,sperling指标计算实验报告
  5. Mongo分片+副本集集群搭建
  6. spring集成redis cluster
  7. 国内外优秀音视频博客索引(持续更新)
  8. 【OpenCv3】 VS C++ (五):SLIC超像素分割算法
  9. LiveReload for mac 软件下载
  10. 各平台安装OpenCV
  11. Spring Boot 接入支付宝,实战来了
  12. 微信小程序-云数据库-嵌套数组的修改删除操作
  13. js和ts两种 将 小写金额转中文大写汉字,阿拉伯数字金额格式化成中文大写汉字,数字金额转换成财务发票大写中文
  14. python cookies是什么_Python获取cookie有什么用
  15. 2022年计算机保研夏令营经验总结,11所院校经历,预推免上岸北大
  16. 【Linux】创建、修改和删除用户(useradd | usermod | userdel)
  17. ellipsize属性
  18. 发现一本自学单片机很好的书,推荐一下 王云51单片机C语言教程
  19. 微服务实战之春云与刀客(四)—— docker swarm 集群实战
  20. 论文中引用github项目

热门文章

  1. java 方法注释_Java注释,java方法注释详解
  2. CSS font-family常见中文字体对应的英文名称
  3. Java的Appium自动化测试教程
  4. VC2012 正则替换
  5. mysql手册02_事务
  6. JavaWeb教程———监听器
  7. atmega328p引脚图_Arduino UNO兼容ATmega328开发板-Seeeduino v4.0,附原理图/PCB/使用说明等...
  8. 小动物领养网站/宠物救助网站
  9. sk hynix 固态硬盘 管理_5GB/s极速狂飙——希捷酷玩FireCuda520 PCIE4.0固态硬盘体验...
  10. 倍福嵌入式控制器PLC各型号介绍