Карта ДТП в России (тепловые карты и кластеризация)

Пример создания интерактивной карты с нуля, начиная с создания схемы данных БД и заканчивая оформлением готовой карты. В качестве исходных данных были взята информация о ДТП в России с 2015-2024 года. Посмотреть на готовую карту можно по ссылке: https://cogisdemo.dataeast.com/portal/samples/dtp?blog

Правильно визуализировать данные – одна и главных задач ГИС-специалиста при создании нового картографического приложения. В этом процессе стоит использовать самые эффективные способы представить большой объём информации  пользователю максимально наглядно, функционально и эстетично.

Одними из популярных средств визуализации данных являются тепловые карты и кластризация объектов. Ранее мы уже подготовили несколько материалов на тему как работать с такими сущностями как тепловые карты и кластеризация в CoGIS. В этих материалах мы постарались отразить техническую сторону вопроса:

В этой статье мы хотели бы разобрать пример применения популярных инструментов отображения большого количества информации на карте. Для этого мы используем данные с сайта «Карта ДТП» (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/).

  1. Определяем схему данных в БД (19 таблиц и 2 sql-view).
  2. Импортируем данные из geojson в готовую схему данных (объём данных – 3 Гб).
  3. Создаём картографический проект в QGIS (8 слоев, 2 таблицы, 14 справочников).
  4. Публикуем готовый проект в формате QGS в виде картографического сервиса.
  5. Создаём веб-карту в Конструкторе с настройкой (карта, переключатели для включения/выключения слоев, шаблоны карточек объектов, единый виджет с фильтрацией и статистикой, копирование фильтров между слоями и пр.).

В результате у нас получилось создать функционально-демонстрационный прототип из исходных данных и предоставить пользователям такой карты множество инструментов для визуального анализа.

Желаем всем никогда не становиться частью этой статистики. Будьте внимательны на дороге!