在球面上,两点的球面距离就是经过这两点的大圆在这两点间的一段劣弧的长度。可以证明球面距离是球面上两点之间的最短距离。
设地球半径为R,球面上两点A、B的球面坐标为A(α1,β1),B(α2,β2),则AB间的球面距离为:
d = R arcos[cosβ1 cosβ2 cos(α1-α2)+sinβ1 sinβ2]
公式推导的基本的思路:
先计算A、B两点大圆劣弧所应用的圆心角,转为弧度后乘以半径就是弧长。圆心角是OA,OB两向量的夹角,为了得到向量表示,先将两点表示为空间直角坐标系。向量夹角计算,可通过cos=a·b/(|a|*|b|)来计算夹角余弦。