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、先進入Google地圖網站。 https://www.google.cn2、右鍵查看需要的位置,點擊這裡有什麼。

UWB技術在產業應用市場中出現了一個有趣的趨勢:基地台的傳輸距離逐漸增加一個典型的場景是隧道或礦井,這種場景的特點是空間是線性的,中間沒有太多的遮蔽物,UWB基地台也是直線佈設。基地台的工作距離越遠,專案所需的基地台數量就越少,專案成本也就越低在市場競爭下,市場上的UWB基地台工作距離就越來越遠,基地台的工作距離從早期的幾十米,擴大到100m、200m、500m、1000m、2000m甚至更遠。這背後的商業邏輯本文就不會做太多的探討。為什麼UWB基地台的工作距離越來越遠?其中有兩個關鍵的組件,一個是天線,另

如何使用Java程式碼在百度地圖上顯示目前位置的經緯度?百度地圖是一款非常受歡迎的地圖應用程序,在開發地理位置相關的應用時經常會用到。本文將介紹如何使用Java程式碼在百度地圖上顯示目前位置的經緯度。首先,我們需要準備一個百度開發者帳號,並建立一個應用程式來取得API金鑰。在百度開發者網站上註冊帳號並登入後,我們可以在控制台中建立一個應用,並取得一個API金鑰,用於存取
