本发明涉及一种基于网络地图模拟描绘两地间航线的方法,属于民航技术领域。
背景技术:
随着民航业的快速发展,全球的航班数量也在不断增长,各大航司都扩大了航线范围。为了直观展示全球航班的飞行轨迹,在网络地图上描绘出任意两地间的航班的飞行航线,这种基于网络地图的两地间的弧线描绘,能够给航线图的客观展示带来了极大帮助,对于机场、航司、空管来说,都有重要的意义,有助于机场、航司、空管梳理出所有航班的飞行轨迹范围,从而便于制定未来航班飞行计划。
现有技术中,按照常见网络地图中任意两点间的弧线算法所描绘出来的曲线,在两地纬度较高时,曲线的弧度很高,跨度较大,不符合航班的实际飞行轨迹。
技术实现要素:
本发明正是针对现有技术存在的不足,提供一种基于网络地图模拟描绘两地间航线的方法,能够模拟计算并描绘两地间的曲线,使描绘的航线更加贴近于飞机的飞行轨迹。
为解决上述问题,本发明所采取的技术方案如下:
一种基于网络地图模拟描绘两地间航线的方法,包括以下步骤:
S1、在网络地图中获取出发地和目的地的经纬度坐标,并计算出发地和目的地的经度差、纬度差;
S2、判断航线方向是自西向东还是自东向西;
S3、将网络地图中自发形成的两点间的大弧线通过多个分割点分割成若干个线段,计算每一段经度对应的偏移的隔断系数和每一段纬度对应的偏移量;
S4、根据步骤S1计算的纬度差和自定义的纬度差校准系数计算校准纬度差;
S5、根据步骤S3中得到的各段经度对应的偏移的隔断系数,计算得到多个分割点的经度值;
S6、根据步骤S3中得到的各段纬度对应的偏移量,计算得到多个分割点的纬度值;
S7、根据步骤S2得到的航线实际方向、步骤5计算得到多个分割点的经度值和步骤6计算得到多个分割点的纬度值,将多个分割点的坐标依次连接起来描绘成曲线,模拟得到符合实际飞行轨迹的航线。
本发明与现有技术相比较,本发明的实施效果如下:
本发明所述的一种基于网络地图模拟描绘两地间航线的方法,能够模拟描绘出更符合飞机实际飞行轨迹的航线,有助于直观显示全球航班实际飞行状况,便于机场、航司、空管进行未来航班飞行的宏观把握与规划。
具体实施方式
下面将结合具体的实施例来说明本发明的内容。
本实施例提供的一种基于网络地图模拟描绘两地间航线的方法,主要对网络地图中两地间的连线进行模拟计算并描绘出来,使得该曲线更符合飞机的实际飞行轨迹;
具体包括以下步骤:
1. 在网络地图中获取出发地、目的地各自的经纬度坐标,并计算相应的经度差、纬度差:
1) 设:出发地的经度为λd,纬度为μd,目的地的经度为λa,纬度为μa;
2) 分别计算出发地、目的地经度差和纬度差:
Δλ=|λd-λa |;
Δμ=|μd-μa |。
2. 在模拟计算描绘航线时,需要根据实际情况绘制最短的航线,防止航线跨越了整个东经或西经,不符合客观事实,此时需要判断航线方向,航线自西向东还是自东向西;
1)设:1个单位角度对应的弧度为R,1个单位弧度对应的角度为D,经度差Δλ对应的弧度为U,判断过航线方向的经度差对应的弧度为V,判断过航线方向的经度差为Y,圆周率为π;
2) 将经度差的值与180度进行比较,即:
若Δλ>180度,则进入步骤3);
若Δλ<180度,则进入步骤3;
3) 计算经度差Δλ对应的弧度值U=(Δλ)/R;
4) 将经度差Δλ对应的弧度值U与0进行比较:
若U>0,此时经度差已跨越半个地球,则计算V=U-2*π;
若U<0,此时经度差没有跨越半个地球,则计算V=U+2*π;
5) 计算已确定方向的弧度所对应的角度:Y=V/D。
3. 为了得到符合实际情况的弧线,需要将网络地图中自发形成的两点间的大弧线分割成若干个线段,即获取到多个点坐标,进而描绘成合理的平滑曲线:
1) 设:出发地目的地之间的大弧线自定义单位1,其隔断参数为F,第二个点偏移纬度为K,每一段纬度对应的偏移量为H,第二点偏移的隔断系数为J,分段数值为G。
2) 计算每一段经度对应的偏移的隔断系数:
计算分段数值G=1/F;
从大弧线的第一个点开始,即从偏移的隔断系数J1=0开始,偏移的隔断系数自增加F,即得到第二个点偏移的隔断系数为J2=0+F;
一直到偏移的隔断系数增加至单位1为止,各段经度隔断系数为:
J1=0;
J2=F;
J3=2*F;
J4=3*F;
……;
JG-1=G*F(即单位1)。
3) 计算每一段纬度对应的偏移量:
计算分段数值G=1/F;
从大弧线的第一个点开始,即从偏移的隔断系数J1=0,以及偏移纬度为0开始,偏移的隔断系数自增加F,即得到第二个点偏移的隔断系数J2=0+F,第二个点偏移纬度为K=(0+F)*π;
一直到偏移的隔断系数增加至单位1为止,各段偏移隔断系数为:
J1=0;
J2=0+F;
J3=F+F=2*F;
J4=3*F;
……;
JG-1=G*F(即单位1);
计算相对应各点的偏移纬度为:
K1=0*π;
K2=J2*π;
K3=J3*π;
……;
KG-1=JG-1*π;
计算每一段纬度对应的偏移量为:
H1=3*sin(K1);
H2=3*sin(K2);
……;
HG-1=3*sin(KG-1),其中常数3为自定义的偏移量校准系数。
4.根据步骤1得知纬度差为Δμ:
1) 设:校准纬度差为N;
2) 计算校准纬度差N=0.1*Δμ,其中0.1为自定义的纬度差校准系数。
5. 根据步骤3中小步骤2)得到的各段经度对应的偏移的隔断系数,可以得到分割后的各个点的经度坐标,
1)设:得到的各点经度坐标为λ1,λ2,λ3,……,λG-1;
2)计算得到各点经度坐标为:
λ1=λd+Y*J1;
λ2=λd+Y*J2;
……;
λG-1=λd+Y*JG-1。
6. 根据步骤3中小步骤3)得到的各段纬度对应的偏移量,可以得到分割后的各个点的纬度坐标,
1) 设:各段纬度对应的偏移量为H1,H2,H3,……HG-1,得到的各点纬度坐标为μ1,μ2,μ3,……,μG-1;
2) 计算得到各点纬度坐标为:
μ1=μd +(Δμ)*J1+H1*N;
μ2=μd +(Δμ)*J2+H2*N;
……;
μG-1=μd+(Δμ)*J3+HG-1*N。
7. 根据步骤2得到绘制航线的实际方向,步骤5,步骤6得到分成G段后的各点经纬度坐标,
1) 设:新坐标为Z(λ,μ),则各点新坐标分别为:
Z1(λ1,μ1)=(λd+Y* J1,λd +Y* J1+H1*N);
Z2(λ2,μ2)=(λd+Y* J2,λd +Y* J2+H2*N);
……;
ZG-1(λG-1,μG-1)=(λd+Y* JG-1,λd +Y* JG-1+HG-1*N);
在网络地图中,根据分割各点的新坐标值,将所有的点依次连接起来描绘成曲线,最终模拟得到符合实际飞行轨迹的航线。
以上内容是结合具体的实施例对本发明所作的详细说明,不能认定本发明具体实施仅限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明保护的范围。