2019独角兽企业重金招聘Python工程师标准>>>

public class GeoUtil { /*** 根据经纬度和距离返回一个矩形范围* * @param lng*            经度* @param lat*            纬度* @param distance*            距离(单位为米)* @return [lng1,lat1, lng2,lat2] 矩形的左下角(lng1,lat1)和右上角(lng2,lat2)*/ public static double[] getRectangle(double lng, double lat, long distance) { float delta = 111000; if (lng != 0 && lat != 0) { double lng1 = lng - distance / Math.abs(Math.cos(Math.toRadians(lat)) * delta); double lng2 = lng + distance / Math.abs(Math.cos(Math.toRadians(lat)) * delta); double lat1 = lat - (distance / delta); double lat2 = lat + (distance / delta); return new double[] { lng1, lat1, lng2, lat2 }; } else { // TODO ZHCH 等于0时的计算公式 double lng1 = lng - distance / delta; double lng2 = lng + distance / delta; double lat1 = lat - (distance / delta); double lat2 = lat + (distance / delta); return new double[] { lng1, lat1, lng2, lat2 }; } } /*** 得到两点间的距离 米* * @param lat1 第一点纬度* @param lng1 第一点经度* @param lat2 第二点纬度* @param lng2 第二点经度* @return*/ public static double getDistanceOfMeter(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 * 10000) / 10; return s; } private static double rad(double d) { return d * Math.PI / 180.0; } /*** 地球半径:6378.137KM*/ private static double EARTH_RADIUS = 6378.137; }

转载于:https://my.oschina.net/ydsakyclguozi/blog/410505

获取经纬度之间距离的Java工具类相关推荐

  1. 获取MP3音频时长 | Java工具类

    获取mp3格式音频时长. Maven依赖 <dependency><groupId>org</groupId><artifactId>jaudiotag ...

  2. java 获取两条经纬度线段的交点坐标工具类

    java 获取两条经纬度线段的交点坐标工具类 网上有线段是否相交的判断方法,但是很少有获取线段交点的坐标的方法 我在这里整合了网上的一些相交的方法,通过相交的xy轴点返推出了经纬度. 拾取坐标系统 可 ...

  3. java工具类获取文件扩展名与content-type、http与content-type映射关系

    java工具类获取文件扩展名与content-type.http与content-type映射关系 大家好,我是酷酷的韩~ 一.对应关系参考地址: http://doc.chacuo.net/cont ...

  4. java 工具类-去除字符串中特殊字符、全角转为半脚、获取字符串中姓名/电话、姓名重复后追加a.b.c...aa,ab..

    java 工具类-去除字符串中特殊字符.全角转为半脚.获取字符串中姓名/电话.姓名重复后追加a.b.c-aa,ab- public class NameUtil {/*** 姓名重复后追加a.b.c. ...

  5. 干货:排名前 16 的 Java 工具类!

    2019独角兽企业重金招聘Python工程师标准>>> 干货:排名前 16 的 Java 工具类!   在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最 ...

  6. 排名前 16 的 Java 工具类

    转载来自微信公众号:Java 技术栈.如有侵权,请联系作者删除!! 在 Java 中,工具类定义了一组公共方法,这篇文章将介绍 Java 中使用最频繁及最通用的 Java 工具类.以下工具类.方法按使 ...

  7. beanutils工具类_16 个超级实用的 Java 工具类!

    在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...

  8. java轻量级并行工具类_16 个超级实用的 Java 工具类

    原标题:16 个超级实用的 Java 工具类 源 /juejin 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名, ...

  9. java 文本工具类_干货:排名前16的Java工具类

    原标题:干货:排名前16的Java工具类 作者丨Java技术栈 https://www.jianshu.com/p/9e937d178203 在Java中,工具类定义了一组公共方法,这篇文章将介绍Ja ...

最新文章

  1. HTTP第一篇——搭建
  2. 从领导身上学习到的几个观点
  3. 清华大学贾宁_《财务思维》_体系结构
  4. partial equation lecture first order pde lecture 1
  5. c++语句switch语句_错误:案例标签不在C中的switch语句内
  6. 《大数据》第1期“专题”——大数据机器学习系统研究进展(下)
  7. 富文本编辑vue-quill-editor文件上传
  8. 实验3 OpenGL几何变换
  9. 腾讯自然语言处理实习面经
  10. WebFrom 【文件上传】
  11. QQ广告营销推广全能王 QQ空间自动发表日志说说广告实用工具!
  12. 实现一个在线抽奖系统,就算是个小白看了也能做出来(附源码)
  13. 中国区块链专利申请数破万:阿里巴巴居首位 网心科技晋身前十
  14. mysql float数据类型和decimal数据类型
  15. Madoko - Markdown 在线编辑器
  16. 最新小象学院python量化交易项目实战(完整)
  17. 一个简单的前端手风琴图片滑动展示
  18. SQL16号统计1~15号数据,1号统计上月15~月底数据
  19. 苹果手机注册时显示链接服务器出现问题,苹果确认iphone密码,显示连接服务器出现问题,为什么...
  20. mathematica入门(一)

热门文章

  1. 如何使用final阻止重载?如何使用final阻止继承?
  2. 无需Docker, 5分钟徒手DIY 一个Linux容器
  3. Centos上禁用 rpcbind 111端口
  4. samba访问其他服务器文件权限设置
  5. 基于GTID Replication主从数据不一致操作
  6. Netty 5.X 官方指南翻译版4
  7. SQL Server 2008 R2 性能计数器详细列表(三)
  8. 剑指offer——面试题42-2:翻转单词顺序
  9. idea tomcat启动乱码问题
  10. 左栏固定,右栏自适应