Обеспечение безопасности полетов воздушных судов представляет собой важнейшую научно-техническую и инженерную проблему. Эта проблема является особенно актуальной в условиях постоянного роста плотности трафика как в зонах аэропортов, так и в глобальном воздушном пространстве. Вопросы создания современных систем управления воздушным движением (далее СУВД) привлекают внимание большого количества исследователей [1, 2, 5, 6].
В основу функционирования СУВД положены задачи определения параметров траектории наблюдаемых воздушных судов по внешним измерениям (навигационные задачи). Информационной базой современных СУВД служат радары, дополняемые приемопередающими устройствами (транспондерами) спутниковых навигационных систем (GPS, Глонасс, и т.д.). Данные о движении обрабатываются специальными алгоритмами, позволяющими распознавать опасное движение самолёта: выход за пределы регламентированных воздушных трасс, уход с предписанного эшелона, недопустимое сближение, полёт в запрещённых зонах и т.д.
При разработке соответствующих математических моделей и алгоритмов требуется их проверка на надёжность и эффективность (недопущение «пропуска» опасной ситуации, минимизация «ложных тревог»). Для решения этой задачи исследователи часто прибегают к моделированию индивидуального и коллективного движения воздушных судов: это позволяет исследовать поведение алгоритмов в типичных ситуациях. Вместе с тем наибольшей информативностью обладают данные о движении реальных объектов; они позволяют отработать поведение моделей и алгоритмов не только на типичных сценариях движения, но и на сценариях, специфичных для той или иной зоны ответственности СУВД. Однако порог доступа к реальной информации о движении воздушных объектов в том или ином районе достаточно высок. Получение таких данных от центров управления воздушным движением связано с организационными трудностями и значительными материальными затратами.
Одним из путей решения обозначенной проблемы получения реальных данных о воздушном трафике является обращение к специализированным открытым Интернет-ресурсам. Подобный подход для сбора данных о движении морских судов был использован авторами работ [3, 4]. В настоящей работе описана информационная система сбора данных о движении самолетов гражданской авиации. Система была апробирована при сборе данных о воздушном пространстве над Приморским и Хабаровским краем.
Особенности данных о воздушном трафике в сети Интернет
В сети Интернет есть ресурсы, на которых можно получить информацию о воздушном трафике того или иного географического района. Характеристики предоставляемых ресурсами данных таковы, что они позволяют получить достоверную информацию о траекториях движения воздушных объектов для использования в исследовательских целях.
Примерами сайтов, отображающих информацию, являются planefinder.net и flightradar24.com (рис. 1).
Технологически сайты выполнены идентично и предоставляют сходную функциональность. Они отражают данные, получаемые с базовых станций ADS-B (Automatic dependent surveillance-broadcast) [7, 8]. Технология ADS-B построена на основе спутниковой системы GPS, которая имеет погрешность 6–8 метров. При этом flightradar24.com отображает данные, собранные с большего количества базовых станций ADS-B, чем planefinder.net. На момент написания статьи на сайте flightradar24.com собиралась информация примерно от 500 базовых станций ADS-B. Учитывая этот факт, в качестве информационной базы системы сбора данных о движении воздушных судов был выбран flightradar24.com.
Рассмотрим сайт filghtradar24.com более подробно. Положение каждого самолета наносится сайтом на карту, предоставляемую соответствующим сервисом Google. Для наблюдения можно использовать любую произвольную область просмотра. Однако flightradar24.com не предоставляет публичного API для работы с данными трафика. Поэтому для сбора таких данных потребовалось произвести реверс-инжиниринг сайта и разработать специальный программный модуль.
Рис. 1. Вид сайта flightradar24.com
В результате реверс-инжиниринга web-приложения было установлено, что каждую секунду браузер методом GET запрашивает файл feed.js у системы сопровождения. Возвращаемый файл выглядит следующим образом:
В этом файле система сопровождения выдает полную информацию о самолетах, видимых на карте пользователю страницы в текущем окне. Файл имеет формат JavaScript Object Notation (JSON) [9] и содержит определение объекта для языка JavaSctipt, что позволяет представить информацию произвольной структуры. Формат файла наиболее удобен для передачи данных web-странице.
Запись, возвращаемая системой сайту, содержит набор полей. Первые два поля (целые числа): full_count и version – это соответственно полное количество самолетов, доступных в системе, и версия протокола. Далее идет несколько полей с именами в виде шестнадцатеричных значений. Тип данных полей – кортеж. В таблице приведены данные (конкретный пример), содержащиеся в кортеже.
Пример кортежа, хранящего информацию о воздушном судне
Номер поля данных |
Значение |
Описание |
1 |
«ABB3BE» |
Шестнадцатеричный идентификатор воздушного судна в формате ICAO24 |
2 |
51.3531 |
Широта (в градусах) |
3 |
138.6574 |
Долгота (в градусах) |
4 |
33 |
Курс (в градусах) |
5 |
37025 |
Высота (в футах) |
6 |
492 |
Скорость (в узлах) |
7 |
«0000» |
Четырехзначный идентификационный код самолетного ответчика (squawk code) |
8 |
«T-UHKD1» |
Идентификатор радара, от которого поступила информация |
9 |
«A332» |
Модель самолета |
10 |
«N853NW» |
Идентификатор воздушного судна в базе данных системы наблюдения |
11 |
1416658957 |
Время ответа транспондера по UTC, представленное в формате Unix |
12 |
«PEK» |
Пункт отправки по ИАТА |
13 |
«SEA» |
Пункт назначения по ИАТА |
14 |
«DL128» |
Дополнительный идентификатор компании-владельца и номера рейса |
15 |
0 |
Дополнительный параметр |
16 |
0 |
Вертикальная скорость (в футах в минуту) |
17 |
«DAL128» |
Полный идентификатор компании-владельца и номера рейса |
18 |
0 |
Дополнительный параметр |
В среднем размер файла feed.js составляет 820 Байт. Недельная статистика подразумевает обработку около 600 000 файлов общим объемом приблизительно 500 МБ. Хотя измерения в воздушном пространстве собираются в основном ежесекундно, опрос каждой в отдельности базовой станции происходит значительно реже (от 5 до 10 секунд). В результате обработки данных было установлено, что объем уникальных записей составляет около 16 % от общего количества. Вместе с тем предоставляемая информация достаточно точна для исследовательских целей.
GET-запрос на домен data.fr24.com, отправляемый браузером, имеет следующий вид:
http://bma.data.fr24.com/zones/fcgi/feed.js?bounds=47,40,123,139&faa=1&gnd=1&mlat=1&estimated=1&flarm=1&adsb=1&vehicles=1&gliders=1&
Здесь важно отметить параметр bounds (выделен полужирным начертанием). Он задаёт прямоугольную область в географических координатах, которая определяет текущее окно. В данном случае: широта в пределах от 47 до 40° СШ и долгота – от 123 до 139° ВД. Таким образом, есть возможность программным способом задавать необходимую область отображения, изменяя соответствующим образом географические границы зоны и отправляя необходимый GET-запрос; в результирующем файле отображается информация только о тех воздушных объектах, которые попадают в указанную область.
Описание информационной системы
При создании информационной системы сбора данных о воздушных объектах было разработано три программных модуля: модуль сбора информации, модуль обработки и фильтрации и модуль отображения.
Основная функция модуля сбора информации – отправка GET-запросов сайту flightradar24.com и сохранение информации на жесткий диск. При этом сохраняемые файлы удобно именовать в формате
<целое число>.js,
где «целое число» – это время UTC в формате Unix. Это позволяет обеспечить уникальность каждого полученного файла.
Функция модуля обработки и фильтрации – разбор файлов и запись информации в базу данных. При этом СУБД обеспечивает фильтрацию данных за счёт наложения соответствующих ограничений (создания составного первичного ключа) на таблицу с данными.
Результаты работы информационной системы можно увидеть на рис. 2.
Рис. 2. Данные о движении самолетов с 11 по 18 ноября 2014 года над югом Приморского края (около 330 тысяч измерений)
Модуль отображения обращается к СУБД, выбирает географические координаты самолетов, имеющиеся в БД, и отображает их на карте. В качестве источника карт используется сервис openstreetmap.org, так как он не налагает ограничений на использование картографической информации. Модуль отображения обеспечивает навигацию по карте в интерактивном режиме.
Созданная информационная система позволяет собирать информацию о движении воздушных судов по всему земному шару в зонах доступа базовых станций ADS-B. Собираемые системой реальные данные представляют собой исключительную ценность для моделирования и исследования задач в области управления воздушным движением и обеспечения безопасности полётов.
Рецензенты:
Номоконова Н.Н., д.т.н., профессор кафедры информационных технологий и систем, Владивостокский государственный университет экономики и сервиса Минобразования РФ, г. Владивосток;
Кривошеев В.П., д.т.н., профессор кафедры информационных технологий и систем, Владивостокский государственный университет экономики и сервиса Минобразования РФ, г. Владивосток.