博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
坐标间获取两点距离
阅读量:4317 次
发布时间:2019-06-06

本文共 984 字,大约阅读时间需要 3 分钟。

/**   * 计算两点地理坐标之间的距离   * @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);  }

 

转载于:https://www.cnblogs.com/chentailin/p/9322993.html

你可能感兴趣的文章
Maven配置
查看>>
HttpServletRequest /HttpServletResponse
查看>>
SAM4E单片机之旅——24、使用DSP库求向量数量积
查看>>
从远程库克隆库
查看>>
codeforces Unusual Product
查看>>
hdu4348 - To the moon 可持久化线段树 区间修改 离线处理
查看>>
springMVC中一个class中的多个方法
查看>>
Linux系统安装出错后出现grub rescue的修复方法
查看>>
线段树模板整理
查看>>
[教程][6月4日更新]VMware 8.02虚拟机安装MAC lion 10.7.3教程 附送原版提取镜像InstallESD.iso!...
查看>>
[iOS问题归总]iPhone上传项目遇到的问题
查看>>
Python天天美味(总) --转
查看>>
Spring Framework tutorial
查看>>
【VS开发】win7下让程序默认以管理员身份运行
查看>>
【机器学习】Learning to Rank 简介
查看>>
Unity 使用实体类
查看>>
【转】通过文件锁实现,程序开始运行时,先判断文件是否存在,若存在则表明该程序已经在运行了,如果不存在就用open函数创建该文件,程序退出时关闭文件并删除文件...
查看>>
MySQL常见注意事项及优化
查看>>
流畅的Python (Fluent Python) —— 前言
查看>>
Jquery-menu-aim流畅的菜单滑动体验
查看>>