Карта ДТП в России (тепловые карты и кластеризация)
Пример создания интерактивной карты с нуля, начиная с создания схемы данных БД и заканчивая оформлением готовой карты. В качестве исходных данных были взята информация о ДТП в России с 2015-2024 года. Посмотреть на готовую карту можно по ссылке: https://cogisdemo.dataeast.com/portal/samples/dtp?blog
Правильно визуализировать данные – одна и главных задач ГИС-специалиста при создании нового картографического приложения. В этом процессе стоит использовать самые эффективные способы представить большой объём информации пользователю максимально наглядно, функционально и эстетично.
Одними из популярных средств визуализации данных являются тепловые карты и кластризация объектов. Ранее мы уже подготовили несколько материалов на тему как работать с такими сущностями как тепловые карты и кластеризация в CoGIS. В этих материалах мы постарались отразить техническую сторону вопроса:
- Тепловые карты в CoGIS: https://cogis.dataeast.com/ru/blog/features/heatmap-in-cogis/
- Кластеризация объектов на карте: https://cogis.dataeast.com/ru/blog/features/clustering-objects-on-map/
- Видео: тепловые карты: https://cogis.dataeast.com/ru/blog/video/video-heatmaps/
- Видео: кластеризация объектов: https://cogis.dataeast.com/ru/blog/video/video-clusters/
В этой статье мы хотели бы разобрать пример применения популярных инструментов отображения большого количества информации на карте. Для этого мы используем данные с сайта «Карта ДТП» (https://dtp-stat.ru) - ДТП по территории России. Общая статистика и объём данных включает несколько миллионов объектов:
Это достаточно презентабельный набор данных, чтобы на нём можно было протестировать способы визуализации информации на карте. Для этого мы создали отдельную карту на нашем демонстрационном портале:
https://cogisdemo.dataeast.com/portal/samples/dtp
В веб-версии desktop-браузера кроме карты есть панель(виджет) с фильтрацией и разнообразной статистикой. В мобильной веб-вёрстке доступна только карта с переключателями разных представлений одних и тех же данных.
При приближении на крупных масштабах отображаются исходные объекты с раскраской по тяжести ДТП.
Тепловые карты
Для демонстрации гибкости в настройке тепловых карт мы добавили два варианта тепловых карт одних и тех же данных. Первый вариант представляет собой зелено-жёлто-красную цветовую схему, показывающую основные скопления ДТП.
Ещё один вариант раскраски тепловой карты более агрессивно использует прозрачность. Итоговая цветовая схема содержит только красный цвет с изменяющейся прозрачностью:
Такой вариант раскраски подходит для анализа распределённости данных по карте.
Кластеризация объектов
Кроме того, в карту добавили визуализация данных ДТП в виде кластеров с дольками. Каждая кольцо с дольками вокруг кластера отвечает степень серьёзности ДТП:
Все три варианта раскраски представлены в виде трёх взаимоисключающих переключателей.
Информация о ДТП
При идентификации объектов ДТП открывается карточка с характеристиками самого ДТП, а также с перечнем попавших в него транспортных средств, включая водителей и пассажиров, и прочих участников с указанием состояния здоровья каждого из них.
Фильтры и статистика
В панели снизу карты доступна фильтрация по наиболее важным характеристикам - период времени, регион РФ или конкретный город/муниципальный район, по тяжести ДТП, по кол-ву ТС и кол-ву погибших в ДТП. По умолчанию выбран период за последние 12 месяцев через настройку плавающего окна относительного текущего дня.
Как в любой хорошей интерактивной карте любое изменение фильтрации автоматически применяется и к карте, к статистике и к атрибутивной таблице.
Статистика представлена в той же нижней панели как в виде расчетных показателей, так и в виде диаграмм по различных критериям: по регионам, по годам/месяцам/дням недели/часам. В легенде у диаграмм можно отключать отдельные показатели.
Из такой интерактивной статистики можно подчерпнуть много интересных моментов, например:
- по регионам сильно разнится тяжесть ДТП (в Москве доля ДТП с летальным исходом в 3 раза ниже, чем в Московской области)
- из года в год количество серьёзных ДТП уменьшается
- наиболее количество легких ДТП случаются в пятницу, в том время когда трагические - в субботу
- почасовой пик смертельных ДПТ происходит в 19:00, серьёзных - в 18:00, а незначительных - в 17:00
Процесс создания карты
Для того, чтобы сделать подобную карту мы обычно следуем уже отлаженному процессу, двигаясь от исходных данных к оформлению готового картографического приложения (подробнее об этом процессе мы писали в отдельной статье - https://cogis.dataeast.com/ru/blog/features/vertically-integrated-principle-in-cogis-platform/).
- Определяем схему данных в БД (19 таблиц и 2 sql-view).
- Импортируем данные из geojson в готовую схему данных (объём данных – 3 Гб).
- Создаём картографический проект в QGIS (8 слоев, 2 таблицы, 14 справочников).
- Публикуем готовый проект в формате QGS в виде картографического сервиса.
- Создаём веб-карту в Конструкторе с настройкой (карта, переключатели для включения/выключения слоев, шаблоны карточек объектов, единый виджет с фильтрацией и статистикой, копирование фильтров между слоями и пр.).
В результате у нас получилось создать функционально-демонстрационный прототип из исходных данных и предоставить пользователям такой карты множество инструментов для визуального анализа.
Желаем всем никогда не становиться частью этой статистики. Будьте внимательны на дороге!