冯 超,张伟航
(中国民用航空深圳空中交通管理站 后勤服务中心,广东 深圳 518000)
深圳机场全称深圳宝安国际机场(Shenzhen Bao′an International Airport,IATA代码:SZX,ICAO代码:ZGSZ),位于深圳市宝安区,为4F级国际机场。深圳机场拥有2条跑道,2座航站楼,距离深圳市区32 km,未发生疫情时(2019年)航班吞吐量全国排名第五位。希思罗机场全称伦敦希思罗机场(London Heathrow Airport,IATA代码:LHR,ICAO代码:EGLL)位于大伦敦希灵登区,为4F级国际机场。希思罗机场拥有2条跑道,5座航站楼,距伦敦市区23 km,为全世界最繁忙的机场之一。深圳机场与伦敦希思罗机场在空域结构和运行模式上存在很多相似之处。不过,深圳机场与希思罗机场在运行效率上与希思罗机场还有一定差距:深圳宝安机场航班起降小时高峰航班量为68架次,进港小时高峰航班量为42架次,出港为38架次;希思罗机场航班起降小时航班量为88~92架次,其中出港为46~48架次,进港为42架次。
近年来,随着航空通导技术的不断发展,尤其是各类航班监视设备在机场的应用,使应用监视设备数据进行航班大数据分析成为可能。场面监视雷达,ADS-B(Automatic Dependent Surveillance-Broadcast,广播式自动相关监视系统)及多点定位系统是机场运营用到的监视设备。场面监视雷达是一次雷达,一般部署在机场管制塔台顶部,用于实时扫描机场近空及场面情况,展示车辆及飞机实时位置[1]。ADS-B是以全球导航卫星系统GNSS为基础开发的监视系统,该技术是航空运输交通体系发展的重要技术成果[2-3]。多点定位场面监测技术是新的场面监视技术,相较于常规的监测技术来说,效率更高,检测速度更快[4]。本文基于深圳机场应用较为成熟的场面监视雷达、ADS-B设备信号,提出了实时统计航班跑道占用时间的方法,为后续运用大数据的分析方法,找出各时段、各航空公司或各类机型的跑道占用情况,优化管制业务工作程序提供数据依据,最终达到实现减少每架航空器的跑道占用时间,跑道的空闲时间,提高跑道使用率和航班运行效率的目的。
通过分析NOVA9000自动化系统的场面监视雷达信号,结合深圳机场地图,提出了一套解决跑道占用时间统计的方法,并开发完成了跑道占用时间统计的工具。
跑道占用时间统计流程主要包括场面监视雷达信号解析、ADS-B信号解析、电子围栏绘制、航班信息匹配、跑道占用时间统计等步骤,实现流程如图1所示。
先通过UDP Client形式完成场监雷达和ADS-B信号的引接,在此基础上根据机场地图绘制了电子围栏。电子围栏是在机场地图中以多边形或者圆形圈定的一些特定区域,用以监控是否有航空器进入,从而作出相应的航空器穿越电子围栏的响应。
(1)数据解析。场面监视雷达信号(以下简称场监雷达信号)的数据格式为ASTERIX CAT011①,ADS-B数据的格式为ASTERIX CAT021②,需要根据相关的数据协议进行解析;
(2)捕获进出跑道记录。实时监控航空器进出跑道电子围栏的情况,当有飞机进出跑道时触发记录航班进出跑道的时刻;
(3)匹配航班信息。NOVA9000提供的场监信号数据中,包含的航班基础信息并不完整③,需要结合ADS-B数据,通过航班的经度、纬度、高度和时间四个维度进行实时匹配;
(4)数据存储。对前述所得航班信息和进出跑道时刻进行存储,用于后续统计分析。
ASTERIX (All Purpose Structured Eurocontrol Surveillance Information Exchange),是欧洲航行安全组织为统一雷达数据传输和交换而制定的标准[5]。
场面监视雷达信号包含有航班的轨迹号、时间戳、位置、速度、高度等信息。其中,根据报文信息确定航班的位置信息是解析过程中的关键。由于场监雷达为一次雷达,信号本身不包含与航班计划有关的数据,而ADS-B数据中包含有航班的航班号等相关信息,可以通过ADS-B的数据中的航班号等信息去关联航班计划数据。因此,通过将ADS-B数据实时与场面监视雷达信号进行匹配,就可获得航班计划等相关信息。
ASTERIX数据主要由数据协议标识(CAT)、数据长度(LEN)和若干记录(Record)组成②,如图2所示。其中每条记录由FSPEC和Data Field组成,包含航班在某时刻的信息。FSPEC为字段说明,它决定了Data Field中包含哪些数据项;Data Field为数据项集合,包含航班号、位置、时刻、航班计划等信息。ASTERIX数据包可包含一条或者多条记录,每条记录对应一个航班的相关信息。
2.1.1 CAT011航班计划数据
CAT011中航班计划信息包含在I011/390数据项中,如图3所示。图3示意了数据项转换为二进制数据后,各字节所代表数据项的内容。
图3中按照二进制形式数值为“1”的位表示Data Field中包含该数据项。重要的数据项信息如表1所示。例如,若“CSN”位的数值为“1”,则表示Data Field中包含有7个字节数据包含了航班号信息。
表1 数据项信息
图4所示为JSON格式的数据样例。
根据图4可知,此航班的航班号为YZR7932,机号为B752,尾流为中型机,起飞机场为北京首都国际机场,落地机场为深圳宝安国际机场,航班预计起飞时间为当天20:32,预计落地时间为当天23:30,落地后停机位为129。
2.1.2 CAT011航班位置
航班位置信息包含在I011/041和I011/042中,其中I011/041是WGS84坐标的位置数据;I011/042是计算后的坐标信息。具体包含的信息如表2所示。
表2 位置信息
011/041长度为8个字节,其中前4个字节表示纬度值(LATITUDE),后4个字节表示经度值(LONGITUDE),最小单位为180/231°。精度和纬度计算公式均为(bytes[0]*224+bytes[1]*216+bytes[2]*28+bytes[1])*180/231,其中,bytes为数据的字节数组。
011/042长度为4个字节,前2个字节表示X坐标值的补码形式,后两个字节表示Y坐标值的补码形式。
2.1.3 CAT011航班高度
航班高度信息包含在I011/090中。I011/090在Data Field中占用2个字节,如图5所示,并且是补码形式进行存储,需要根据补码值求出真值,它的LSB(Least Significant Bit,最低有效位)为0.25 FL。
2.1.4 CAT011航班速度
航班速度信息包含在I011/202中。I011/202在Data Field中占4个字节,如图6所示,前两个字节为X轴方向速度值,并且是补码形式;后两个字节为Y轴方向的速度值,其存储值为补码形式,需要根据补码值求出真值。LSB(Least Significant Bit,最低有效位)为0.25 。
2.1.5 CAT021 航班号
ADS-B数据中航班号信息包含在I021/170数据项中。其具体解析规则如图7所示。
每六位二进制数代表一个字母,一共六个字节共48位代表8个字母。其中,每个字母与数值的对应关系如表3所示。
表3 I021/170数值字母对照表
场监雷达信号中关于航班的位置信息包括WGS84坐标和笛卡尔坐标两种,其中:前者为航班的经纬度坐标信息;后者是相对于场监雷达自身位置的相对坐标(以m为单位)。根据这两种信息可在机场地图中绘制出航班某一时刻所在的位置,以一个点迹表示,则同一航班所有点迹组成该航班的轨迹,场监雷达数据中包含一个或多个航班在某时刻的点迹信息。在上述两种坐标中,计算后的笛卡尔坐标并不包含所有的点迹信息,而WGS84坐标包含所有点迹信息。
为方便计算,机场地图使用笛卡尔坐标,在确定一个点迹的位置时需结合笛卡尔坐标和WGS84坐标共同得出,笛卡尔坐标不包含的点迹需根据WGS84坐标进行转换计算后得到其所在笛卡尔坐标的位置。
设WGS84坐标系中点迹(纬度,经度)坐标为(φ,λ),使用国际标准化的地图投影法通用横轴墨卡托投影[3]将点迹转换为笛卡尔坐标(Xf,Yf),转换公式为
(1)
A=(λ-λ0)cosφ
(2)
式中,λ0为基准参考子午线的经度值。
(3)
T=tan2φ
(4)
(5)
则
(6)
(7)
式中:a为赤道半径;E0=500 km;k0=0.999 6;北半球N0= 0 km;南半球N0=10 000 km。
根据式(1)~(7),可将场监雷达的WGS84点迹坐标(φ,λ)转换为笛卡尔坐标(Xf,Yf)。计算出航班点迹以场监雷达为原点的笛卡尔坐标系下的相对位置坐标(Xr,Yr),则点迹的笛卡尔坐标(X,Y)可由下式确定
X=Xf-Xr
(8)
Y=Yf-Yr
(9)
将点迹的WGS84坐标信息和笛卡尔坐标系信息相结合,并将笛卡尔坐标系中不包含的WGS84坐标系中的点迹信息根据式(1)~(9)换算为笛卡尔坐标系信息,据此可绘制电子围栏。
根据机场地图笛卡尔坐标,以矩形和直线为基础形状,应用Direct2D绘制机场地图和电子围栏,如图8所示。图8中的矩形是按照跑道实际地理位置坐标绘制的跑道电子围栏,黑色点迹为航班的实际飞行轨迹,当监控有航班点迹进入电子围栏时便触发响应时间进行跑道占用时间的统计。
根据航班的轨迹进入跑道第一个点迹的时间戳及离开跑道第一个点迹的时间戳差值,计算航班的跑道占用时长,具体统计方法如图9所示。
系统实时接收航班的场监雷达信号数据,并将接收到的点迹数据按照轨迹号进行分组,然后判断该点迹是否进入跑道及滑行道等电子围栏,若接收到的点迹数据未在电子围栏内,则继续接收下一个数据。当接收到的点迹数据进入跑道或滑行道区域电子围栏时,便将此点迹所在组的所有点迹数据按照点迹时间戳由小到大排序,检查轨迹中所有点迹,若此轨迹有点迹进入跑道,则记录第一个进入跑道的点迹的时间戳作为此航班进入跑道的时间;若有点迹离开跑道,则记录第一个离开跑道区域的点迹时间戳作为航班离开跑道时间;若此轨迹没有离开跑道的点迹,则继续接收数据,并重复上述计算,直到接收到该轨迹离开跑道的点迹并记录离开跑道点迹的时间戳作为离开跑道时刻。航班离开跑道时刻与进入跑道时刻时间差即为该航班占用跑道的时间。
应用以上统计方法,结合ASP.net core框架[6]、Redis缓存、MySql存储、JavaScript等技术,完成了航班跑道占用时间统计功能,功能界面如图10所示。
系统可按照时间段、航班脱离道口、跑道方向、机型、航空公司等条件对航班跑道占用时间进行统计,系统不仅列出了航班跑道使用信息,还可展示航班的起飞、落地时间等信息。同时,系统还会根据所选择的查询条件,对查询出满足条件的所有航班求取跑道占用时间的均值,并能够将结果导出到EXCEL文件中。图11是根据系统统计结果,按照进港不同机型所展示的跑道占用时间均值柱状图,可清晰了解每个机型在落地过程中占用跑道的时间均值。同时,系统也可以按照航空公司、落地机场、尾流、跑道脱离道口等进行相似的分类统计,进而得到不同维度的跑道占用时间的数据统计。
深圳机场与同为4F级的希思罗机场相比较,航班起降小时航班量差距明显。为提高深圳机场的运营效率,以深圳机场场面监视雷达信号为基础,结合ADS-B数据,通过解析场面监视信号,匹配进、离港航班的信息,绘制深圳机场地图和电子围栏,对机场航班起飞和降落时进入和离开跑道的占用时间数据进行分析,实现机场跑道占用时间统计分析的目的。据此,可结合管制业务流程的各环节,有针对性地提出缩短航班跑道占用时间的解决方案,为优化航班指挥工作程序提供数据依据,提高管制效率。
注释:
①见Eurocontrol standard document for surveillance data exchange Part 8:Category 011 Transmission of A-SMGCS Data.1.2 ed.2008.5.
②见Eurocontrol standard document for surveillance data exchange Part 12:Category 021 ADS-B Reports.2.1 ed.2011.5.
③见NOVA 9000 SMR INTERFACE CONTROL DOCUMENT ASTERIX CAT011 Output.1.0 ed. 2008,4,14.