经纬度转实际距离

经纬度转实际距离

​ 若数据中给定的是地理坐标(经度和纬度),距离不能直接用度数当平面坐标算,须求两点间的实际距离。设A,B两点的地理坐标分别为(x1,y1),(x2,y2),(x->经度 θ, y->纬度 φ,记得把角度化为弧度)过A,B两点的大圆的劣弧长即为两点的实际距离。以地心为坐标原点O,以赤道平面为XOY平面,以0度经线圈所在的平面为XOZ平面建立三维直角坐标系。则A,B两点的直角坐标分别为:
A ( R cos ⁡ x 1 cos ⁡ y 1 , R sin ⁡ x 1 cos ⁡ y 1 , R sin ⁡ y 1 ) B ( R cos ⁡ x 2 cos ⁡ y 2 , R sin ⁡ x 2 cos ⁡ y 2 , R sin ⁡ y 2 ) \begin{aligned} &A\left(R \cos x_{1} \cos y_{1}, R \sin x_{1} \cos y_{1}, R \sin y_{1}\right)\\ &B\left(R \cos x_{2} \cos y_{2}, R \sin x_{2} \cos y_{2}, R \sin y_{2}\right) \end{aligned} A(Rcosx1cosy1,Rsinx1cosy1,Rsiny1)B(Rcosx2cosy2,Rsinx2cosy2,Rsiny2)
式中,R=6370为地球半径。则A,B两点的实际距离为
d = R × arccos ⁡ ⁡ ( O A ⋅ O B ∣ O A ∣ ⋅ ∣ O B ∣ ) d=\operatorname{R\times\arccos}\left(\frac{O A \cdot O B}{|O A| \cdot|O B|}\right) d=R×arccos(OAOBOAOB)
化简得:
d = R × arccos ⁡ [ cos ⁡ ( x 1 − x 2 ) cos ⁡ y 1 cos ⁡ y 2 + sin ⁡ y 1 sin ⁡ y 2 ] d=R\times\arccos \left[\cos \left(x_{1}-x_{2}\right) \cos y_{1} \cos y_{2}+\sin y_{1} \sin y_{2}\right] d=R×arccos[cos(x1x2)cosy1cosy2+siny1siny2]

你可能感兴趣的:(小总结,几何学)