java 经纬度的距离计算工具包
项目需求计算个人距离门店的公里数。
看网上一个是通过第三方依赖,一个是拿经纬度自己算。
在此留存一下工具包
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 经纬度的距离计算工具包相关推荐
- 怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度
[Google Map]怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度 根据两站点的经纬度求两站点间的距离 /**** 根据两站点的经纬度求两站点间的距离 ****/ d ...
- python通过经纬度算出距离_Python中如何利用经纬度进行距离计算
前些天由于工作中需求,要计算经纬度之间的距离,当我去网上搜索距离计算的方法时,发现很多文章中的方法乍一看都是很不同的,同是进行距离计算,为啥这么不一样呢?后来才发现问题在于很多文章没有进行相关的原理说 ...
- html按经纬度查询距离,根据经纬度与距离计算另一个经纬度
/** * 根据一个经纬度及距离角度,算出另外一个经纬度 * @param {*} lng 经度 113.3960698 * @param {*} lat 纬度 22.941386 * @param ...
- 基于MySQL函数实现经纬度的距离计算
MySQL 创建函数-计算经纬度距离 最近很多新手在实现周边产品或商家没有思路,今天刚好有空,给大空总结一下,在MySQL中如何实现.如有问题可以QQ(610039018) 一.准备 1.1 现有表结 ...
- mysql经纬度转距离_Mysql 拿指定经纬度与数据库多条经纬度进行距离计算 (转)
公式如下,单位米: 第一点经纬度:lng1 lat1 第二点经纬度:lng2 lat2 round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat2* ...
- Mysql 拿指定经纬度与数据库多条经纬度进行距离计算
公式例如以下,单位米: 第一点经纬度:lng1 lat1 第二点经纬度:lng2 lat2 round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat ...
- cesium 根据经纬度与距离计算另一个经纬度
/** * * @param {*} lng 经度 122 * @param {*} lat 纬度 24 * @param {*} brng 方位角 0~360度 * @param {*} dist ...
- 基于js利用经纬度进行两地的距离计算
转自:http://www.storyday.com/html/y2009/2212_according-to-latitude-and-longitude-distance-calculation- ...
- oracle 经纬度算距离,根据经纬度诀别用java和Oracle存储过程计算两点距离
根据经纬度分别用java和Oracle存储过程计算两点距离 create or replace procedure SP_GET_DISTANCE (cx in number,cy in number ...
- java根据2个经纬度点,计算这2个经纬度点之间的距离(通过经度纬度得到距离)
最近做一个项目:需要查询一个站点(已知该站点经纬度)500米范围内的其它站点.所以,我首先想到的是,对每条记录,去进行遍历,跟数据库中的每一个点进行距离计算,当距离小于500米时,认为匹配.这样做确实 ...
最新文章
- mysql经典45道题_MySQL45道面试题及答案
- 实验研究信标无线电能输出功率的因素
- JS判断一个数字是否为小数
- sperling指标 matlab,sperling指标计算实验报告
- Mongo分片+副本集集群搭建
- spring集成redis cluster
- 国内外优秀音视频博客索引(持续更新)
- 【OpenCv3】 VS C++ (五):SLIC超像素分割算法
- LiveReload for mac 软件下载
- 各平台安装OpenCV
- Spring Boot 接入支付宝,实战来了
- 微信小程序-云数据库-嵌套数组的修改删除操作
- js和ts两种 将 小写金额转中文大写汉字,阿拉伯数字金额格式化成中文大写汉字,数字金额转换成财务发票大写中文
- python cookies是什么_Python获取cookie有什么用
- 2022年计算机保研夏令营经验总结,11所院校经历,预推免上岸北大
- 【Linux】创建、修改和删除用户(useradd | usermod | userdel)
- ellipsize属性
- 发现一本自学单片机很好的书,推荐一下 王云51单片机C语言教程
- 微服务实战之春云与刀客(四)—— docker swarm 集群实战
- 论文中引用github项目
热门文章
- java 方法注释_Java注释,java方法注释详解
- CSS font-family常见中文字体对应的英文名称
- Java的Appium自动化测试教程
- VC2012 正则替换
- mysql手册02_事务
- JavaWeb教程———监听器
- atmega328p引脚图_Arduino UNO兼容ATmega328开发板-Seeeduino v4.0,附原理图/PCB/使用说明等...
- 小动物领养网站/宠物救助网站
- sk hynix 固态硬盘 管理_5GB/s极速狂飙——希捷酷玩FireCuda520 PCIE4.0固态硬盘体验...
- 倍福嵌入式控制器PLC各型号介绍