站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

【數(shù)學(xué)公式及推導(dǎo)】根據(jù)經(jīng)緯度計(jì)算地面兩點(diǎn)間的距離

1.假設(shè):地球是正球體。地面兩點(diǎn)A和B的經(jīng)緯度坐標(biāo)分別為(Aj,Aw)和(Bj,Bw),地球半徑R取平均值6371km。

2.建立三維直角坐標(biāo)系

地球球心為原點(diǎn)O,地軸為Z軸,北極方向?yàn)閆軸正方向,赤道平面為X軸和Y軸所在平面,在該平面上地心到零度經(jīng)線的方向?yàn)閄軸正方向,根據(jù)右手定則確定Y軸正方向。

設(shè)點(diǎn)A的三維坐標(biāo)為(Ax,Ay,Az),點(diǎn)B的三維坐標(biāo)為(Bx,By,Bz)

3.思路

A、B、O三點(diǎn)所在平面與地球相交形成一個(gè)半徑為R的圓,求AB間的地面距離就是求該圓上圓弧AB的長(zhǎng)度。可由弧長(zhǎng)等于半徑乘以圓心角公式求得。

由于R是確定的,只要獲得OA與OB的夾角θ就可以獲得弧AB的長(zhǎng)度。弧AB=R*θ。
角θ可通過(guò)向量公式求得:

向量OA*向量OB=|OA||OB|cosθ。

cosθ=向量OA*向量OB/|OA||OB|      =(Ax*Bx+Ay*By+Az*Bz)/R*R

4.用經(jīng)緯度坐標(biāo)表示三維直角坐標(biāo):

Ax=R*cosAw*cosAj Ay=R*cosAw*sinAj Az=R*sinAw Bx=R*cosBw*cosBj By=R*cosBw*sinBj Bz=R*sinBw

代入可得

cosθ=cosAw*cosAj*cosBw*cosBj+cosAw*sinAj*cosBw*sinBj+sinAw*sinBw      =cosAw*cosBw(cosAj*cosBj+sinAj*sinBj)+sinAw*sinBw      =cosAw*cosBw*cos(Aj-Bj)+sinAw*sinBw θ=arccos[cosAw*cosBw*cos(Aj-Bj)+sinAw*sinBw]

5.綜上可得根據(jù)經(jīng)緯度計(jì)算地面兩點(diǎn)間距離的公式:

弧AB=R*arccos[cosAw*cosBw*cos(Aj-Bj)+sinAw*sinBw]

說(shuō)明:

類似的公式推導(dǎo)大家以前都做過(guò),時(shí)間久了可能會(huì)忘記一些東西,于是我把它記了下來(lái),以備查閱。

由于三角函數(shù)變換多端,該公式的表現(xiàn)形式不止一種,只要前提假設(shè)是一樣的,那么在數(shù)學(xué)上應(yīng)該是等價(jià)并可相互推導(dǎo)的。
在實(shí)際程序代碼中用的時(shí)候需要注意單位問(wèn)題,比如從定位器獲得的經(jīng)緯度單位是度,而三角計(jì)算的方法很可能用的單位是弧度,再比如長(zhǎng)度單位用的是km還是m等。

推薦:《編程視頻》

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
国产三级精品久久| 精品国产AV色欲果冻传媒| 国产伦精品免编号公布| 国产成人高清精品免费观看| 亚洲日韩国产精品乱| 在线播放精品一区二区啪视频| 亚洲欧洲日韩在线电影| 2020国产精品永久在线| 91久久精品国产91久久性色tv | 国产精品亚洲色图| 国产精品亚洲精品久久精品| 久久久久成人精品一区二区 | 国产欧美一区二区精品仙草咪| 91精品免费国产高清在线| 久久久无码精品亚洲日韩京东传媒| 久久96国产精品| 久久精品福利视频| 久久精品一区二区影院 | 永久免费无码日韩视频| 国产精品无码一区二区三区免费| 久9re热视频这里只有精品| 亚洲一区日韩高清中文字幕亚洲| 国产精品亚洲专区无码WEB| 久久精品网站免费观看| 亚洲精品乱码久久久久久V| 国产成人无码久久久精品一| 日韩蜜芽精品视频在线观看| 国产精品国产三级国产普通话一| 在线精品日韩一区二区三区| 日韩精品一区二区三区国语自制| 日韩精品视频观看| 国产精品国三级国产AV| 国产成人精品福利网站人| 国产成人精品高清免费| 国产三级精品三级在线专区| 亚洲国产精品张柏芝在线观看| 老汉精品免费AV在线播放| 欧洲成人午夜精品无码区久久| 99视频精品在线| 亚洲精品国产电影午夜| 四虎国产精品永久在线播放 |