本发明属于机载飞行管理系统领域,涉及一种大圆航线距离计算方法。
背景技术:
现有飞行管理系统的距离计算方法有以下两种:该距离是指飞机从一个航路点飞向另外一个航路点之间的距离。传统距离计算方法有以下两种:
传统方法一:通过平面坐标(经纬度坐标)近似计算距离:近似认为平面上两点p1,p2,设两点经纬度坐标分别为p1(n1,e1),p2(n2,e2),通过对应经度相减的平方与纬度相减平方和,开根号,再乘以对应每1度经纬度对应的距离值,设为常系数η,η值约为111.1km,相乘进而得到两点的距离d,具体公式如下:
传统方法二:通过球面坐标方法进行距离计算:现将经纬度坐标化为球面坐标,通过矢量运算得到两点之间的圆心角值,再乘以地球半径得到,与本文类似。但本方法将地球近似为一个球体进行计算。以固定的地球半径r=6371.4km进行计算。
其中,方法一的优点是计算简单,直观。但是精度低,通用性差。
方法二相对方法一虽然计算相对复杂,但是考虑到地球实际情况,距离计算精度相对方法一精度会进一步提高。但高纬度距离计算时会形成精度损失,如果是高纬度又是远距离大圆航线距离计算时精度误差会进一步扩大。
技术实现要素:
为了解决现有方法一、方法二存在的高纬度和高纬度长远距离计算时算法本身造成的精度误差问题,本发明提供的大圆航线距离计算方法考虑地球实际情况,将地球扁平率引入计算中去,实现地球半径实时动态计算,根据计算点经纬度的不同,实时计算当地位置的地球半径,进而计算大圆航线距离,解决了高纬度远距离、超远距离计算时的精度损失,与实际情况相符,提高了计算精度。
本发明的具体技术方案是:
本发明提供了一种大圆航线距离计算方法,包括以下步骤:
【1】对地球建立椭球面o-xyz坐标系
其中,地球地心为o-xyz坐标系的原点;垂直于赤道基本面且经过地心的一条轴称为z轴,指向北极为正;本初子午面与赤道面重合的轴称为x轴,向东为正,y轴由右手定则确定;
【2】求取航段起始点p1、终止点p2在椭球面坐标系下对应的半径r1和r2;
【3】根据起始点p1、终止点p2在椭球面坐标系下对应的半径r1和r2获取起始点p1、终止点p2点在椭球面坐标下的坐标矢量;
r1、r2分别为起始点p1、终止点p2在椭球面坐标下的坐标矢量;
θ1=90-n1;
θ2=90-n2;
n1,e1分别为起始点p1点的纬度值和经度值,-e1表示起始点p1的经度为西经;
n2,e2分别为终止点p2的纬度和经度值,-e2表示终止点p2的经度为西经;
【4】根据起始点p1、终止点p2的椭球面的坐标矢量,叉乘求取p1点和p2点弧度夹角ω:
r1×r2=r1r2cosω
【5】求取中间半径r;
【6】求取起始点p1至终止点p2的距离d;
d=r*ω。
进一步地,上述步骤【2】中r1和r2的具体计算方法是
其中,f为地球的椭球扁平率;a表示椭球的长轴长度,
本发明的有益效果:
1.本发明建立椭球面坐标模型,基于该模型进行大圆航线距离计算,替代了基于传统球面坐标模型大圆航线距离计算,更符合真实地球情况。
2.本发明在椭球面坐标模型的基础上,进一步对计算点位置的地球半径进行实时动态计算,相比传统计算大圆航线距离时采用固定的地球半径进行距离计算的方法,更符合实际情况,同时也提高了距离计算精度。
3.本发明不仅适用于短航程、低纬度距离计算,更进一步的,适用于高纬度、远航程大圆航线距离计算,精度在千分之0.5以内,适用性更广、精度更高。
附图说明
图1为椭球面坐标系的示意图;
图2为地球表面任意一点投影到椭球面坐标系的示意图;
图3为椭球面坐标系下进行大圆航线距离计算的示意图。
具体实施方式
下面结合附图对本发明的方法作进一步的描述:
一种大圆航线距离计算方法,具体执行步骤如下:
步骤1:先对地球建立椭球面坐标系:以地心为原点,建立o-xyz坐标系。赤道为基本面,垂直于赤道基本面经过地心的一条轴称为z轴,指向北极为正;本初子午面与赤道面重合的轴称为x轴,向东为正,y轴与xz平面垂直构成右手定则。如图1所示。
步骤2:求取航段起始点p1、终止点p2在椭球面坐标系下对应的半径r1和r2;
由于地球是一个不规则椭球体,在两极区,地球半径大约为6356.9088千米;而赤道地区地球半径大约是6377.830千米,期大约相差20.9千米。为了与实际更加贴近,我们在进行距离计算时将所在计算点的地球半径进行实时动态计算。为此我们引入椭球扁平率f:则r1和r2均采用下式进行计算:
其中,a表示椭球的长轴长度,在这里值为a=6378.137km;
步骤3:将航段起始点p1、终止点p2的经纬度坐标值转换为椭球面坐标系下的坐标值,根据起始点p1、终止点p2在椭球面坐标系下对应的半径r1和r2获取起始点p1、终止点p2点在椭球面坐标下的坐标矢量;
北纬、东经为正;南纬西经为负;
如图2所示,设起始航路点p1(n1,e1),目标航路点p2(n2,e2),则
r1、r2分别为起始点p1、终止点p2在椭球面坐标下的坐标矢量;
θ1=90-n1;
θ2=90-n2;
n1,e1分别为起始点p1点的纬度值和经度值,-e1表示起始点p1的经度为西经;
【4】根据起始点p1、终止点p2的椭球面的坐标矢量,叉乘求取p1点和p2点弧度夹角ω:
r1×r2=r1r2cosω
【5】求取中间半径r;
为了与实际贴近,在本文中引入地球半径动态计算,设p1点所在处的地球半径为r1,p2点所在的地球半径为r2,一般来讲,r1不等于r2,为了方便计算,我们取其中间值,设为r,令:
在距离计算时,利用中间值r替代传统计算时地球半径固定值r0=6371km,更贴近实际,精度会进一步提高。
【6】求取起始点p1至终止点p2的距离d:
d=r*ω
为便于说明本发明的优势,本实施例在杰普逊航图上截取了三组数据。结合杰普逊航图三组数据分为三组例子:分别在短航程、低纬度远航程、高纬度远航程三种情况下对传统方法和本文改进后的算法做仿真对比,以说明算法的有效性。
第一组测试:短航距测试(北欧地区)。设航路点p1(n44°55.5′,e7°51.7′),p2(n44°57.9′,e8°58.2′),在杰普逊航图上读取距离数据47.2nm(87.414km)。
传统方法1:带入传统方法1,也就是说明书公式(1)中进行计算:
可得两航路间距离d=87.15km。
传统方法2:带入传统方法2,利用虽然是球面坐标系进行计算,但是运算中运用地球固定半径进行计算。带入计算可得:
d=6371.4*0.0137068=87.3315km
改进后算法:带入p1、p2数据按照说明书的步骤进行计算:
带入说明书公式(5)实时计算可得p1、p2点所对应的地球半径:
r1=6367.5195km,r2=6367.5044km
带入公式(6),进一步可得:
r=6367.5117km
进一步,将p1,p2经纬度平面数据按照说明书步骤化成球面坐标系下,通过矢量运算计算可得圆心弧度值,进一步计算可得改进后大圆航线距离:d=87.2783km。
第二组测试:中低纬远距离航程测试(北美地区)。同理,在杰普逊航图上中低纬地区采集远距离航程两组航路点:
p1(n41°36.24′,w115°2.1′),p2(n47°22.41′,w106°51.78′)在杰普逊航图上真实读取两点之间距离数据491nm(909.332km)。
同理,将航路数据分别带入传统方法1,传统方法2,和改进后算法分别进行测试:
传统方法1:d=891.218km
传统方法2:d=910.28km
改进后算法:d=909.92km
第三组测试:高纬度远距离航程测试
同理在,在杰普逊航图上高纬度地区选取距离为540nm(1000km)的两个p1(n88°01′,w111°18.8′),p2(n79°0′,w118°13.46′)
将航路数据分别带入传统方法1,传统方法2,和改进后算法分别进行测试:
传统方法1:d=1010.58km
传统方法2:d=1002.8583km
改进后算法:d=1000.5002km
表1:三种方法计算结果对比表
由3组测试用例可以看出:在短航程距离计算中,3种方法基本上计算结果能够反映距离情况;但随着航程距离的增加,传统方法1缺点逐渐显现出来,精度逐渐损失,传统方法2计算误差约为1km,改进后算法计算误差0.6km,两者也相差不大。随着纬度的增加,第3组测试用例可以看出,在高纬度大航程计算时,传统的方法1误差大约为10km,方法2误差为3km,改进后算法仍能保持较高的计算精度。这是因为随着纬度的增加,地球半径以及发生量较大变化,改进后的算法实时进行当地地球半径计算更满足实际情况。进而再计算大圆航线距离,更符合实际,计算精度当然会更高,可靠性通用性稳定性也会更强。