球面距离怎么求???

王朝干货·作者佚名  2011-11-25
窄屏简体版  字體: |||超大  

设两点到球心的张角为a

则两点的球面距离为:

d=R*a

球面两点间的球面距离的计算

1.计算

假设点A的经度为东经a1度,纬度为北纬b1度;点B的经度为东经a2度,纬度为南纬b2度。

所以α = b1, β = b2, 设∠ACE的值为θ,那么θ = |a1 – a2|。

可以计算出

|OC| = R * sin(α) |OD| = R * sin(β)

|AC| = R * cos(α) |BD| = R * cos(β)

由于|CE|=|BD|,|CD|=|OD|+|OC|

由余弦定理可以知道

|AE|2=|AC|2+|CE|2–2*|AC|*|CE|*cos(θ)

|AE|2=R2*cos2(α)+R2*cos2(β)-2*R2*cos(α)cos(β)*cos(θ)

|BE| = |CD|

由|AB|2 = |AE|2 + |BE|2

|AB|2 =R2*cos2(α)+R2*cos2(β)-2*R2*cos(α)cos(β)*cos(θ)+R2*sin2(α)+R2*sin2(β)+2*R2*sin(α)sin(β)

|AB|2=2R2(1+sin(α) sin(β) - cos2 (α) cos2 (β) cos(θ))

在三角形AOB中,亦可用余弦定理得到

|OA|2 + |OB|2– 2 |OA| * |OB| * cos(AOB)

cos(AOB) = cos(α) * cos(β) * cos(θ) - sin(α) sin(β)

这样可以求出AOB的值(单位为弧度),最后球面距离为R * (AOB)。

完毕,呵呵。

注意到,

(1)当A、B同为东经或同为西经时,θ = |a1 – a2|,那么当 A、B不是同为东经或同为西经时,θ = |a1 + a2|,若θ 180度,θ = 360 -θ(假设单位是角度,而不是弧度)。

(2)当A、B同为南半球或同为北半球时,|CD| = | |OC| - |OD| |,当A、B在不同的南北半球时,才是|CD| = |OC| + |OD|。

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航