经纬度计算两点之间距离

北京(39.904214, 116.40741300000002)
广州(23.129163, 113.26443500000005)
怎么用公式计算出这两地的距离(设地球为球面,半径为6400km)

因为1°纬度的距离是截在经线上的,而所有经线长度都相等,所以1°纬度距离也相等。它的值约等于2万千米除以180°即111千米。而1°经度是截在纬线上的,而同为北半球或南半球,纬线的长度是不同的,所以1°经度距离也不一样,它的值约等于111乘以cos(所在纬度)。例如,求截在30°N纬线的1经度的距离=111乘以COS30°。所以两地的距离这样求,先算出纬度差,然后乘以1°纬度的距离111千米得到水平方向上的距离;然后再算出经度差,乘以111COS(纬度)。然后用勾股定理计算出两点距离就可以了(因为地球是个球体,北京和广州的纬度差异,所以实际上构不成直角三角形,因此只能求出来个约数。而实际距离就在你用广州纬度算出的距离和用北京纬度算出的距离之间)
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
设地球半径为R,地心为0,球面上两点A、B的球面坐标为A(α1,β1),B(α2,β2),α1、α2∈[-π,π],β1、β2∈[-π/2,π/2 ],

AB =R•arccos[cosβ1cosβ2cos(α1-α2)+sinβ1sinβ2]
利用勾股定理与正弦定理则可求出AB两点间的直线距离,在利用正弦定理可求出AB两点与地球0点夹角的度数,再利用如下公式:角EOD的度数/360度=E与D之间的球面距离/大圆周长,则可求出AB的球面距离。本回答被提问者采纳
第2个回答  2011-03-27
作图画出北京和广州,连接两点。分别过两点做纬度的垂线,形成一个矩形,根据高中所学地理知识(没记错的话一个纬度距离大约是111KM)算出矩形的长和宽,之后算出直角三角形的斜边长度,就是两地之间距离了。个人意见,仅供参考
相似回答