УДК 528.92:004.4
АНАЛИЗ ФУНКЦИОНАЛЬНЫХ ВОЗМОЖНОСТЕЙ ВЕБ-ПРИЛОЖЕНИЯ KEPLER.GL ДЛЯ ВИЗУАЛИЗАЦИИ И АНАЛИЗА БОЛЬШИХ НАБОРОВ ПРОСТРАНСТВЕННЫХ ДАННЫХ
Петр Юрьевич Бугаков
Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, кандидат технических наук, доцент кафедры прикладной информатики и информационных систем, тел. (383)343-18-53, e-mail: [email protected]
Станислав Юрьевич Кацко
Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, кандидат технических наук, доцент кафедры прикладной информатики и информационных систем, тел. (383)343-18-53, e-mail: [email protected]
Андрей Александрович Басаргин
Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, кандидат технических наук, доцент кафедры прикладной информатики и информационных систем, тел. (383)343-18-53, e-mail: [email protected]
Евгений Юрьевич Воронкин
Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, ассистент кафедры прикладной информатики и информационных систем, тел. (383)343-18-53, e-mail: [email protected]
В настоящее время идет активное развитие мультимедийного направления в картографическом отображении больших наборов пространственных данных. Решаются задачи, связанные с формированием геоинформационного пространства, анализа больших наборов пространственных данных и их отображения средствами цифровой веб-картографии.
Целью данной статьи является анализ функциональных возможностей веб-приложения Kepler.gl, предназначенного для визуализации и анализа больших наборов пространственных данных. На данном этапе развития Kepler.gl позволяет работать с данными, сохраненными в одном из трех открытых текстовых форматов: CSV, JSON или GeoJSON.
Для практической апробации основных функций программы была создана карта автобусных и трамвайных остановок г. Новосибирска. В качестве источника геоданных был взят shp-файл из открытого набора Open Street Map на территорию Сибирского федерального округа.
По результатам апробации некоторых функциональных возможностей можно сделать вывод, что Kepler.gl позволяет заметно упростить процесс анализа и визуализации больших наборов данных. В большей степени это обеспечивается графическим интерфейсом, который содержит интуитивно понятные инструменты для выбора способа отображения данных, их фильтрации и агрегирования, наложения сведений из различных источников, переключения между 2D- и 3D-режимами и др.
Ключевые слова: визуализация, пространственные данные, большие данные, геоинформация, тематическая карта, слои карты, агрегирование данных, веб-приложение.
Введение
В настоящее время идет активное развитие мультимедийного направления в картографическом отображении больших наборов пространственных данных. Наблюдается связь между совершенствованием систем управления пространственными данными и эволюцией специализированного программного обеспечения. Этому посвящены ряд научных публикаций и монографий как российских авторов, так и их зарубежных коллег [1-15].
В указанных работах рассмотрены вопросы, связанные с формированием геоинформационного пространства, анализом больших наборов пространственных данных и их отображением средствами цифровой веб-картографии.
Применение программного обеспечения Kepler.gl для анализа пространственных данных
Проект Kepler.gl представляет собой высокопроизводительное веб-приложение, способное оперативно создавать интерактивные тематические карты. Изначально данный инструмент создавался командой Uber Engineering для аналитиков компании с целью визуализации и изучения дорожного движения в городах по всему миру. Источником геоинформационных данных служили автомобили компании, оборудованные таксометрами c GPS. Однако в мае 2018 г. компания открыла доступ к приложению Kepler.gl и предоставила общественности весь его исходный код. В настоящее время все материалы по проекту опубликованы на платформе GitHub, что дает возможность сторонним разработчикам участвовать в развитии Kepler.gl. Ординарные пользователи могут воспользоваться веб-приложением по адресу http://Kepler.gl или установить себе локальную версию, следуя инструкциям, приведенным на GitHub.
Программный продукт Kepler.gl был создан на основе библиотеки визуализации данных deck.gl, разработанной компанией Uber Data Visualization с использованием WebGL и react-mapbox-gl. Для управления данными в программном обеспечении используется технология Redux, что позволяет разработчикам встраивать Kepler.gl в любое React-Redux приложение.
Все операции (агрегация, фильтрация и отображение данных), производимые в приложении, осуществляются на аппаратном уровне на стороне клиента. Такой подход требует высокой производительности графической подсистемы компьютера пользователя, но позволяет обрабатывать большое количество данных за короткое время.
На данном этапе развития Kepler.gl позволяет загружать исходные данные, сохраненные в одном из трех открытых текстовых форматов: CSV, JSON или GeoJSON. Все три формата позволяют хранить данные в структурированном виде и могут быть легко прочитаны человеком. В отличие от первых двух универсальных форматов, GeoJSON предназначен для хранения географических структур данных: точечных, линейных и полигональных объектов, а также па-
раметров их визуализации. Для быстрого ознакомления с приложением разработчики предоставили пользователю 9 готовых наборов тестовых данных. Примером может служить карта поездок на такси в Нью-Йорке с фильтром, представленным в виде временной шкалы (рис. 1).
Рис. 1. Пример визуализации тестового набора данных
Поскольку все взаимодействие с приложением осуществляется через интернет-браузер, к загружаемым данным предъявляются ограничения по объему. Так, при использовании браузера Chrome файл с исходными данными не должен превышать 250 Мб, в то же время Safari такие ограничения не накладывает.
Рассмотрим функциональные возможности Kepler.gl более подробно. Приложение поддерживает 10 типов визуализации слоев (рис. 2), каждый из которых имеет свой набор настраиваемых параметров:
- точки (Point);
- дуги (Arc);
- линии (Line);
- сетка (Grid);
- гексагональная сетка (Hexbin);
- полигоны (Poligon);
- кластеры (Claster);
- иконки (Icon);
- тепловая карта (Heatmap);
- гексагональная сетка H3 (H3HexGrid).
Layer Тур=
Point Arc Line
Bt#fi
Cr'd Hexbin Polygon
С jste-" Icon Heatrmap
Рис. 2. Меню выбора типа визуализации слоя данных
Сетка, гексагональная сетка, кластер и тепловая карта позволяют выполнять агрегацию данных. Способ агрегации зависит от выбранного типа визуализации данных. Пример использования слоя Arc (см. рис. 1).
Kepler.gl не ограничивает число слоев, используемых при отображении исследуемого набора данных. При этом даже слои одинакового типа, отображающие одни и те же данные, могут существенно отличаться друг от друга в зависимости от выбранных настроек.
На карте порядок слоев задается списком, расположенным на первой вкладке Layers главной панели пользовательского интерфейса. При наличии нескольких слоев способ их наложения настраивается с помощью параметра «Layer Blending». Он является единым для всех слоев. В настоящее время доступны три значения этого параметра:
- Normal - нижние слои не влияют на цвет объектов, расположенных на верхних слоях;
- Additive - цвет области пересечения объектов, расположенных на разных слоях, складывается из значений цвета самих объектов;
- Subtractive - в области пересечения объектов, расположенных на разных слоях, цвет вычисляется как разность значений их цветов.
Методы Additive и Subtractive удобны для выявления областей высокой плотности, которые в данном случае будут более светлыми (в первом случае) или темными (во втором).
Веб-приложение Kepler.gl позволяет выполнять фильтрацию данных по одному или нескольким критериям (вкладка Filters на панели инструментов).
В случае, если фильтрация идет по количественному показателю, программа автоматически строит шкалу значений, которую можно вывести в область карты (см. рис. 1). Такая функциональная возможность существенно повышает интерактивность получаемого картографического произведения. На вкладке Interactions пользователю предоставляется возможность настроить набор отображаемой семантической информации о выбранных объектах на карте. Последняя вкладка на панели инструментов (Base map) содержит настройки стиля карты и отображения базовых слоев.
Кроме двухмерных карт пользователь также может создавать объемные визуализации для обработки данных, поддерживающих высоту точки или сложные пространственные фигуры в изометрической перспективе.
Для практической апробации основных функций программы было решено создать карту автобусных и трамвайных остановок г. Новосибирска. В качестве источника геоданных был взят shp-файл из открытого набора Open Street Map на территорию Сибирского федерального округа.
Перед загрузкой данных в приложение Kepler.gl потребовалась их предварительная подготовка. Она заключалась в создании дополнительных полей Lng и Lat для хранения географических координат остановок общественного транспорта, представленных в виде точечных объектов, а также транслировании shp-файла в формат CSV. Все этапы подготовки данных были выполнены средствами ГИС Maplnfo 11.5.
Загрузка данных в Kepler.gl осуществляется с помощью диалогового окна «Add data to map». Здесь также можно выбрать один из наборов тестовых данных, предоставляемых разработчиками приложения. Стоит отметить, что при добавлении новых данных Kepler.gl попытается автоматически определить поля, содержащие координаты объектов, и подобрать наиболее подходящий тип визуализации слоя. Если названия полей или их тип данных не совпадают с ожидаемыми, пользователю придется создать и настроить слой вручную.
В нашем случае приложение корректно определило поля с координатами объектов и автоматически построило точечный слой. Для дальнейшей настройки визуализации потребовалось изменить минимальный радиус пунсонов, а также задать параметры их цветового обозначения в зависимости от типа остановок, указанного в поле Fclass (рис. 3, а). Для отображения только автобусных и трамвайных остановок были установлены параметры фильтра, показанные на рис. 3, б. Выбор семантических данных для отображения в информационном окне карты производился на вкладке Interactions (рис. 3, в). После выполненных настроек карта приобрела вид, показанный на рис. 4.
Однако в таком варианте карта пока еще не очень информативна. Создадим слой «Тепловая карта» для получения наглядного представления о плотности транспортных узлов в городе.
Л kepler.gl share ¿1
vl.O
S ? s
I Basic
Layer Type
XI Point
Columns * Required
Altitude Select a field I Color
4b kepler.gl share
vl.O
S _?_ s Filters
■ _eis_05rn_tran5p0rt_free_lJC5v > 15.374 rows
I string I Fclass n
Values In
tram_stop x busjtop x
4b kepler.gl share J,
vl.O
S ? 5 Interactions
в Tooltip
■ _eis_05m_trar>5p0rt_free_l.c5v
code х Mass x
Name x
4 > Brush ■ 1
а)
б)
Рис. 3. Настройки визуализации (а), фильтрации (б) и отображения семантической информации (в)
В качестве исходных данных для нового слоя будет использован уже загруженный файл CSV. При создании нового слоя визуализации укажем поля с координатами вручную. Чтобы объекты слоя не мешали обзору дорожной сети, установим значение параметра прозрачности Opacity на 0,32. Выберем цветовую шкалу, наиболее подходящую под общее цветовое оформление карты. По умолчанию агрегация данных в слое «Тепловая карта» выполняется по количеству точечных объектов на единицу площади, что полностью отвечает требованиям решаемой задачи.
Стоит отметить, что при использовании других типов визуализации слоев методы агрегации будут иными. Например, тип «Сетка» поддерживает 5 вариантов агрегации числовых данных:
- average (среднее значение);
- maximum (наибольшее значение);
- minimum (наименьшее значение);
- median (медиана);
- sum (сумма).
Рис. 4. Результат настройки визуализации карты
В результате выполненных операций карта примет вид, показанный на рис. 5.
Рис. 5. Результат визуализации карты с агрегацией данных
Выводы
По результатам апробации некоторых функциональных возможностей можно сделать вывод, что Kepler.gl, не требуя от пользователя знаний в области программирования и дизайна, позволяет заметно упростить процесс анализа и визуализации больших наборов данных. В большей степени это обеспечивается графическим интерфейсом, который содержит интуитивно понятные инструменты для выбора способа отображения данных, их фильтрации и агрегирования, наложения сведений из различных источников, переключения между 2D и 3D режимами и др.
В дальнейшем разработчики планируют реализовать поддержку сводных таблиц для более детальных исследований, а также улучшить быстродействие приложения при работе с большими объемами геопространственных данных.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Анализ больших объемов данных [Электронный ресурс] // Технологии анализа данных BASEGROUP LABS. - Режим доступа : https://basegroup.ru/community/articles/very-large-data (дата обращения: 01.09.2018).
2. Бугаков П. Ю. Принципы картографического отображения трехмерных моделей местности // Интерэкспо ГЕО-Сибирь-2012. VIII Междунар. науч. конгр. : Междунар. науч. конф. «Геодезия, геоинформатика, картография, маркшейдерия» : сб. материалов в 3 т. (Новосибирск, 10-20 апреля 2012 г.). - Новосибирск : СГГА, 2012. Т. 3. - С. 156-161.
3. Визуализация данных [Электронный ресурс] // Tadviser. - Режим доступа : https:// http://www.tadviser.ru/index.php/Статья:Визуализация_данных (дата обращения: 01.09.2018).
4. Карпик А. П., Лисицкий Д. В. Электронное геопространство - сущность и концептуальные основы // Геодезия и картография. - 2009. - № 5. - С. 41-44.
5. Карпик А. П., Осипов А. Г., Мурзинцев П. П. Управление территорией в геоинформационном дискурсе : монография. - Новосибирск : СГГА, 2010. - 280 с.
6. Кацко С. Ю. Возможности информационно-аналитических ГИС в работе непрофессиональных пользователей с пространственной информацией // Вестник СГГА. - 2011. -Вып. 1 (14). - С. 76-80.
7. Лисицкий Д. В., Бугаков П. Ю., Нгуен Ань Тай. Трехмерная компьютерная картография : монография. - Новосибирск : СГУГиТ, 2016. - 179 с.
8. Лисицкий Д. В., Комиссарова Е. В., Колесников А. А. Теоретические основы и особенности мультимедийной картографии // Вестник СГУГиТ. - 2017. - Т. 22, № 3. - С. 72-87.
9. Лисицкий Д. В. Перспективы развития картографии: от системы «Цифровая Земля» к системе виртуальной геореальности // Вестник СГГА. - 2013. - Вып. 2 (22). - С. 8-16.
10. Лисицкий Д. В., Хорошилов В. С., Бугаков П. Ю. Картографическое отображение трехмерных моделей местности // Изв. вузов. Геодезия и аэрофотосъемка. - 2012. - № 2/1. -С. 98-102.
11. Мультимедийное направление в картографии / Д. В. Лисицкий, А. А. Колесников, Е. В. Комиссарова, П. Ю. Бугаков, В. С. Писарев // Изв. вузов. Геодезия и аэрофотосъемка. -2014. - № 3. - С. 40-44.
12. Ромичева Е. В. Методы обработки и визуализации больших данных // Аллея науки. - 2017. - Т. 3, № 16. - С. 976-982.
13. Хорошилов В. С., Кацко С. Ю. Геоинформационное пространство и виртуальная географическая среда // Изв. вузов. Геодезия и аэрофотосъемка. - 2015. - № 5/С. - С. 256-260.
14. Bill Franks. Taming the big data tidal wave: finding opportunities in huge data streams with advanced analytics. - John Wiley & Sons, Inc., 2012. - 336 p.
15. Dr. Arvind Sathi. Big Data Analytics: Disruptive Technologies for Changing the Game. -First Edition. - MC Press Online, LLC, 2012. - 98 p.
Получено 12.11.2018
© П. Ю. Бугаков, С. Ю. Кацко, А. А. Басаргин, Е. Ю. Воронкин, 2018
ANALYSIS OF THE FUNCTIONALITY OF THE WEB APPLICATION KEPLER.GL FORVISUALIZING AND ANALYZING OF LARGE SPATIAL DATASETS
Petr Yu. Bugakov
Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Ph. D., Associate Professor, Department of Applied Informatics and Information Systems, phone: (383)343-18-53, e-mail: [email protected]
Stanislav Yu. Katsko
Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Ph. D., Associate Professor, Department of Applied Informatics and Information Systems, phone:e-mail: [email protected]
Andrei A. Basargin
Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Ph. D., Associate Professor, Department of Applied Informatics and Information Systems, phone: (383)343-18-53, e-mail: [email protected]
Evgeniy Yu. Voronkin
Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Assistant, Department of Applied Informatics and Information Systems, phone: (923)127-58-86, e-mail: [email protected]
Currently, there is an active development of the multimedia direction in the cartographic display of large sets of spatial data. The tasks associated with the formation of geo-information space, the analysis of large sets of spatial data and their display by means of digital web-cartography are being solved.
The goal of this article is to analyze the functionality of the Kepler.gl web application designed to visualize and analyze large sets of spatial data. At this stage of development, Kepler.gl allows you to work with data stored in one of three open text formats: CSV, JSON or GeoJSON.
For practical testing of the main program functions, a map of bus and tram stops in the city of Novosibirsk was created. As a source of geodata, a shp-file was taken from the Open Street Map open set to the territory of the Siberian Federal District.
Based on the results of testing some of the functionalities, it can be concluded that Kepler.gl makes it possible to significantly simplify the process of analyzing and visualizing large data sets. To a greater extent, this is provided by a graphical interface, which contains intuitive tools for choosing how to display data, filter and aggregate data, overlay information from various sources, switch between 2D and 3D modes, etc.
Key words: visualization, spatial data, large set of data, geoinformation, thematic map, map layers, data aggregation, web-application.
REFERENCES
1. Analysis of large amounts of data. Data Analysis Technologies BASEGROUP LABS. Retrieved from https://basegroup.ru/community/articles/ very-large-data [in Russian].
2. Bugakov, P. Yu. (2012). Principles of cartographic mapping of three-dimensional terrain models. In Sbornik materialov Interekspo GEO-Sibir'-2012: Mezhdunarodnoy nauchnoy konferentsii: T. 3. Geodeziya, geoinformatika, kartografiya, markshejderiya [Proceedings of Interexpo GEO-Siberia-2015: International Scientific Conference: Vol. 3. Geodesy, Geoinformatics, Cartography, Mine Surveying] (pp. 156-161). Novosibirsk: SSGA Publ. [in Russian].
3. Data Visualization. Tadviser. Retrieved from http://www.tadviser.ru/ index.php/CTa-тbfl:Внзуа.пнзацнfl_даннbIх [in Russian].
4. Karpik, A. P., & Lisitsky, D. V. (2009). Electronic geographic environment - essence and concept. Geodeziya i kartografiya [Geodesy and Cartography], 5, 41-44 [in Russian].
5. Karpik, A. P., Osipov, A. G., & Murzintsev, P. P. (2010). Upravlenie territoriei v geoinformatsionnom diskurse [Territory Management in geoinformation discourse]. Novosibirsk: SSGA Publ., 280 p. [in Russian].
6. Katsko, S. Yu. (2011). The potential of information and analytical GIS for the work of non-professional users with spatial information. Vestnik SGGA [Vestnik SSGA], 1(14), 76-80 [in Russian].
7. Lisitsky, D. V., Bugakov, P. Ju., & Nguen, An Taj. (2016). Trehmernaja komp'juternaja kartografija [Three-dimensional computer cartography]. Novosibirsk: SSUGT Publ., 179 p. [in Russian].
8. Lisitskiy, D. V., Komissarova, E. V., Kolesnikov, A. A. (2017). Theoretical bases and features of multimedia cartography. VestnikSGUGiT[VestnikSSUGT], 22(3), 72-87 [in Russian].
9. Lisitsky, D. V. (2013). Prospects for the development of cartography: from the system "Digital Earth" to the virtual system geo-reality. Vestnik SGGA [Vestnik SSGA], 2(22), 8-16 [in Russian].
10. Lisitsky, D. V., Khoroshilov, & V. S., Bugakov. (2012). Cartographic visualization of three-dimensional terrain models. Izvestiya vuzov. Geodeziya i aerofotos"emka [Izvestiya Vuzov. Geodesy andAerophotography], 2/1, 98-102 [in Russian].
11. Lisitsky, D. V., Kolesnikov, A. A., Komissarova, E. V., Bugakov, P. Ju., & Pisarev, V. S. (2014). Multimedia direction in cartography. Izvestia vuzov. Geodeziya i aerofotos"emka [Izvestia Vuzov. Geodesy and Aerophotography], 3, 40-44 [in Russian].
12. Romicheva, E. V. (2017). Methods of processing and visualization of big data. Science Alley, 3(16), 976-982.
13. Khoroshilov, V. S., & Katsko, S. Yu. (2015). Geoinformation environment and virtual geographical environment. Izvestiya vuzov. Geodeziya i aerofotos"emka [Izvestiya Vuzov. Geodesy and Aerophotography], S/5, 256-260 [in Russian].
14. Bill Franks. (2012). Taming the big data tidal wave: finding opportunities in huge data streams with advanced analytics. John Wiley & Sons, Inc., 336 p.
15. Dr. Arvind Sathi. (2012). Big Data Analytics: Disruptive Technologies for Changing the Game (1st ed.). MC Press Online, LLC, 98 p.
Received 12.11.2018
© P. Yu. Bugakov, S. Yu. Katsko, A. A. Basargin, E. Yu. Voronkin, 2018