计算经纬度的距离_经纬度测距

计算经纬度的距离_经纬度测距PHP根据经纬度坐标计算距离在有些应用中需要用到计算距离的功能,例如附近的商家、离我最近等功能。W为纬度对应的弧度,J为经度对应的弧度,如上图所示下面代码lat是纬度lng是经度看类代码/***根据经纬度算距离,返回结果单位是公里,先纬度,后经度*@param$lat1*@param$lng1*@param$lat2*@param$lng2*@returnfloat|…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

PHP根据经纬度坐标计算距离

在有些应用中需要用到计算距离的功能,例如附近的商家、离我最近等功能。

28292fa2ba01e2bd0a24a693193c7465.pngW为纬度对应的弧度,J为经度对应的弧度,如上图所示

下面代码  lat是纬度  lng是经度

看类代码/**

* 根据经纬度算距离,返回结果单位是公里,先纬度,后经度

* @param $lat1

* @param $lng1

* @param $lat2

* @param $lng2

* @return float|int

*/

public function GetDistance($lat1, $lng1, $lat2, $lng2)

{

$EARTH_RADIUS = 6378.137;

$radLat1 = $this->rad($lat1);

$radLat2 = $this->rad($lat2);

$a = $radLat1 – $radLat2;

$b = $this->rad($lng1) – $this->rad($lng2);

$s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2)));

$s = $s * $EARTH_RADIUS;

$s = round($s * 10000) / 10000;

return $s;

}

private function rad($d)

{

return $d * M_PI / 180.0;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193362.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于我对stm32看门狗的一些理解(基于正点原子)

    关于我对stm32看门狗的一些理解(基于正点原子)咕咕咕之后想更会儿stm32哈哈哈,但是其实是之前自己写的笔记,想着以后就写在一起吧,我自己也更好去找到自己写的玩意~毕竟总所周知,博客都是写给自己的。(虽然好像现在自己都看不懂了我的天哪)一.什么是看门狗在stm32中,我们会学到独立看门狗和窗口看门狗的实验。第一眼肯定是一脸懵逼啊,啥是看门狗啊?看门狗在日常生活中,大概的印象就是,起到一个保证安全,防止外来人员搞事的作用。stm32中的看门狗也起着差不多的意思:看门狗就是起到一个监督单片机是否正在正常运行的作用。如果程序运行异常(跑飞),那么

    2022年5月13日
    62
  • Kafka 删除topic_kafka自动创建topic

    Kafka 删除topic_kafka自动创建topic2019独角兽企业重金招聘Python工程师标准>>>…

    2022年10月16日
    0
  • 在做微信分享到朋友圈时,手机扫码报config:invalid signature,分享后后正常的问题,是url问题…

    在做微信分享到朋友圈时,手机扫码报config:invalid signature,分享后后正常的问题,是url问题…

    2021年10月16日
    52
  • CAN总线详解

    1、简介CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是一种能够实现分布式实时控制的串行通信网络。优点:传输速度最高到1Mbps,通信距离最远到10km,无损位仲裁机制,多主结构。近些年来,CAN控制器价格越来越低。Ø低成本:ECUs通过单个CAN接口进行通信,布线成本低。Ø高集成:CAN总线系统允许在所有ECUs上进行集中错误诊…

    2022年4月6日
    81
  • linux tty0_linuxtty中文

    linux tty0_linuxtty中文创建iso目录作为制作LiveCD的根的目录,并在其中创建grub所需的目录#mkdir-pviso/{ttylinux,boot}#mkdir–pviso/boot/grub#cp-rv/usr/share/grub/i386-redhat/*iso/boot/grub将下载到的ttylinuxiso镜像文件挂载至某目录,并复制文件#mount-oloop/root/…

    2022年8月12日
    4
  • JSP的四种作用域与九大内置对象

    JSP的四种作用域与九大内置对象JSP的四种作用域与九大内置对象

    2022年4月22日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号