php 计算两点地理坐标的距离

1、转载地址:https://blog.csdn.net/fdipzone/article/details/47162563

2、功能:根据圆周率和地球半径系数与两点坐标的经纬度,计算两点之间的球面距离。

3、代码

<?php
/*** 计算两点地理坐标之间的距离* @param  Decimal $longitude1 起点经度* @param  Decimal $latitude1  起点纬度* @param  Decimal $longitude2 终点经度 * @param  Decimal $latitude2  终点纬度* @param  Int     $unit       单位 1:米 2:公里* @param  Int     $decimal    精度 保留小数位数* @return Decimal*/
function getDistance($longitude1, $latitude1, $longitude2, $latitude2, $unit=2, $decimal=2){$EARTH_RADIUS = 6370.996; // 地球半径系数$PI = 3.1415926;$radLat1 = $latitude1 * $PI / 180.0;$radLat2 = $latitude2 * $PI / 180.0;$radLng1 = $longitude1 * $PI / 180.0;$radLng2 = $longitude2 * $PI /180.0;$a = $radLat1 - $radLat2;$b = $radLng1 - $radLng2;$distance = 2 * asin(sqrt(pow(sin($a/2),2) + cos($radLat1) * cos($radLat2) * pow(sin($b/2),2)));$distance = $distance * $EARTH_RADIUS * 1000;if($unit==2){$distance = $distance / 1000;}return round($distance, $decimal);}// 起点坐标
$longitude1 = 113.330405;
$latitude1 = 23.147255;// 终点坐标
$longitude2 = 113.314271;
$latitude2 = 23.1323;$distance = getDistance($longitude1, $latitude1, $longitude2, $latitude2, 1);
echo $distance.'m'; // 2342.38m$distance = getDistance($longitude1, $latitude1, $longitude2, $latitude2, 2);
echo $distance.'km'; // 2.34km?>

php 计算两点地理坐标的距离相关推荐

  1. 高德地图相关api使用计算两点地理坐标之间的距离

    利用腾讯地图api&计算两点地理坐标之间的距离 $key = 'key参数'; //腾讯地图开发自己申请 $mode = 'driving'; //driving(驾车).walking(步行 ...

  2. Java计算两点间经纬度距离(两种方式)

    反余弦计算方式: private static final double EARTH_RADIUS = 6371000; // 平均半径,单位:m:不是赤道半径.赤道为6378左右 public st ...

  3. 1815. 计算两点间的距离

    水题也要注意一点,确实简单,不过还是错了,错在格式化输出! 1815. 计算两点间的距离     总提交数量: 5934 通过数量: 1093 评价: 1.9/5.0(38 票) 012345     ...

  4. ZZULIOJ 计算两点间的距离(多实例测试)

    计算两点间的距离(多实例测试) 题目描述 入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离. 输入 输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间 ...

  5. OJ1084: 计算两点间的距离(多实例测试)(C语言)

    OJ1084: 计算两点间的距离(多实例测试) 题目描述 入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离. 输入 输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2 ...

  6. php 如何根据经纬度计算距离,小程序实例:如何根据经纬度计算两点之间的距离(代码)...

    本篇文章给大家带来的内容是关于小程序实例:如何根据经纬度计算两点之间的距离(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助.//计算两点位置距离 getDistance: fun ...

  7. HDU2001 计算两点间的距离【入门】

    计算两点间的距离 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  8. 本关任务:编写一个Point类,有x、y两个属性。编写一个PointDemo类,并提供一个distance(Point p1,Point p2)方法用于计算两点之间的距离,实例化两个具体的Point对

    #java编程基础 以后会时常更新java编程题,分享所遇之难,答疑解惑,共同努力. 本关任务:编写一个Point类,有x.y两个属性.编写一个PointDemo类,并提供一个distance(Poi ...

  9. 怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度

    [Google Map]怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度 根据两站点的经纬度求两站点间的距离  /**** 根据两站点的经纬度求两站点间的距离 ****/ d ...

  10. 计算两点之间的距离(经度)

    根据两个点的经纬度值计算这两个点之间的距离,返回距离单位米. /** * 地球半径,单位 km */ private static final double EARTH_RADIUS = 6378.1 ...

最新文章

  1. 常见计算机问题 内存篇
  2. leetcode2 两数相加
  3. 我是如何打败拖延症的
  4. Educational Codeforces Round 111 (Rated for Div. 2)
  5. springboot整合redis修改分区
  6. Idea 插件 lombok 的安装和使用
  7. java自动获取ip_java自动获取电脑ip和MAC地址
  8. gdb查看空指针 linux_资深程序员总结:分析Linux进程的6个方法,全都告诉你!
  9. 静电场求电场强度E和电势U的方法
  10. [转]Fedora Core Linux 9 中安装VMware Tools-6.5.0
  11. 解决虚拟机内服务器卡顿,不流畅问题
  12. SwitchHosts for Mac(mac hosts修改工具)
  13. matlab中数字分频器的,一种基于FPGA的数字分频器设计详解
  14. java版flashplayer下载安装_mac版flash player
  15. @click.prevent.native作用
  16. java barchart_Bar Chart
  17. word打开文档很久很慢_解决直接打开Word、Excel文档很慢,而通过先打开WORD、EXCEL程序再打开文档则很快的问题...
  18. Swing Copters摇摇欲坠游戏再次风靡全球,再次虐心,摔手机
  19. 如何快速开发一个响应式移动端页面
  20. 摘录互联网企业的优秀企业文化集萃

热门文章

  1. 10米精度NPP净初级生产力数据/NDVI数据/植被类型数据/土地利用数据/降雨气温分布数据/太阳辐射分布数据
  2. 搜索(深度优先搜索与回溯) 经典例题题单+万字详解(C++)
  3. win10python安装失败_python3.6 + win10 安装 python-Levenshtein 错误记录
  4. Oracle在线撤销表空间,Oracle创建、管理撤销表空间
  5. mysql 小辉_小辉-MySQL数据库教程 完整高清版40集全!(主流)
  6. Oauth支持的5类 grant_type 及说明 authorization_code — 授权码模式(即先登录获取code,再获取token) password — 密码模式(将用户名,密码传
  7. linux PATH环境变量设置及查看
  8. AI专利申请5年激增1.8倍
  9. django的orm获取字段去重值
  10. RDMA的原理、传输与Verbs