根据经纬度计算两点之间的距离---google计算公式推导
經(jīng)緯度常用詞 ? 經(jīng)度?longitude, 維度 latitude
圖和解讀來源網(wǎng)上資料,自我也進(jìn)行一遍推導(dǎo),有些地方會(huì)加入自己的一些理解,重新溫故了之前學(xué)的三角函數(shù),度,弧度,弧長(zhǎng)的概念,記憶模糊的建議大家也去看看
說明:說明下面計(jì)算以弧度帶入計(jì)算,如果獲取的經(jīng)緯度為角度需要轉(zhuǎn)換為弧度計(jì)算
? ? ? ? (角度(360度)等于2pi*r/r(r為圓半徑)等于2pi,所以一度等于pi/180)
? ? ? ? 將地球看成一個(gè)球體,A(WA,JA)、B(WB,JB)兩點(diǎn)分別為兩個(gè)點(diǎn)的位置,其中W為緯度,J為經(jīng)度,O為球心,球半徑為R,過A點(diǎn)畫出A的緯度圈并與B所在的經(jīng)度相交與點(diǎn)C,分別過B、C兩點(diǎn)做球心O所在直線 的垂線相交與E、H,點(diǎn)B做垂線與CH的延長(zhǎng)線相交于點(diǎn)D,OH與BC延長(zhǎng)線相交與點(diǎn)F。添加輔助線后的兩點(diǎn)距離示意圖如圖所示。
由示意圖可知, H、E分別為A、B兩點(diǎn)所在緯度圈的圓心,C點(diǎn)為與A點(diǎn)緯度相同,與B點(diǎn)經(jīng)度相同,F為BC與HE延長(zhǎng)線的交點(diǎn),△HCF∽△DCB,對(duì)角平行函數(shù),因此:
因?yàn)椤鰽HF為直角三角形,所以
AF^2 = AH^2 + HF^2 (原文錯(cuò)誤) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)
由于A、C點(diǎn)在同一個(gè)緯度圈上,所以
AH = CH ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(4)
設(shè)∠ACF為α,則設(shè)∠ACB為π-α,根據(jù)(余弦定理)這個(gè)很重要,得:
?
綜上則可以得出:
?
說明為得出7公式,需要由5推導(dǎo)出cosa,過程中使用了1,2,3,4,10,11等,cosa帶入6中得出公式7
補(bǔ)充公式:
BC^2 - BD^2 = CD^2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (10)
CH + CD = HD = BE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(11)
根據(jù)A、B兩點(diǎn)經(jīng)緯度可知:
說明此處推導(dǎo)需要結(jié)合(余弦定理)
帶入公式(7),化簡(jiǎn)得
外說明,我推導(dǎo)過程中都呆著地球半徑R,公式中沒體現(xiàn),應(yīng)該是當(dāng)作1常量處理了(最后的結(jié)果R會(huì)抵消,最終結(jié)果一致),后續(xù)乘以地球半徑?6378.137 (單位KM)
AB弧長(zhǎng)(AB兩點(diǎn)的距離)為:解讀說明AB弧長(zhǎng)等于弧度乘以圓半徑R,弧度則為(sin弧度)的反函數(shù)arcsin值
對(duì)(8)進(jìn)行化簡(jiǎn),得
也附圖一張自己的手算吧
原文:https://blog.csdn.net/xiejm2333/article/details/73297004
同樣感謝作者推導(dǎo)
?
總結(jié)
以上是生活随笔為你收集整理的根据经纬度计算两点之间的距离---google计算公式推导的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KrakenD网关V1.0.0文档初步翻
- 下一篇: 微信 二维码生成