php中getdistance函数_php计算两个经纬度地点之间的距离
/**
* @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计算两个经纬度地点之间的距离相关推荐
- php经纬度之间的距离计算公式,php计算两个经纬度地点之间距离的方法分享
用php计算两个指定的经纬度地点之间的距离,代码: /** *求两个已知经纬度之间的距离,单位为米 *@param lng1,lng2 经度 *@param lat1,lat2 纬度 *@return ...
- geotools 计算两个经纬度点之间的距离
geotools 计算两个经纬度点之间的距离 主要的maven依赖 代码实现 最近研究geotools,发现网上的直接搜索相关实现比较少,所以贴出示例代码,方便大家寻找. 主要的maven依赖 < ...
- python计算两个点之间的距离_python实现两个经纬度点之间的距离和方位角的方法...
最近做有关GPS轨迹上有关的东西,花费心思较多,对两个常用的函数总结一下,求距离和求方位角,比较精确,欢迎交流! 1. 求两个经纬点的方位角,P0(latA, lonA), P1(latB, lonB ...
- python 计算两个经纬度的距离_python实现两个经纬度点之间的距离和方位角的方法...
最近做有关GPS轨迹上有关的东西,花费心思较多,对两个常用的函数总结一下,求距离和求方位角,比较精确,欢迎交流! 1. 求两个经纬点的方位角,P0(latA, lonA), P1(latB, lonB ...
- ITK:计算两个3D点之间的距离
ITK:计算两个3D点之间的距离 内容提要 输出结果 C++实现代码 内容提要 计算两个3D点之间的距离.可以通过更改常量Dimension轻松地将其扩展为ND. 输出结果 Dist: 1.73205 ...
- java编程-计算两个坐标点之间的距离
设计一个MyPoint类,表示一个具有x坐标和y坐标的点 1.需求分析 •两个私有成员变量x和y表示坐标值: •成员变量x和y的访问器和修改器 •无参构造方法创建点(0,0): •一个有参构造方法,根 ...
- Hive计算两个经纬度坐标的直线距离
-- Hive计算两个经纬度坐标直线距离(单位:公里) -- 公式 -- ASIN( -- SQRT( -- POWER(SIN((lat1-lat2)*ACOS(-1)/360),2) + -- C ...
- reactjs中使用高德地图计算两个经纬度之间的距离
第一步下载依赖 npm install --save react-amap 第二步,在组件中使用 import React, { Component } from 'react' import { L ...
- Java:计算地球上两个经纬度坐标之间的距离-geodesy和geotools实现
目录 方式一:自定义公式计算 方式二:geodesy计算距离 方式三:geotools计算距离 两个点的经纬度 latitude纬度 longitude经度 地点 22.678611 113.8056 ...
最新文章
- Android .mk文件语法解析
- haroopad设置
- leader:你的代码太烂了我根本看不懂
- mysql -- 死锁
- C++工作笔记-设计普通类的格式,实现简单工厂中接口的定义
- 20.案例实战:为@Async实现一个自定义线程池
- python提取xml的所有框坐标_python 提取批量xml文件中的坐标信息存入txt文件 xml文件转txt文件...
- windows 路径
- 安装j2ee开发环境
- EPLAN教程——工具栏详解(1)自定义工具栏
- 12.STC15W408AS单片机比较器
- 用C++写洛谷P1427小鱼的数字游戏
- 针对iPhone X和iPhone XS这些傻叉手机安全距离的设定
- java 获取当前第几周_java 计算当前日期是今年的第几周 和 该周的开始日期及结束日期...
- el-calendar 日历做排班、值班、打卡.......
- JavaScript-WebAPIs学习记录
- 立交匝道中边桩坐标放样正反算程序RAMP
- 计算机网络(第七版)
- HoloLens新版OpenXR
- [算法] 两个质数的乘积是707829217,求解该质数
热门文章
- Dokcer启动2个mysql容器
- docker-compose的安装与简单使用
- 只有变强大,才能照亮他人
- 【Spring】框架简介
- 【VB】学生信息管理系统6——错误调试
- Linux系统管理必备知识之利用ssh传输文件
- vmware虚拟机怎么让窗口自动调整大小适应主机
- 命名实体识别训练集汇总(一直更新)
- PyTorch学习笔记——softmax和log_softmax的区别、CrossEntropyLoss() 与 NLLLoss() 的区别、log似然代价函数...
- ARM CPU自动调度神经网络