利用Java计算经纬度距离工具类
利用Java计算经纬度距离工具类
import java.math.BigDecimal;/**
* @Description: 经纬度距离工具类
* @Param:
* @return:
* @Author: yzz
* @Date: 2020/4/18
*/
public class DistanceUtil {private static double EARTH_RADIUS = 6378.137;private static double rad(double d) {return d * Math.PI / 180.0;}/*** 通过经纬度获取距离(单位:千米)* @param lat1* @param lng1* @param lat2* @param lng2* @return*/public static BigDecimal getDistance(double lat1, double lng1, double lat2,double lng2) {double radLat1 = rad(lat1);double radLat2 = rad(lat2);double a = radLat1 - radLat2;double b = rad(lng1) - rad(lng2);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 * 10000d) / 10000d;BigDecimal bd = new BigDecimal(s);bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP); //保留小数点后两位return bd;}
}
这个是利用距离从小到大排序
(其中BasanInfoVO是你的实体类)
Collections.sort(list, new Comparator<BasanInfoVO>() {//根据距离排序public int compare(BasanInfoVO o1, BasanInfoVO o2) {return o1.getDistance().compareTo(o2.getDistance());}});
从以上可以通过经纬度获取距离从而进行排序!
技术交流联系qq:930210782
利用Java计算经纬度距离工具类相关推荐
- android 经纬度工具类,计算经纬度距离工具类
public class LocationUtils { private static double EARTH_RADIUS = 6378.137; private static double ra ...
- 根据两点经纬度计算两点距离...工具类
/** * 根据两点经纬度计算距离 * 直接调用使用即可 * @author tarena * */ public class DistanceUtil { public static f ...
- 猿创征文|Java计算【生日工具类】看这篇就够了
- java读写excel文件poi_Java利用POI读写Excel文件工具类
本文实例为大家分享了Java读写Excel文件工具类的具体代码,供大家参考,具体内容如下 package com.test.app.utils; import java.io.File; import ...
- Java 线程 - 基础及工具类 (二)
Java 并发系列文章 Java 线程 - 并发理论基础(一) Java 线程 - 基础及工具类 (二) Java 线程 - 并发设计模式 (三) Java 线程(二) 通用的线程生命周期 Java ...
- java中常用的工具类
1. 常用零散工具类 1.1[DateUtil.java]日期处理的工具类 /*** 时间日期处理工具* String -> Date* Date -> String* 以及生成含有日期的 ...
- 《Java并发编程的艺术》——Java中的并发工具类、线程池、Execute框架(笔记)
文章目录 八.Java中的并发工具类 8.1 等待多线程完成的CountDownLatch 8.2 同步屏障CyclicBarrier 8.2.1 CyclicBarrier简介 8.2.2 Cycl ...
- java项目常用的工具类
前言 在开发过程中,我们会遇到很多繁琐或者棘手的问题,但是,这些问题往往会存在一些便捷的工具类,来简化我们的开发,下面是我工作中经常使用到的工具类 常用工具类 日期工具类 import java.te ...
- JAVA I/O流工具类TextFile
JAVA I/O流工具类TextFile由广州疯狂软件java培训分享: 本文是一个TextFile类,通过这个类我们可以调用其中的方法来简化对文件的读写,这段代码的可用性比较强.这个TextFile ...
- java redis remove_最全的Java操作Redis的工具类
RedisUtil 当前版本:1.1 增加更全的方法,对以前的部分方法进行了规范命名,请放心替换成新版本. 介绍 最全的Java操作Redis的工具类,使用StringRedisTemplate实现, ...
最新文章
- c语言程序开平方,关于开平方的c程序
- 艾伟:C#对游戏手柄的编程开发-API篇(2)
- RemoteIE 开发者可跨平台使用IE测试网页
- ViewState机制的解析(转自csdn)
- 【渝粤题库】国家开放大学2021春3935理工英语2题目
- Python数据预处理数据的方法总结(使用sklearn-preprocessing)
- MySql 优化的 30 条建议
- 素短语,最左素短语-编译原理
- RTT Nano+STM32F407ZGT6+LAN8720A+LWIP+CubeMX+MDK
- Java线程池 与Lambda
- 蓝桥杯 C语言 试题 算法训练 审美课
- mysql left join和or_mysql – 在LEFT JOIN中使用带OR条件的索引
- 现代软件工程 课程总结
- COM08 -如何基于Davinci工具配置CAN通信协议栈实战课程【配置方法总述】
- python读写配置文件
- ArcBlock ⑦ 月报 | 产品一天半迭代1个版本 全球开发者社区建设启动
- 有关非居民企业就来源于中国境内的所得缴纳企业所得税问题
- swagger使用教程——快速使用swagger
- 老司机php源码,JeRuen
- ios跟android有什么区别,ios 系统和安卓系统在交互层面上有何区别?
热门文章
- OpenProj打开不了或者提示Failed to load Java VM Library的错误的解决方案
- Concis组件库封装——Avatar头像
- Mac 设置终端命令快捷方式
- 2021-07-30-DJ-006 Django模型的objects方法、参数详解
- Bex5开发平台分辨率问题解决方法
- espritcam后处理教学_Master CAM 后置处理文件及其设定方法详细说明
- java oracle驱动_oracle11g jdbc驱动(jdbc最新驱动)
- 深入解析互联网协议的原理
- Ajax前台传数组,Java后台接收方式
- vmware workstation 14 密钥