如何通過兩點經緯度計算出兩點間大圓的距離?

飛機航程距離


其實就是用解三角形的方法。

如圖,設A1緯度	heta_{1} ,A2緯度	heta_{2} (可設北緯為正,南緯為負),兩點經度差為varphi ,地球半徑為R,求A1A2間大圓的距離。

解:設角A1OA2=	heta ,圓O1、圓O2分別為A1、A2點的緯度圓,則:

A1A2大圓距離=R	heta (1)

由三角形A1A2O:

A_{1} A_{2}^{2}=A_{1} O^{2}+A_{2} O^{2}-2A_{1} Ocdot  A_{2} Ocdot cos	heta =2R^{2}left( 1-cos	heta  
ight) (2)

作矩形O1O2A2B,由三角形A1BO1:A_{1} B^{2}=O_{1} B^{2}+A_{1}O_{1} ^{2}-2O_{1} Bcdot A_{1}O_{1}cdot cosvarphi =R_{1}^{2} +R_{2}^{2} -2R_{1}R_{2}  cosvarphi(3)

由三角形A1A2B:

A_{1} A_{2}^{2}=A_{1} B^{2}+A_{2} B^{2}=R_{1}^{2} +R_{2}^{2} -2R_{1}R_{2}  cosvarphi+R^{2}left( sin	heta _{1} -sin	heta_{2} 
ight) ^{2} (4)

由(2)、(4)及R_{1}=Rcos	heta _{1}R_{2}=Rcos	heta _{2}可得:

R^{2}cos	heta _{1}^{2} +R^{2}cos	heta _{2}^{2} -2R^{2}cos	heta _{1}cos	heta _{2}cosvarphi+R^{2}left( sin	heta _{1} -sin	heta_{2} 
ight) ^{2} =2R^{2}left( 1-cos	heta  
ight)

解之得:

	heta =arccos(cos	heta _{1}cos	heta _{2}cosvarphi+sin	heta _{1}sin	heta _{2})

帶入(1),

A1A2大圓距離=Rcdot arccos(cos	heta _{1}cos	heta _{2}cosvarphi+sin	heta _{1}sin	heta _{2})

不知道計算上有沒有什麼錯誤


推薦閱讀:

什麼是三角測量法?
車來了、酷米客這樣的實時公車查詢應用是如何做到精確定位公車信息的?
請問通過藍牙定位的原理是什麼?現在能否做到?
融合定位技術(FLP)是什麼?和以往的GPS定位、基站定位相比,融合定位有什麼優勢?
你覺得手機上實現「近場社交」有意義嗎? 對手機硬體有什麼基本要求?

TAG:飛機 | 地理 | 全球定位系統GPS | 經緯度 | 定位地理 |