一种针对飞机飞行轨迹数据跳变震荡的处理方法与流程

文档序号:12120258阅读:1337来源:国知局
一种针对飞机飞行轨迹数据跳变震荡的处理方法与流程

本发明涉及一种针对飞机飞行轨迹数据跳变震荡的处理方法,属于飞机飞行轨迹数据优化处理方法技术领域。



背景技术:

飞机在飞行过程中,采集到的飞机飞行轨迹的数据,部分存在数据缺失和数据错误等问题,其中数据缺失即一个点的经纬度高度、水平速度、垂直速度和时间可能不全部存在,数据错误为经纬度或者高度的数据有误、来回震荡等。基于上述技术问题,有必要提供一种针对飞机飞行轨迹数据跳变震荡的处理方法,能够将飞机飞行轨迹中缺失的数据补全,将飞机飞行轨迹中错误的数据修改更新,对于无法修正的数据直接删除,最终实现在部分缺失数据的情况下能够绘制出完整且相对正确的飞行轨迹。



技术实现要素:

本发明正是针对现有技术存在的不足,提供一种针对飞机飞行轨迹数据跳变震荡的处理方法,能够将飞机飞行轨迹中缺失的数据补全,将飞机飞行轨迹中错误的数据修改更新,对于无法修正的数据直接删除,在部分缺失数据的情况下能够绘制出完整且相对正确的飞行轨迹。

为解决上述问题,本发明所采取的技术方案如下:

一种针对飞机飞行轨迹数据跳变震荡的处理方法,包括对飞行轨迹数据中高度跳点的处理,且包括以下步骤:

S1、输入含飞机经纬度、高度、水平速度、竖直速度、时间信息的离散点集合;

S2、利用前一个有效点与当前点比较,用速度和时间计算两点间距离,与读入的原始数据对比,若相差过大,则更正或删除;

S3、输出无高度跳点的离散点集合。

作为上述技术方案的改进,还包括对飞行轨迹数据中经纬度震荡的处理,且包括以下步骤:

S′1、输入含飞机经纬度信息的离散点集合;

S′2、对离散点集合中的每一个点进行处理:给定顺序相邻三个点:...,Pi,Pi+1,Pi+2,...;

若以中间点Pi+1为顶点,Pi+1Pi,Pi+1Pi+2为边的角度过小,则交换Pi+1和Pi+2,...,Pi,Pi+2,Pi+1,...;再检查这三个点之前的一个点和这三个点交换以后的前两个点,即Pi−1,Pi,Pi+2;反之,三点顺序不变,检查这三个点的后两个点和接下来的一个点,即Pi+1,Pi+2,Pi+3;

S′3、输出无经纬度震荡的离散点集合。

本发明与现有技术相比较,本发明的实施效果如下:

本发明所述的一种针对飞机飞行轨迹数据跳变震荡的处理方法,通过在读入点的过程中,利用上一有效点的数据,包括经纬度、高度、两个方向的速度、时间,判断该当前点是否有效、以及该点的高度是否需要更改;将无效数据删除,有效数据即需要更新高度的数据更新后存入,能够解决高度跳点的问题。此外,通过每次查找两个已存入的有效点,利用其与当前点的经纬度数据进行比较,判断这三个点的顺序是否需要改变,更新所有数据的顺序,能够解决经纬度震荡的问题。

附图说明

图1为具体实施例中对飞行轨迹数据中经纬度震荡的处理方法示意图;

图2和图3为具体实施例中对飞行轨迹数据中高度跳点进行处理的具体处理示例图;

图4和图5为具体实施例中对飞行轨迹数据中经纬度震荡进行处理的具体处理示例图。

具体实施方式

下面将结合具体的实施例来说明本发明的内容。

本实施例所提供的一种针对飞机飞行轨迹数据跳变震荡的处理方法,包括对飞行轨迹数据中高度跳点的处理和对飞行轨迹数据中经纬度震荡的处理。其中:

一、对飞行轨迹数据中高度跳点的处理方法如下:

1、输入:

离散点;

其中:(x,y):经纬度,height:高度(m),sv:水平速度(km/h),hv:竖直速度(ft/min),time:时间(s)。

经纬度时间一定存在,高度速度不一定。

2、输出:

新的离散点;

使得每个Pi数据尽可能完整,且无高度跳点。

3、核心算法:

利用前一个有效点与当前点比较,用速度和时间计算两点间距离,与读入的原始数据对比,若相差过大,则更正或删除。

4、具体算法:

读入一个离散点Pi(∈Original−Cdata)如果经纬度数据缺失或者高度为负,移除;否则:

4.1、若为第一个数据,Cdata.pushback(Pi)。

4.2、若非第一个数据,与前一个离散点exP(∈Cdata)进行比较:

如果两点时间间隔超过δt,Cdata.pushback(Pi)。

否则:

∗realDistance:用三维坐标计算两点之间平行于地球表面的距离;

其中R=6371004米为地球半径,P1(x1,y1,h1),P2(x2,y2,h2)为给定两点三维坐标。

∗computedDistance:用水平速度和时间计算两点之间的距离;

(3)

∗realHeight=Pi.height:原始数据Pi的高度;∗computedHeight:用前一个数据的竖直速度和时间计算的高度。

如果:d<ds且h<dv,Cdata.pushback(Pi)。

如果:d<ds且h≥dv,用速度和时间计算出的高度computedHeight更新Cdata的高度数据,Cdata.pushback(Pi)。

否则移除。

∗这里取δt=10,ds=0.25,ds=0.1。即,间隔超过10秒不做比较直接存入,距离误差与高度误差分别小于25%和10%。

二、对飞行轨迹数据中经纬度震荡的处理方法如下:

1、输入:

离散点;

其中,(x,y):经纬度。

2、输出:

离散点为对下标i重新排序,使得这组数据Cdata在经纬度坐标下不会来回跳。

3、核心算法:

给定顺序相邻三个点:...,Pi,Pi+1,Pi+2,...;

若以中间点Pi+1为顶点,Pi+1Pi,Pi+1Pi+2为边的角度过小,则交换Pi+1和Pi+2,...,Pi,Pi+2,Pi+1,...;再检查这三个点之前的一个点和这三个点交换以后的前两个点,即Pi−1,Pi,Pi+2。反之,三点顺序不变,检查这三个点的后两个点和接下来的一个点,即Pi+1,Pi+2,Pi+3。

4、具体算法:

4.1、先对数据进行分类,将经纬度相同的点按时间顺序放在一起。,

Qi={Pi|所有Pi经纬度相同};

4.2、按顺序对相邻三个集合Qi,Qi+1,Qi+2进行分析,从三个集合中各取一个点,Pl∈Qi,

Pj∈Qi+1,Pk∈Qi+2:

计算每两个点之间的距离dlj=|Pj−Pl|,dlk=|Pk−Pl|,djk=|Pk−Pj|给定两点Pj(xj,yj),Pk(xk,yk),距离djk计算公式:

(7)

φ=arccos[cos(90−yk)cos(90−yj)+sin(90−yk)sin(90−yj)cos(xj−xk)] (8)

其中R=6371004米为地球半径。

计算PjPl与PjPk的夹角ϕl:

(9)

•若ϕi过小,Qi+1与Qi+2交换位置,对Qi−1,Qi,Qi+2进行分析,转到(a)(b);

•若Qi+1与Qi+2不需要交换位置,对Qi+1,Qi+2,Qi+3进行分析,转到(a)(b)。

4.3、输出。

5、注意事项:

若省去步骤4.1的分类,有可能结果不准确。这里我们举个反例来说明:

...,Pi(x1,y1,hi),Pi+1(x1,y1,hi+1),Pi+2(x1,y1,hi+2),Pi+3(x3,y3,hi+3),Pi+4(x3,y3,hi+4),Pi+5(x3,y3,hi+5),Pi+6(x6,y6,hi+6),Pi+7(x6,y6,hi+7),...

容易得出:Pi到Pi+7每三个连续的点都满足角度条件,不用交换顺序;

然而由图图1可看出,(xi,yi),(xi+3,yi+3),(xi+6,yi+6)在(xi+3,yi+3)处的夹角比较小,所以(xi+3,yi+3)和(xi+6,yi+6)两个点需要交换顺序。

三、具体处理示例:

给定30个点,若只对高度去噪,删除了2个点(这两个点的高度为负),更新了2个点的高度。

图2和图3为删除两个高度为负的点之后,其余28个点的时间和高度图。

图2中:上面的折线是更新之前的28个点,下面的折线是更新之后。

图3中:图2的右端24个点的放大。蓝色是更新之前的24个点,红色为更新之后。给定30个点,用上述对飞行轨迹数据中高度跳点的处理方法,对全部数据去噪且对高度更新后,剩余23个有效点。

关于经纬度,用上述对飞行轨迹数据中经纬度震荡的处理方法,对这23个点的顺序更新,见图4和图5。

图4中:上面的折线是更新之前的轨迹,下面的折线是更新之后。

图5中:对图4的右端进行放大。上面的折线是更新之前,下面的折线为更新之后。

在读取点的过程中,将错误且无法更正的数据直接删除,将错误但可更正的数据更新后存入,解决了高度跳点的问题。每次调用前两个点与当前点作比较,解决经纬度震荡问题。

此方法在已知所有点的情况下是适用的,在读入点的过程中查找两个已存入数据的情况下也可用。但由于在读取点的过程中查找两个点不被允许,目前的工作重点在每次只调用一个已存入点的情形下尝试解决该经纬度来回跳的问题。

以上内容是结合具体的实施例对本发明所作的详细说明,不能认定本发明具体实施仅限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明保护的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1