PHP根据两点间的经纬度计算距离,php两点经纬度计算_PHP教程
PHP根据两点间的经纬度计算距离,php两点经纬度计算
这是一个不错的示例,直接贴代码,首先要知道纬度值、经度值
/** * @desc 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经度值 */ function getDistance($lat1, $lng1, $lat2, $lng2) { $earthRadius = 6367000; //approximate radius of earth in meters /* Convert these degrees to radians to work with the formula */ $lat1 = ($lat1 * pi() ) / 180; $lng1 = ($lng1 * pi() ) / 180; $lat2 = ($lat2 * pi() ) / 180; $lng2 = ($lng2 * pi() ) / 180; /* Using the Haversine formula http://en.wikipedia.org/wiki/Haversine_formula calculate the distance */ $calcLongitude = $lng2 - $lng1; $calcLatitude = $lat2 - $lat1; $stepOne = pow(sin($calcLatitude / 2), 2) + cos($lat1) * cos($lat2) * pow(sin($calcLongitude / 2), 2); $stepTwo = 2 * asin(min(1, sqrt($stepOne))); $calculatedDistance = $earthRadius * $stepTwo; return round($calculatedDistance); }
不会算这个东西,不过看代码发现你的代码里有些问题
第一、两点间的直线距离平方:$len算完了后面没有用到,也没有return, 完全就没用了
第二、输入相同的经纬度,结果居然不是0,而且还是个很大的数,所以应该是有问题的
你可以百度一下“php 按经纬度算两点间距离”,有不少现成的代码
我看这个介绍的比较详细,还有代码,你可以看看
blog.csdn.net/...963740
同纬度不同经度 (赤道除外)
h X 111 X COSD=G (h=两地经度差 D=当地的地理纬度 G=实际距离)
跨纬度的需要构造个三角
比如说AB两点不同经纬度(A经B纬)
那就先算出与A点共线的那条纬度B'的距离,在算A到B'的距离,在用勾股定理就可以得出
简单的说可用以下通用公式:
地球上任两点间距离公式:
地球上任两点,其经度分别为A1、A2(E正,W负),纬度分别为B1、B2(N正,S负)。
令A0=(A1-A2)÷2,B0=(BI-B2)÷2
f=√sinB0×sinB0+cosB1×cosB2×sinA0×sinA0
则
1、两点间空间直线距离=2fR
2、两点间最小球面距离=arcsinf÷90°×∏R(角度)
3、两点间最小球面距离=arcsinf×2R(弧度)
说明:E、W、N、S=东西南北;R=地球半径;√=根号;∏=圆周率。
代入公式自己算吧

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

给定一个三维平面,因此有三个坐标,任务是找到给定点之间的距离并显示结果。在三维平面上,有三个坐标轴,x轴的坐标为(x1,y1,z1),y轴的坐标为(x2,y2,z2),z轴的坐标为(x3,y3,z)。计算它们之间的距离有一个直接的公式如下所示$$\sqrt{\lgroupx2-x1\rgroup^{2}+\lgroupy2-y1\rgroup^{2}+\lgroupz2-z1\rgroup^{2}}$$下面是表示三个不同坐标轴及其坐标的图示下面使用的方法如下−输入坐标(x1,

本文转载自微信公众号「活在信息时代」,作者活在信息时代。转载本文请联系活在信息时代公众号。在机器学习中,一个基础的概念就是如何判断两个样本之间的差异,从而能够评价两个样本之间的相似性和类别等信息。而判断这种相似性的度量就是两个样本在特征空间内的距离。根据数据特征的不同,度量方法有很多种。一般而言,对两个数据样本x,y,定义一个函数d(x,y),如果定义其为两个样本之间的距离,那么d(x,y)则需要满足以下几条基本性质:非负性:d(x,y)>=0同一性:d(x,y)=0 ⇔ x=y对

在其年度开发者大会上,苹果推出了下一代操作系统来为其设备套件提供支持。像往常一样,iOS17是所有主要变化的核心,具有实时语音邮件、消息转录、实时贴纸、待机模式、全屏实时活动、交互式小部件等功能。在这些新增功能中脱颖而出的功能之一是“屏幕距离”。这是一项以健康为中心的功能,专注于防止iPhone屏幕上的眼睛疲劳和近视。在这篇文章中,我们将解释什么是屏幕距离以及如何在iOS17中启用它。什么是iOS17上的屏幕距离?作为iOS17推出的新健康功能的一部分,Apple提供了屏幕距离功能,以帮助用户预

iOS17更新中的屏幕距离功能是什么?苹果在iPhone上提供了屏幕距离功能,以帮助用户防止眼睛疲劳和近视风险。该功能(在iOS17或更高版本上可用)将利用iPhone的原深感摄像头(也有助于FaceID的摄像头)来测量脸部与手机之间的距离。如果“屏幕距离”检测到您将iPhone握在12英寸或30厘米以下的时间很长,它会提示您与iPhone屏幕保持距离。当您的设备检测到它距离脸部不到12英寸时,您会在屏幕上看到“iPhone太近”消息,并建议您应该保持距离以保护您的视力。只有当您将设备放在更远的

我们在使用这款平台的时候,都有了解到每一个位置地点方面都是会有坐标的,我相信学过地理的同学们都能知道经纬度坐标是什么,上面的功能可以说是非常强大的了,不仅可以实时的定位到你所在的一些位置,并且还能让你们了解到当前的一些经纬度是多少,也就是说我们都能任意的查看到在地图方面任意位置的经纬度坐标是在哪里,这样我们可以更好准确的知道相对应的一些具体的位置,但是不知道查看的用户们还是占有大多数的,所以为了能够让你们更好的对其进行一些了解,现在就和小编一起来看看吧,我相信你们应该不会错过的,赶紧来看看。

谷歌地图是可以查看经纬度,那么如何查看经纬度呢?用户们点击一个位置的信息,然后点击查看更多,就能够在里面查看到具体的经纬度信息。这篇查看经纬度方法介绍就能够告诉大家具体的内容,下面就是详细的方法,赶紧看看吧。谷歌地图如何查看经纬度答:点击地点,选择查看详细信息。具体介绍:手机版:1、首先进度地图,选择一个需要查看的位置。2、点击里面的查看全部这个按键。3、就能够看到详细的经纬度了。电脑版:1、首先进入谷歌地图网站。https://www.google.cn2、右击查看需要的位置,点击这儿有什么。

UWB技术在行业应用市场中出现了一个有趣的趋势:基站的传输距离正在逐渐增加一个典型的场景是隧道或矿井,这种场景的特点是空间是线性的,中间没有太多的遮挡物,UWB基站也是直线布设。基站的工作距离越远,项目所需的基站数量就越少,项目成本也就越低在市场竞争下,市场上的UWB基站工作距离就越来越远,基站的工作距离从早期的几十米,扩大到100m、200m、500m、1000m、2000m甚至更远。这背后的商业逻辑本文就不做过多的探讨。为什么UWB基站的工作距离越来越远?其中有两个关键的组件,一个是天线,另

如何使用Java代码在百度地图上显示当前位置的经纬度?百度地图是一款非常流行的地图应用程序,在开发地理位置相关的应用时经常会用到。本文将介绍如何使用Java代码在百度地图上显示当前位置的经纬度。首先,我们需要准备一个百度开发者账号,并创建一个应用来获取API密钥。在百度开发者网站上注册账号并登录后,我们可以在控制台中创建一个应用,并获得一个API密钥,用于访
