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 相关文章推荐
Zend Guard一些常见问题解答
Sep 11 PHP
PHP 身份证号验证函数
May 07 PHP
一贴学会PHP 新手入门教程
Aug 03 PHP
php trim 去除空字符的定义与语法介绍
May 31 PHP
destoon常用的安全设置概述
Jun 21 PHP
php curl 获取https请求的2种方法
Apr 27 PHP
PHP文件上传处理案例分析
Oct 15 PHP
AJAX的使用方法详解
Apr 29 PHP
老生常谈PHP面向对象之解释器模式
May 17 PHP
PHP面向对象程序设计之多态性的应用示例
Dec 19 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
Apr 23 PHP
Yii框架通过请求组件处理get,post请求的方法分析
Sep 03 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
超级简单的发送邮件程序
2006/10/09 PHP
打造超酷的PHP数据饼图效果实现代码
2011/11/23 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
2013/06/24 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
php实现只保留mysql中最新1000条记录
2015/06/18 PHP
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
2015/11/11 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
jQuery中Datatables增加跳转到指定页功能
2017/02/08 Javascript
详解JS中的attribute属性
2017/04/25 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
[01:06:32]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第一局
2016/02/28 DOTA
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
在python的类中动态添加属性与生成对象
2016/09/17 Python
Python实现提取XML内容并保存到Excel中的方法
2018/09/01 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
Python地图绘制实操详解
2019/03/04 Python
Python脚本去除文件的只读性操作
2020/03/05 Python
python给list排序的简单方法
2020/12/10 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
租房协议书怎么写
2014/04/10 职场文书
求职信结尾怎么写
2014/05/26 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书
如何利用pygame实现打飞机小游戏
2021/05/30 Python
java基础——多线程
2021/07/03 Java/Android