亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用基于笛卡爾坐標點積的算法計算地理距離

使用基于笛卡爾坐標點積的算法計算地理距離

藍山帝景 2021-12-10 14:49:38
我想使用此處描述的解決方案計算兩個地理點(由緯度和經度對定義)之間的距離。盡管我理解一般概念,但首先將所有球面(緯度/經度)坐標預轉換為 3D 單位長度笛卡爾坐標的部分對我來說是有問題的。有人可以解釋我們需要編寫的算法來實現上述目標嗎?Java 將是完美的,但偽代碼也可以。更新:我對Haversine 方法不感興趣。
查看完整描述

1 回答

?
米脂

TA貢獻1836條經驗 獲得超3個贊

讓我們從轉換到球坐標開始。觀察緯度/經度幾乎與球坐標中的角度相同。唯一的區別是與phi緯度不同,不是從北極開始,而是從赤道開始。


http://img1.sycdn.imooc.com//61b2f8ac00016a6e01600157.jpg

所以,如果你的緯度等于+90(90°N)對應的phi角度是0°,而當緯度等于-90(90°S)對應的phi角度是180°。


phi   = -latitude + 90°

theta =  longitude

rho   = 1

現在,您可以轉到笛卡爾:

http://img1.sycdn.imooc.com//61b2f8b900019fe501350072.jpg

但在你的情況下rho = 1,所以


x = sin(theta)*cos(phi);

y = sin(theta)*sin(phi);

z = cos(theta);

其中phi和theta定義如上。


查看完整回答
反對 回復 2021-12-10
  • 1 回答
  • 0 關注
  • 269 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號