Implementation of Aircraft clustering problem on KNIME Analytics Platform

Cover Page


Cite item

Full Text

Abstract

The creation of the KNIME Analytics Platform workflow is given in the article.

Clustering and visualization of data in real time is performed.

Full Text

В работе приведена реализация алгоритма четкой кластеризации воздушных судов по заданным параметрам в режиме реального времени из источников с открытым API в KNIME Analytics Platform [3].

Технология ADS-B.

Будем использовать большие данные полученные с ресурса с открытым Api Flightradar24. Flightradar24 – это система отслеживающая авиасообщение всего мира в режиме реального времени. Здесь аккумулированы данные технологий ADS-B, MLAT, авиа-радаров и сведения о расписании, статусе рейсов от авиакомпаний и аэропортов [2].

 

Рис.1. Схема ADS-B.

 

ADS-B (автоматическое зависимое наблюдение-вещание) – технология, позволяющая получать аэронавигационную информацию. Эта система использует транспондер в сочетании с GPS для передачи высокоточной информации о местоположении наземным диспетчерам, а также непосредственно на другие воздушные суда (рис. 1). Передача данных известна как ADS-B Out и ее точность выше, чем при обычном радиолокационном наблюдении. ADS-B поддерживает международный стандарт ICAO, который используется во всем мире.

ADS-B использует систему GPS для определения координат воздушного судна. Другие воздушные суда и наземные станции, оборудованные ADS-B, в радиусе порядка 150 миль принимают координаты воздушного судна, а также его тип, скорость, номер, рейс, курс, вертикальную скорость. Данная информация обновляется с интервалом времени 1 секунда по широковещательным каналам.

Организация запроса данных.

Организуем рабочий процесс в KNIME Analytics Platform для получения данных о воздушных судах в реальном времени (рис. 2). Api-запрос отправляется на Flightradar, в параметрах запроса указываются координаты двух точек, задающие область на карте в границах которой запрашивается информация.

 

Рис. 2. Параметры запроса данных на портал.

 

Ресурс имеет ограничение по получению количества записей в одном api – до 1500 записей. По этой причине разобьем земной шар на 34 зоны для получения полных данных о всех воздушных судах в реальном времени.

В рабочий процесс в KNIME Analytics Platform добавим инструмент Table Creator, который позволяет создать таблицу данных. Введем параметры выделенных 34 зон в виде таблицы из 34 строк. Каждая строка включает параметры запроса с координатами северной широты и восточной долготы для заданных зон.

Используем инструмент Get Request для отправки GET запросов и получения нужных данных.

По умолчанию выходная таблица будет содержать столбец с полученными данными, типом их содержимого и кодом состояния HTTP. Узел пытается автоматически преобразовать полученные данные в тип данных KNIME на основе своего типа содержимого.

Для отправки запросов будем использовать столбец NEW URL состоящий из 34 строк. Следовательно, при запуске инструмента, последовательно будут отправляться 34 GET запроса (34 географические зоны) и записывать данные в новую колонку построчно. Инструмент добавляет еще одну колонку в таблицу с «ответными» данными в JSON формате.

В итоге, получаем порядка 1 миллиона записей, которые необходимо  обработать.

Предварительная обработка данных.

Уберем лишние столбцы из таблицы с данными, оставив только столбец с JSON ответом. Для этого воспользуемся инструментом Column Filter (см. рисунок 3).

 

Рис. 3. Сортировка столбцов.

 

Рассмотрим подробнее данные, которые «приходят» с сайта, для решений о дальнейшей выборке информации. Рассмотрим на примере одной из последних строк в первом из запросов.

 

1503 "2baa44c2":["155C33",57.36,20.11,196,34000,458,"F-EYSA4","SU95","RA-89139","PKV","KGD"]

Рис. 4. Пример массива данных одного из летательных аппаратов.

 

Каждая строка содержит массив данных (рис. 4):

"2baa44c2" – ключ строки в ответе, не несет смысловой нагрузки;
"155C33"– ICAO 24-bit ADDRESS (ICAO адрес ответчика с летательного аппарата);
"57.36"– широта;
"20.11"– долгота;
"196"– скорость в узлах; "3400"– высота в футах; "458"– курс;
"F-EYSA4"– номер в системе;
"SU95"– модель Самолета (Sukhoi Superjet 100); "RA-89139" – бортовой номер самолета;
"PKV"– аэропорт вылета (Псков); "KGD"– аэропорт прилета (Калининград).

Для разбиения больших данных будем использовать инструмент JSON Path. JSON Path

  • это язык запросов для JSON, аналогичный XPath для XML (рис. 5).

 

Рис. 5. Фрагмент окна настроек узла JSON Path.

 

Для кластеризации данных, выберем нужные значения. ICAO ADDRESS используется для точного определения летательного аппарата и дальнейшего поиска информации о нем в системе. Так же будут взяты такие параметры как высота в футах, скорость в узлах, широта и долгота. Все численные данные, кроме адреса самолета будут типизированы как double.

При выборе 34 географических зон, для большей точности и недопущения пропуска какого-либо летательного аппарата, многие из зон были взяты с наложением друг на друга. В связи с этим возникает проблема дублирования данных. Так же во время выполнения запросов самолет может просто перелететь из одной зоны в другую что отобразится двойной записью данных для соседних зон. Для решения данной проблемы используем инструмент GroupBy. Он группирует строки таблицы по уникальным значениям в выбранных столбцах группы.

Будем искать дубликаты по двум параметрам, которые не меняются у летательных аппаратов и явно характеризуют их: это ICAO 24-BIT ADDRESS (String). Кроме этого, введем

дополнительный столбец SortColumn куда запишем бортовой номер судна (рис. 6). Дубликаты удаляются на основе этих параметров.

 

Рис. 6. Выбор критериев для поиска дублей.

 

Что бы визуализировать обработанную базу данных летательных аппаратов воспользуемся инструментом OSM Map View. Он не входит в стандартный пакет при установке KNIME. Загрузим его отдельно с открытого репозитория инструментов KNIME Hub, раздел OsmMapViewNodeFactory. Он предоставляет интерактивный вид карты мира. При желании на него также могут быть нанесены некоторые маркеры по данным широты и долготы.

На рисунке 7 по данным обработанной таблицы визуализированы все 13302 летательных аппарата (данные от 17 мая 2022 года).

 

Рис. 7. Все летательные аппараты на карте мира.

 

Кластеризация летательных аппаратов по скорости и высоте.

Решим задачу кластеризации по двум параметрам: скорости и высоте. С помощью инструмента Column Filter были взяты из колонок таблицы, которые непосредственно нужны для данного примера кластеризации.

Выполним  настройку  узла  кластеризации  k-Мeans  (рис.  8)  исходя  из  проверки эффективности кластеризации методом силуэтов (инструмент Silhouette Coefficient) [1].

 

Рис. 8. Меню настроек k-Means.

 

Рис. 9. Коэффициенты силуэтов.

 

Общее значение коэффициента силуэтов равно 0.575 (рис. 9).

Отсортируем таблицу по возрастанию кластеров и с помощью инструмента Color Manager окрасим точки каждого кластера в разные цвета.

Для вывода данных используем узел для построения точечных графиков Scatter Plot (рис. 10). Это точечная диаграмма с использованием библиотеки диаграмм на основе JavaScript. Доступ к представлению можно получить либо через действие «интерактивное представление» на исполняемом узле, либо на странице веб-портала KNIME Server.

По оси абсцисс отмечена скорость в узлах, по оси ординат высота в футах.

 

Рис. 10. Распределение данных по кластерам.

 

Интерпретация результатов

Проведем соответствие каждого кластера техническим данным полетов, классу и состоянию воздушного судна.

Рассмотрим кластер 1 (cluster_1, красный цвет). Здесь наблюдаем относительно небольшую скорость и высоту летательных аппаратов. Так же есть скопление точек около нулевых отметок. Это самолеты, которые совершили посадку и стоят на земле с нулевой высотой и скоростью. Точки, которые имеют нулевую высоту, но уже возросшую скорость, от 20 до 150 узлов можно соотнести с самолетами, которые совершают руление по аэродрому, а также идут на взлет по полосе. Это подтверждается техническим данным – скорость руления 30 узлов, скорость взлета среднемагистральных самолетов (Boing 737) 145 узлов. Точки, имеющие небольшую высоту и скорость соответствуют самолетам, которые взлетели и набирают крейсерскую высоту или идут на посадку. Таким образом, кластеру 1 (cluster_1, красный цвет) соответствуют самолеты, которые находятся на земле, взлетающие или совершающие посадку.

Рассмотрим кластер 2 (cluster_4). Здесь разброс высот составляет примерно от 6 тыс. до 15 тыс. футов. А скорость варьируется от 60 до 290 узлов. Этому кластеру можно отнести

вертолёты, высота полета которые соответствует данным, а скорость невелика. Так же к этому кластеру отнесем легкомоторные самолеты, такие как АН-2 (кукурузник) или Cessna 172 (самый популярный легкомоторный самолет в мире). Их параметры полета по высоте и скорости соответствуют данным значениям.

К кластеру 3 (cluster_0, зеленый цвет) соответствуют высоты от 20 тыс. до 30 тыс. футов. В этот кластер можем отнести ближнемагистральные и среднемагистральные самолеты гражданской авиации.

К кластеру 4 и 5 (cluster_3, cluster_2) будут соответствовать воздушные судна, проходящие на больших эшелонах. Это дальнемагистральные и межконтинентальные пассажирские и грузовые самолеты.

Также наблюдаем несколько точек выброса. Это такие летательные аппараты, которые имеют нулевую скорость и большую высоту или очень низкую высоту и запредельную скорость. Скорее всего такие данные свидетельствуют о неисправности оборудования или возникновении аварийных ситуаций. Все исследованные точки выброса на данных от 17 мая 2022 года 15:00 МСК, оказались технической неисправностью оборудования со стороны приемника. Также в точку выбросов, предположительно, попали два военных истребителя, которые работали на малых высотах с большой скоростью.

Для наглядности, с помощью инструмента OSM Map View, были выведены на карту мира все летательные аппараты с цветами точек соответствующих кластерам (рис. 11).

 

Рис. 11. Летательные аппараты с цветами точек по кластерам.

 

Также на карту выведем кластер 1 – самолеты, которые находятся на земле, взлетающие или совершающие посадку. Скобление таких самолетов происходит вблизи больших городов и аэропортов (рис. 12).

 

Рис. 12. Самолеты, которые находятся на земле, взлетающие или совершающие посадку.

 

При выводе на карту кластера 2 – это воздушные судна, проходящие на больших эшелонах, дальнемагистральные и межконтинентальные самолеты. Можем наблюдать линии высотных воздушных трасс (рис. 13).

 

Рис.13. Линии воздушных трасс.

 

Таким образом, в KNIME Analytics Platform был построен рабочий процесс, которой может представлять практическую ценность при решении задач визуализации воздушных судов в режиме реального времени.

×

About the authors

D. K. Egorova

Author for correspondence.
Email: ogarevonline@yandex.ru
Russian Federation

M. A. Garin

Email: ogarevonline@yandex.ru
Russian Federation

References

  1. Гарин М. А., Егорова Д. К., Сайфетдинов С. Ф. Создание workflow аналитической платформы KNIME для анализа данных на примере вакансий сайта HeadHunter [Электронный ресурс] // Огарев-online. Раздел «Физико-математические науки». – 2021. – №12. – Режим доступа: http://journal.mrsu.ru/arts/sozdanie-workflow- analiticheskoj-platformy-knime-dlya-analiza-dannyx-na-primere-vakansij-sajta- headhunter (дата обращения: 20.11.2021).
  2. Flightradar24: Live Flight Tracker Map [Электронный ресурс]. – Режим доступа: https://www.flightradar24.com/54.18.45.18/6 (дата обращения: 15.05.2022).
  3. KNIME Analytics Platform Map [Электронный ресурс]. – Режим доступа: https://www.KNIME.com/ KNIME-analytics-platform (дата обращения 10.05.2021).

Supplementary files

Supplementary Files
Action
1. JATS XML
2. Fig. 1. ADS-B scheme.

Download (63KB)
3. Fig. 2. Parameters for requesting data to the portal.

Download (147KB)
4. Fig. 3. Sorting columns.

Download (64KB)
5. Fig. 4. An example of a data array from one of the aircraft.

Download (31KB)
6. Fig. 5. Fragment of the JSON Path node settings window.

Download (41KB)
7. Fig. 6. Selecting criteria for searching for duplicates.

Download (87KB)
8. Fig. 7. All aircraft on the world map.

Download (85KB)
9. Fig. 8. k-Means settings menu.

Download (68KB)
10. Fig. 9. Silhouette coefficients.

Download (22KB)
11. Fig. 10. Distribution of data into clusters.

Download (122KB)
12. Fig. 11. Aircraft with dot colors by clusters.

Download (165KB)
13. Fig. 12. Aircraft that are on the ground, taking off or landing.

Download (46KB)
14. Fig.13. Air route lines.

Download (93KB)

Мы используем файлы cookies, сервис веб-аналитики Яндекс.Метрика для улучшения работы сайта и удобства его использования. Продолжая пользоваться сайтом, вы подтверждаете, что были об этом проинформированы и согласны с нашими правилами обработки персональных данных.

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».