博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算两个坐标之间的距离
阅读量:4290 次
发布时间:2019-05-27

本文共 608 字,大约阅读时间需要 2 分钟。

private const double EARTH_RADIUS = 6378.137;  
private static double rad(double d)  
{  
   return d * Math.PI / 180.0;  
}  

  

/**

*double lat1, 第一个坐标纬度

*double lng1第一个坐标经度

*double lat2, 第二个坐标纬度

*double lng2第二个坐标经度

*/

public static double 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 * 10000) / 10000;  
   return s;  

转载地址:http://bwqgi.baihongyu.com/

你可能感兴趣的文章
架构成长之路:Spring Cloud微服务如何实现熔断降级?
查看>>
JVM发生内存溢出的8种原因、及解决办法
查看>>
SpringBoot2.0 基础案例(12):基于转账案例,演示事务管理操作
查看>>
高性能负载均衡:nginx搭建tomcat集群
查看>>
Spring切面中的正则表达式
查看>>
一直再说高并发,多少QPS才算高并发?
查看>>
Git恢复之前版本的两种方法reset、revert(图文详解)
查看>>
Maven打包的三种方式
查看>>
电商场景:并发扣库存,怎么保证不超卖又不影响并发性能
查看>>
分布式事务处理方式总结
查看>>
延迟队列有哪些实现方案?说说你的看法
查看>>
厉害了!我们老大半小时把我的springboot项目并发提升几倍
查看>>
Spring 中Bean 的生命周期
查看>>
为什么要用枚举实现单例模式(避免反射、序列化问题)
查看>>
微服务架构下的分布式限流方案思考
查看>>
全网最详细的一篇SpringCloud总结
查看>>
消息中间件中的有序消息,其实是排队但是不能插队
查看>>
不知道分布式事务,还想进互联网大厂
查看>>
mysql为什么使用B+树作为索引的结构
查看>>
mysql索引总结(1)-mysql 索引类型以及创建(文章写的不错!!!)
查看>>