球面上两点间距离的求法资料
- 格式:doc
- 大小:88.00 KB
- 文档页数:4
球面距离计算方法说实话球面距离计算方法这事,我一开始也是瞎摸索。
我就想啊,球面上两点的距离肯定和普通平面上两点距离不一样,那咋算呢?我最开始想,能不能把球面摊平像算平面距离那样,但是很快就发现这根本不行,球面上的几何和平面几何有本质区别呢,就像你不能把一个球的皮完整地无拉伸无变形地摊平在一个平面上一样,这是我第一个失败的尝试。
后来我就去翻以前学的数学书,有说到大圆这个概念。
我了解到在球面上,两点之间的最短距离就是经过这两点的大圆的劣弧的长度。
这就好比在地球上,从北京到纽约,如果沿着过北京和纽约的那个大圆飞,这个路线就是最短的,而不是在平面地图上看着的直线,这里从立体的地球角度看可没有直线那种概念,因为地球是个球体。
那怎么算出这个大圆劣弧长度呢?我学了这个计算方法,要用弧长公式。
这得先确定圆心角。
有个公式是根据两点的经纬度可以算出圆心角的余弦值,这里面涉及一些三角函数的东西。
我最开始计算的时候老是把经纬度的数值搞混,比如说把北纬当成南纬的值带进去计算,这就导致结果错得离谱。
后来我才长记性,做的时候可仔细对着数值运算了。
可是就算前面都对了,算弧长的时候,我又容易忘记把角度转成弧度。
这就好比你汽车的油加错了型号,整个事儿就不对了。
弧长公式里的角度是要用弧度制的。
还有呢,在确定大圆的时候,也不是那么简单的。
有时候想找经过两点的大圆,容易被一些复杂的图形干扰,我就会多画图,不管画得多难看都没关系,只要能把想法表达清楚,帮助我理解是不是找到了正确的大圆就好。
现在我再算球面距离的时候,我都会先仔细确认两点的经纬度信息,然后一步步稳稳当当地算出圆心角,最后记住把角度转成弧度去计算弧长。
如果中间某个环节不确定,我就重新检查一遍前面的步骤,因为只要有一个地方错了,结果可就相差很多,就像盖房子,一块砖歪了,可能整面墙都不稳当了。
我觉得这球面距离计算方法啊,多练就能熟练掌握。
要是基础概念比如圆心角和大圆这些理解得模模糊糊的话,计算也会老是出错的。
地球表面两点间距离公式陕西省榆林市第二实验中学 艾东宁摘要:本文用几何的方法得出地球表面两点间距离公式。
这是地理中的一个基本公式,在许多方面都有应用。
关键词:球面 距离 经纬度 圆心角已知地球表面两点A ),(11j w 、B ),(22j w ,求两点间球面距离。
(w 为纬度,j 为经度。
)解: 如图。
a 、b 为A 、B 两点所在的经线平面,l 为地轴,MO 、NO 为赤道平面与此二面角的交线,O 为地心,地球半径为R 。
过A 作AC ⊥l ,过C 作DC ⊥l ,BD ∥l 。
在△ACD 中,AC=1cos w R ⋅DC=2cos w R ⋅∠ACB=21j j -据余弦定理可得:22212)cos ()cos (w R w R AD ⋅+⋅=)cos(cos cos 221212j j w w R -⋅-又21sin sin w R w R BE DE DB ⋅+⋅=+=因△ABD 为Rt △,故222DB AD AB +==2AB 22R )cos(cos cos 221212j j w w R -⋅-212sin sin 2w w R +在△AOB 中,知道AB ,且AO=BO=R 。
设∠AOB=α由余弦定理可得:=αcos 212121sin sin )cos(cos cos w w j j w w --若经度东为正、西为负、纬度北为正、南为负,则公式为:=αcos 212121sin sin )cos(cos cos w w j j w w +-arccos =α〔212121sin sin )cos(cos cos w w j j w w +-〕α为A 、B 两点所成的球心角。
A 、B 两点的球面距离即过A 、B 两点的大圆的劣弧,即:球面距离=R πα2360当21j j =时,=α21w w -距离公式的应用:地球表面两点距离公式在交通(陆、海、空)、大地测量等方面有广泛的用途。
球面距离的盘算及其盘算公式在球面上,不在统一向径上的两点之间的最短距离,就是经由这两点的大圆在这两点间的一段劣派的长度,我们把这段抓长叫做球面上这两点间的球面距离.(也叫球面上的短程线或测地线)如图1,A.B 为球面上不在统一向径上的两点,O 为圆心,⊙O 为过A.B 的大圆,⊙O '为过 A.B 的任一个小圆,我们把这两个圆画在统一个平面内.(见图1)设α2=∠AOB ,α'='∠2B O A ,球半径为R ,半径为r .则有AB 大圆弧长R L α2=,AB小圆弧长rl α'=2r a R r R l L '='=ααα22 (1)但αα'==sin 2sin 2r R AB ,即ααsin sin '=r R (2)将(2)代入(1)得αααααααsin sin sin sin ''='⋅'=a l L(3)∵r R >,由(2)式知αα>'.因为20παα<'<<,故只需证实函数()xxx f sin =在⎪⎭⎫ ⎝⎛2.0π内为单调递减即可.∴()()0tan cos sin cos 22<-=-='xx x x x x x x x f , ∵当⎪⎭⎫ ⎝⎛∈2,0πx 时,有x x >tan )∴()x f 在⎪⎭⎫⎝⎛2,0π单调递减,由(3)式不可贵到1<lL,即l L <. 故大圆劣弧最短.球面距离公式:设一个球面的半径为R ,球面上有两点()11,βαA .()22,βαB . 个中1α,2α为点的经度数,1β.2β为点的纬度数,过A .B 两点的大圆劣弧所对的圆心角为θ,则有()]sin sin cos cos arccos[cos212121ββββααθ⋅+-=(弧度)A.B 间的球面距离为:()]sin sin cos cos arccos[cos 212121ββββααθ⋅+-==R R L 证实:如图1,⊙1O 与⊙2O 分离为过A.B 的纬度圈,过A.C 的大圆,过B .D 的大圆分离为A.B 的经度圈,而经度圈与纬度圈地点的平面互相垂直,作⊥AE 面BC O 2,垂足E位于C O 2上,贯穿连接EB.AB. 则()2212212OO OO O O AE -==()221sin sin ββR R -=()2212sin sin ββ-=R在BE O 2∆中,由余弦定理,得:()212222222cos 2αα-⋅++=B O E O B O E O BE 故()]cos cos cos 2sin sin 22[2121212222ααββββ-⋅--=+=R BE AE AB又()θθθcos 122sin 42sin 222222-==⎪⎭⎫ ⎝⎛=R R R AB ,比较上述两式,化简整顿得: ()212111sin sin cos cos cos cos ββββααθ+-=,从而可证得关于θ与L 的两个式子.盘算球面距离的三种类型现行教材中,介绍了球面距离的概念,这方面的习题许多,同窗们进修时广泛觉得艰苦.下面给出这类习题解答的示范,以供同窗们参考.1.位于统一纬度线上两点的球面距离例1 已知A ,B 两地都位于北纬 45,又分离位于东经 30和 60,设地球半径为R ,求A ,B 的球面距离.剖析:请求两点A ,B 的球面距离,过A ,B 作大圆,依据弧长公式,症结请求圆心角AOB ∠的大小(见图1),而请求AOB ∠往往起首请求弦AB 的长,即请求两点的球面距离,往往要先求这两点的直线距离.解:作出直不雅图(见图2),设O 为球心,1O 为北纬 45圈的圆心,贯穿连接OA ,OB ,A O 1B O 1,AB.因为地轴⊥NS 平面B AO 1.∴1OAO ∠与1OBO ∠为纬度 45,B AO 1∠为二面角B OO A --1的平面角.∴3030601=-=∠B AO(经度差).Rt △1OAO 中,R R OAOOA A O 2245cos cos 11=⋅=∠=. △AB O 1中,由余弦定理,B AO B O A O B O A O AB 11121212cos 2∠⋅-+=22223230cos 222222222R R R R R -=⋅⋅⋅-⎪⎪⎭⎫ ⎝⎛+⎪⎪⎭⎫ ⎝⎛=.△OAB中,由余弦定理:43222322cos 2222222+=--+=⋅-+=∠R RR R OBOA ABOB OA AOB ,∴ 21≈∠AOB .∴AB 的球面距离约为R Rππ60721180=⋅. 2.位于统一经线上两点的球面距离例 2 求东经 57线上,纬度分离为北纬 68和 38的两地A ,B 的球面距离.(设地球半径为R ).解:经由B A 、两地的大圆就是已知经线.303868=-=∠AOB ,618030RR AB ππ=⋅⋅=.3.位于不合经线,不合纬线上两点的球面距离例3A 地位于北纬 30,东经 60,B 地位于北纬 60,东经 90,求A ,B 两地之间的球面距离.(见图4)解: 设O 为球心,1O ,2O 分离为北纬 30和北纬 60圈的圆心,贯穿连接OA ,OB ,AB .\Rt △A OO 1中,由纬度为 30知 301=∠OAO ,R R OAO OA O O 2130sin sin 11==∠= , R R OAO OA AO 2330cos cos 11==∠= .Rt △B OO 2中, 602=∠OBO , ∴R R O O 2360sin 2=⋅= ,260cos 2R R B O =⋅= ,∴R R R OO OO O O 21321231221-=-=-=. 留意到A O 1与B O 2是异面直线,它们的公垂线为21O O ,所成的角为经度差306090=-,应用异面直线上两点间的距离公式.αcos 22122122212B O A O O O B O A O AB ⋅-++=(α为经度差)2222432530cos 212322132123R R R R R R -=⋅⋅⨯-⎪⎪⎭⎫ ⎝⎛-+⎪⎭⎫ ⎝⎛+⎪⎪⎭⎫ ⎝⎛=.△AOB 中,RR R R R OBOA ABOB OA AOB ⋅--+=⋅-+=∠243252cos 2222228205.08323≈+=.∴ 35≈∠AOB .∴AB 的球面距离约为R R ππ36735180=⋅.。
地球上两点间的距离 赖宝锋假设地球是一个椭球体,南北长,东西短,用水平面去截椭球,得到的都是圆面。
设地心为原点,记为O ,北极记为N ,南极记为S ,以NS 为Z 轴,NS为Z 轴正方向。
过O 作垂线,交本初子午线于A ,以OA为X 轴正方向。
按右手定则再建立Y 轴,成立体正交坐标系。
以北纬为正,南纬为负,东经为正,西经为负。
假设南北两极距离为2a ,赤道半径为b 。
那么地球球面方程为2222221x y z b b a++=任取地球球面上一点P ,假设纬度为ϕ,经度为ψ,22ππ-≤ϕ≤,ππ-≤ψ<,则sin ϕ=则22222sin z x y z ϕ=++又2222221x y z b b a++=求得22222222sin cos sin a b z a b ϕ=ϕ+ϕ而z 与sin ϕ同号,故z =222222222222222222242222222222222sin (1)cos sin sin cos cos sin cos sin z b b a b x y b b z b a a a a b b a b b a b a b ϕ+=-=-=-ϕ+ϕϕϕ=-=ϕ+ϕϕ+ϕ=x =ψ=y =ψ=这样,设地球球面上两点1P ,2P ,纬度分别为12,ϕϕ,经度分别为12ψ,ψ,则1P 坐标为1x =1y =1z =2P 坐标为2x =2y =2z =则12||PP =====若用角度制,把ϕ替换为180πϕ,ψ替换为180πψ,即可。
例如,把118.222替换为118.222180π,32.77替换为32.77180π,然后代入公式中运算,即可。
给定圆心O 的经纬度,设为00(,)ϕψ,这就相当于知道圆心的坐标0x =0y =0z =地球球面方程为222222(,,)10x y z f x y z b b a=++-=22f x x b ∂=∂,22f y y b∂=∂,22f zz a ∂=∂ 这样,地球过O 的切平面的方程为000000222222()()()0x y z x x y y z z b b b-+-+-= 即000000222()()()0x y z x x y y z z b b b -+-+-= 于是,到O 距离为r 且在切平面上的点的轨迹方程为2222000000000222()()()()()()0x x y y z z r x x x y y y z z z b b a ⎧-+-+-=⎪⎨---++=⎪⎩令0x x u -=,0y y v -=,0z z w -=,则2222002220u v w r x y z u v w bb a ⎧++=⎪⎨++=⎪⎩2222u v w r w ++=⇒=220022()x y u v b b +=222222222222220000000044444442()x x y y z z z z u uv v r u v r u v b b b a a a a ++=--=-- 2222222200000004444442()()x z x y y z z u uv v r b a b b a a++++= 424224424224220000000()2()a x b z u a x y uv a y b z v b z r ++++= 4424242222000004242424242420000002a x y a y b z b z r u uv v a x b z a x b z a x b z +++=+++444424242222220000000004242424242424242424200000000002()()a x y a x y v a x y v a y b z b z r u uv v a x b z a x b z a x b z a x b z a x b z +++-+=+++++4424244222220000000424242424242424200000000()[()]a x y a y b z a x y b z r u v v a x b z a x b z a x b z a x b z +++-=++++42424424242428224422442284200000000000000042424242424224242200000000()()()()()a yb z a x y a y b z a x b z a x y a b x z a b y z b z a x b z a x b z a x b z a x b z +++-++-==++++这样,4442244228442222000000004242424224242000000()[]()a x y a b x z a b y z b z b z r u v v a x b z a x b z a x b z ++++=+++ 令22000v b z θθ=⇒=令4200424200a x y u v a x b z θ+=+242000424200242a x y ub z a x b z θθθθ=-+=-再通过且平面方程求出w ,这样,我们得到参数方程24220000222()/u v b z x y z w u v b b a θθθ⎧⎪⎪⎪⎪=⎨⎪⎪=-+⎪⎪⎩这样,24200200000000222()/x u x x y v y b z y x y z z w z u v z b b a θθθ⎧=+=+⎪⎪⎪⎪=+=+⎨⎪⎪=+=-++⎪⎪⎩现在讨论其近似的经纬度我们再来看坐标和经纬度之间的关系x y z ⎧=⎪⎪⎪⎪=⎨⎪⎪⎪=⎪⎩我们从中可以看出z 可唯一由ϕ表出:z =这样,ϕ也必然是z 的函数,两边关于z 求导,得到1d d d dz d azϕϕ==1sin d d ab az d ϕϕ=ϕ22d d ϕ==-这样,00000|()|d d z z w dz dzϕϕϕϕϕϕϕϕϕ===+-=+ 再来看x 或y ,它们都是ϕ和ψ的表达式,当ϕ确定下来后,由于cos sin x y ⎧⎧=ψ=⎪⎪⎪⎪⇒⎨⎨⎪⎪=ψ=⎪⎪⎩⎩它们便由x 和y 唯一决定,用反正弦或反余弦或反正切,可唯一地得到ψ。
地球上两点间距离的计算公式最常用的计算公式是根据球面三角形理论,即将地球看作一个球形,而不是一个平面。
这可以用来计算两个地理位置之间的直线距离、驾驶距离或航线距离等。
其中,最经典的公式是哈维尔斯因公式(Haversine formula)。
该公式基于球面三角学,使用了地球半径和两点间的经纬度差异,计算出两点之间的球面距离。
该公式适用于较小的距离,误差通常在0.5%以内。
该公式的计算过程如下:1.首先,将两个地点的经纬度转换为弧度。
地球上的经度范围从-180度到180度,纬度范围从-90度到90度。
转换为弧度的公式是:经度(弧度)=经度(度数)*π/180,纬度(弧度)=纬度(度数)*π/180。
2.使用三角函数计算两点之间的差异,即:Δλ=λ2-λ1和Δφ=φ2-φ1,其中λ表示经度,φ表示纬度。
3. 使用球面三角学计算。
球面三角学是一种关于球体上的三角形的几何学方法。
根据球面的半径r,可以计算出一个球面上的球面角(haversine值)h,公式为:h = sin^2(Δφ/2) + cos(φ1) *cos(φ2) * sin^2(Δλ/2)。
4. 计算球面距离。
球面距离d可以通过以下公式计算:d = 2 * r * arcsin(sqrt(h)),其中r是地球的平均半径。
需要注意的是,这些公式计算的是两点之间的球面距离,而不是实际的行驶距离。
实际的行驶距离可能受到多种因素的影响,如地形、交通状况等。
另一个常用的计算公式是Vincenty公式,它是基于椭球体几何学的精确计算公式。
Vincenty公式考虑了地球的离心率,因此更加精确。
然而,由于其计算复杂度较高,一般不适用于实时计算,而主要用于精确测量和研究。
综上所述,地球上两点间距离的计算公式主要有哈维尔斯因公式和Vincenty公式。
哈维尔斯因公式适用于较小的距离,计算简单且误差较小;而Vincenty公式更为精确,适用于测量和研究工作。
根据实际需求,可以选择合适的公式来计算两点间的距离。
球面上两点间距离的
求法
球面上两点间距离的求法
地球表面某点的位置是用纬度和经度来确定的,只要知道球面两点的经纬度,就能求出该两点的球面距离。
球面距离公式:
设地球上A 地在北纬1θ度,B 地在北纬2θ度,它们的经度之差为α,[]πα,0∈ AB 两地的球面距离是
R )sin sin cos cos arccos(cos 2121θθαθθ+⋅
同理,当一点A 在北半球、一点B 在南半球时,同理可得A 、B 的球面距离是 R )sin sin cos cos arccos(cos 2121θθα
θθ-⋅ 检验可知对两地在同一经度和在同一纬度时均适合
一. 同经度两点的球面距离
例1. 在地球本初子午线上有两点A 、B 。
它们的纬度差为
90°,
若地球半径为R ,求A 、B 两点间的球面距离。
解:如图1所示,设O 为地球球心,
由题意可得,故。
图1
二. 同纬度两点的球面距离
例2. 在地球北纬度圈上有两点A 、B ,它们的经度差为度,若地球半径为R ,求
A 、
B 两点间的球面距离。
解:设度的纬线圈的圆心为,半径为r ,则。
依题意。
取AB 的中点C ,则。
在。
三. 不同纬度、不同经度两点的球面距离
例3. 设地球上两点A、B,其中A位于北纬30°,B位于南纬60°,且A、B两点的经度差为90°,求A、B两点的球面距离。
解:如图4所示,设,分别为地球球心、
北纬30°纬线圈的圆心和南纬60°纬线圈的圆心。
连结。
则。
由异面直线上两点间的距离公式得
即A、B两点的球面距离为。