PHP计算2点经纬度之间的距离代码


Posted in PHP onAugust 12, 2013
function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) {
    $theta = $longitude1 - $longitude2;
    $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));
    $miles = acos($miles);
    $miles = rad2deg($miles);
    $miles = $miles * 60 * 1.1515;
    $feet = $miles * 5280;
    $yards = $feet / 3;
    $kilometers = $miles * 1.609344;
    $meters = $kilometers * 1000;
    return compact('miles','feet','yards','kilometers','meters'); 
}$point1 = array('lat' => 40.770623, 'long' => -73.964367);
$point2 = array('lat' => 40.758224, 'long' => -73.917404);
$distance = getDistanceBetweenPointsNew($point1['lat'], $point1['long'], $point2['lat'], $point2['long']);
foreach ($distance as $unit => $value) {
    echo $unit.': '.number_format($value,4).'<br />';
}
The example returns the following:
miles: 2.6025
feet: 13,741.4350
yards: 4,580.4783
kilometers: 4.1884
meters: 4,188.3894
PHP 相关文章推荐
PHP的加密方式及原理
Jun 14 PHP
php读取mysql中文数据出现乱码的解决方法
Aug 16 PHP
一致性哈希算法以及其PHP实现详细解析
Aug 24 PHP
使用PHP静态变量当缓存的方法
Nov 13 PHP
PHP提交表单失败后如何保留已经填写的信息
Jun 20 PHP
在Windows XP下安装Apache+MySQL+PHP环境
Feb 22 PHP
Thinkphp3.2实用篇之计算型验证码示例
Feb 09 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
Oct 15 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
Aug 10 #PHP
浅析php中常量,变量的作用域和生存周期
Aug 10 #PHP
浅析linux下apache服务器的配置和管理
Aug 10 #PHP
本地机apache配置基于域名的虚拟主机详解
Aug 10 #PHP
php 删除目录下N分钟前创建的所有文件的实现代码
Aug 10 #PHP
php中如何判断一个网页请求是ajax请求还是普通请求
Aug 10 #PHP
php一些错误处理的方法与技巧总结
Aug 10 #PHP
You might like
探讨PHP中this,self,parent的区别详解
2013/06/08 PHP
培养自己的php编码规范
2015/09/28 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
2016/04/01 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
Javascript学习笔记4 Eval函数
2010/01/11 Javascript
jQuery点击弹出下拉菜单的小例子
2013/08/01 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
2015/10/26 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
使用JS代码实现点击按钮下载文件
2016/11/12 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
Express框架之connect-flash详解
2017/05/31 Javascript
vue slot 在子组件中显示父组件传递的模板
2018/03/02 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
2018/09/14 Javascript
vue的for循环使用方法
2019/02/12 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
python zip文件 压缩
2008/12/24 Python
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
Python 查看文件的读写权限方法
2018/01/23 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
python爬虫实现中英翻译词典
2019/06/25 Python
Python socket模块方法实现详解
2019/11/05 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
List、Map、Set三个接口,存取元素时,各有什么特点?
2015/09/27 面试题
什么是Web Service?
2012/07/25 面试题
控制工程专业个人求职信
2013/09/25 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
家属慰问信
2015/02/14 职场文书
网聊搭讪开场白
2015/05/28 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
Java 超详细讲解数据结构中的堆的应用
2022/04/02 Java/Android
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫