/**

* @param $lat1

* @param $lng1

* @param $lat2

* @param $lng2

* @return int

*/

function getDistance($lat1, $lng1, $lat2, $lng2){

// 将角度转为狐度

$radLat1 = deg2rad($lat1);// deg2rad()函数将角度转换为弧度

$radLat2 = deg2rad($lat2);

$radLng1 = deg2rad($lng1);

$radLng2 = deg2rad($lng2);

$a = $radLat1 - $radLat2;

$b = $radLng1 - $radLng2;

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

return $s;

}

/**

* @param $lat1

* @param $lon1

* @param $lat2

* @param $lon2

* @param float $radius 星球半径 KM

* @return float

*/

function distance($lat1, $lon1, $lat2,$lon2,$radius = 6378.137)

{

$rad = floatval(M_PI / 180.0);

$lat1 = floatval($lat1) * $rad;

$lon1 = floatval($lon1) * $rad;

$lat2 = floatval($lat2) * $rad;

$lon2 = floatval($lon2) * $rad;

$theta = $lon2 - $lon1;

$dist = acos(sin($lat1) * sin($lat2) + cos($lat1) * cos($lat2) * cos($theta));

if ($dist < 0 ) {

$dist += M_PI;

}

return $dist = $dist * $radius;

}

$lat1 = '31.253411';

$lon1 = '121.518998';

$lat2 = '31.277117';

$lon2 = '120.744587';

echo getDistance($lat1, $lon1, $lat2, $lon2); // 73.734589823361

echo distance($lat1, $lon1, $lat2, $lon2); // 73.734589823354

php中getdistance函数_php计算两个经纬度地点之间的距离相关推荐

  1. php经纬度之间的距离计算公式,php计算两个经纬度地点之间距离的方法分享

    用php计算两个指定的经纬度地点之间的距离,代码: /** *求两个已知经纬度之间的距离,单位为米 *@param lng1,lng2 经度 *@param lat1,lat2 纬度 *@return ...

  2. geotools 计算两个经纬度点之间的距离

    geotools 计算两个经纬度点之间的距离 主要的maven依赖 代码实现 最近研究geotools,发现网上的直接搜索相关实现比较少,所以贴出示例代码,方便大家寻找. 主要的maven依赖 < ...

  3. python计算两个点之间的距离_python实现两个经纬度点之间的距离和方位角的方法...

    最近做有关GPS轨迹上有关的东西,花费心思较多,对两个常用的函数总结一下,求距离和求方位角,比较精确,欢迎交流! 1. 求两个经纬点的方位角,P0(latA, lonA), P1(latB, lonB ...

  4. python 计算两个经纬度的距离_python实现两个经纬度点之间的距离和方位角的方法...

    最近做有关GPS轨迹上有关的东西,花费心思较多,对两个常用的函数总结一下,求距离和求方位角,比较精确,欢迎交流! 1. 求两个经纬点的方位角,P0(latA, lonA), P1(latB, lonB ...

  5. ITK:计算两个3D点之间的距离

    ITK:计算两个3D点之间的距离 内容提要 输出结果 C++实现代码 内容提要 计算两个3D点之间的距离.可以通过更改常量Dimension轻松地将其扩展为ND. 输出结果 Dist: 1.73205 ...

  6. java编程-计算两个坐标点之间的距离

    设计一个MyPoint类,表示一个具有x坐标和y坐标的点 1.需求分析 •两个私有成员变量x和y表示坐标值: •成员变量x和y的访问器和修改器 •无参构造方法创建点(0,0): •一个有参构造方法,根 ...

  7. Hive计算两个经纬度坐标的直线距离

    -- Hive计算两个经纬度坐标直线距离(单位:公里) -- 公式 -- ASIN( -- SQRT( -- POWER(SIN((lat1-lat2)*ACOS(-1)/360),2) + -- C ...

  8. reactjs中使用高德地图计算两个经纬度之间的距离

    第一步下载依赖 npm install --save react-amap 第二步,在组件中使用 import React, { Component } from 'react' import { L ...

  9. Java:计算地球上两个经纬度坐标之间的距离-geodesy和geotools实现

    目录 方式一:自定义公式计算 方式二:geodesy计算距离 方式三:geotools计算距离 两个点的经纬度 latitude纬度 longitude经度 地点 22.678611 113.8056 ...

最新文章

  1. Android .mk文件语法解析
  2. haroopad设置
  3. leader:你的代码太烂了我根本看不懂
  4. mysql -- 死锁
  5. C++工作笔记-设计普通类的格式,实现简单工厂中接口的定义
  6. 20.案例实战:为@Async实现一个自定义线程池
  7. python提取xml的所有框坐标_python 提取批量xml文件中的坐标信息存入txt文件 xml文件转txt文件...
  8. windows 路径
  9. 安装j2ee开发环境
  10. EPLAN教程——工具栏详解(1)自定义工具栏
  11. 12.STC15W408AS单片机比较器
  12. 用C++写洛谷P1427小鱼的数字游戏
  13. 针对iPhone X和iPhone XS这些傻叉手机安全距离的设定
  14. java 获取当前第几周_java 计算当前日期是今年的第几周 和 该周的开始日期及结束日期...
  15. el-calendar 日历做排班、值班、打卡.......
  16. JavaScript-WebAPIs学习记录
  17. 立交匝道中边桩坐标放样正反算程序RAMP
  18. 计算机网络(第七版)
  19. HoloLens新版OpenXR
  20. [算法] 两个质数的乘积是707829217,求解该质数

热门文章

  1. Dokcer启动2个mysql容器
  2. docker-compose的安装与简单使用
  3. 只有变强大,才能照亮他人
  4. 【Spring】框架简介
  5. 【VB】学生信息管理系统6——错误调试
  6. Linux系统管理必备知识之利用ssh传输文件
  7. vmware虚拟机怎么让窗口自动调整大小适应主机
  8. 命名实体识别训练集汇总(一直更新)
  9. PyTorch学习笔记——softmax和log_softmax的区别、CrossEntropyLoss() 与 NLLLoss() 的区别、log似然代价函数...
  10. ARM CPU自动调度神经网络