PHP根据经纬度坐标计算距离

在有些应用中需要用到计算距离的功能,例如附近的商家、离我最近等功能。

W为纬度对应的弧度,J为经度对应的弧度,如上图所示

下面代码  lat是纬度  lng是经度

看类代码/**

* 根据经纬度算距离,返回结果单位是公里,先纬度,后经度

* @param $lat1

* @param $lng1

* @param $lat2

* @param $lng2

* @return float|int

*/

public function GetDistance($lat1, $lng1, $lat2, $lng2)

{

$EARTH_RADIUS = 6378.137;

$radLat1 = $this->rad($lat1);

$radLat2 = $this->rad($lat2);

$a = $radLat1 - $radLat2;

$b = $this->rad($lng1) - $this->rad($lng2);

$s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2)));

$s = $s * $EARTH_RADIUS;

$s = round($s * 10000) / 10000;

return $s;

}

private function rad($d)

{

return $d * M_PI / 180.0;

}

php经纬度换算距离,PHP根据经纬度坐标计算距离相关推荐

  1. 给定经纬度计算距离_通过经纬度坐标计算距离的方法(经纬度距离计算)ZZ

    通过经纬度坐标计算距离的方法(经纬度距离计算) 最近在网上搜索"通过经纬度坐标计算距离的方法",发现网上大部分都是如下的代码: #define PI 3.14159265 stat ...

  2. 通过经纬度坐标计算距离的方法(实为通过一个经纬度和距离角度求另一个经纬度)

    转自:https://www.cnblogs.com/softfair/p/lat_lon_distance_bearing_new_lat_lon.html 通过经纬度坐标计算距离的方法(经纬度距离 ...

  3. 通过经纬度坐标计算距离的方法(经纬度距离计算)

    通过经纬度坐标计算距离的方法(经纬度距离计算) 最近在网上搜索"通过经纬度坐标计算距离的方法",发现网上大部分都是如下的代码: #define PI 3.14159265 stat ...

  4. C语言算2个坐标点之间的距离,c语言求平面上2个坐标点的直线距离、求俩坐标直线距离作为半径的圆的面积、递归、菲波那次数列、explode...

    #include #include #include char explode( char * str , char symbol ); double distance ( int x1 , int ...

  5. python学习-108-根据经纬度坐标计算距离

    前言: 根据经纬度坐标计算两点距离,并不能直接使用欧氏距离,因为经纬度是在曲面上的要计算弧度的影响.因此本文根据经纬度坐标公式代码实现. 参考链接: https://blog.csdn.net/xie ...

  6. 根据经纬度坐标计算距离sql语句

    //根据经纬度计算附近商家距离 /* @param $lng,经度* @param $lat,纬度* @param $distance 计算的距离* @param $sort 根据距离排序*/func ...

  7. 坐标计算距离公式 火星坐标系_根据经纬度计算距离的公式、百度坐标转换成GPS坐标(PHP版)...

    //百度坐标转换成GPS坐标 $lnglat = '121.437518,31.224665'; function FromBaiduToGpsXY($lnglat){ // 经度,纬度 $lngla ...

  8. 通过经纬度坐标计算距离

    工作之余,贡献给大家一个公式,教你如何计算地球上两个点之间的距离. 以下公式输入两点的经纬度坐标即可计算,计算出的单位是  米 public static double getDistance(dou ...

  9. java通过坐标计算距离,并进行单位换算

    <dependency><groupId>org.gavaghan</groupId><artifactId>geodesy</artifactI ...

最新文章

  1. 【物联网云端对接-1】 通过HTTP协议与微软Azure IoT hub进行云端通信
  2. control theory and application
  3. 济宁医学院计算机专业好就业吗,山东这3所医学院实力强,就业率高,中等生可捡漏...
  4. SpringBoot中各配置文件的优先级及加载顺序
  5. 【程序员薪资】2021年04月新鲜出炉,看看你拖后腿了吗?
  6. Swift中文教程(十三) 继承
  7. Ubuntu 13.10/12.10/12.04 用户如何升级到 Ubuntu 14.04
  8. java后台 ajax_ajax提交到java后台之后处理数据的实现
  9. Java学习笔记day08_day09_对象实例化_private_this
  10. 中文乱码解决办法(java)
  11. 如何在Nintendo交换机上设置家长控制
  12. 五子棋c语言程序人人对战,C语言 AI智能,五子棋 人机对战,人人对战
  13. 独立站运营到底要做什么!
  14. 关于全国信息安全作品赛的了解
  15. 如何掌握UI设计精髓 Logo设计有哪些基本要素
  16. 编译原理陈火旺第三版第七章课后题答案
  17. 每周论文精读05-A2J:AnchortoJointRegressionNetwork for 3D ArticulatedPoseEstimation from a SingleDepthImage
  18. 曾国藩《挺经》卷十七藏锋
  19. 激活windows10系统提示错误代码0x800705b4怎么解决
  20. Verilgo实现的FPGA奇偶校验

热门文章

  1. 激发数字新活力 打造发展新优势
  2. 对捷某特app的逆向
  3. 记redis中向list进行lpush和lrange时的小细节(初学者易犯)
  4. linux下文件时间戳修改
  5. SharePoint 是做什么的?
  6. python画指数函数图像_Python exp() 指数函数
  7. 企立方电商:拼多多店铺怎么数据维护
  8. 【Python制作词云】分析QQ群聊信息,记录词频并制作词云
  9. 《嵌入式系统 – 玩转ART-Pi开发板(基于RT-Thread系统)》第7章 环境监测系统(一)
  10. python workspace_python报错汇总