Для сбора метеорологических данных используют автоматические дорожные станции, которые измеряют температуру и влажность воздуха, точку росы, фиксируют состояние дороги и толщину отложений, количество и интенсивность осадков, скорость и направление ветра, атмосферное давление, высоту снежного покрова, наличие и концентрацию дорожных реагентов, уровень оптической видимости, температуру поверхности асфальта и дорожной конструкции. На основе этих показателей и данных поставщиков прогноза погодных условий формируются специализированные дорожные прогнозы, которые в сочетании с системой оповещений помогают корректировать скоростной режим, допустимое расстояние движения транспорта в условиях плохой видимости в зависимости от состояния дорожного покрытия, сокращая риск аварий.
Компания ТРАССКОМ, которая является одним из крупнейших поставщиков оборудования для интеллектуальных транспортных систем и участником Национального проекта «Безопасные качественные дороги» (БКД), обратилась за разработкой онлайн-сервиса для оказания услуг широкому кругу потребителей по предоставлению данных о прогнозе условий дорожного движения.
Проблема и решение
Для формирования прогноза дорожных параметров используется модель прогнозирования METRo, разработанная департаментом окружающей среды и климатических изменений правительства Канады. Данная модель прогнозирования рассчитывает поток тепла через поверхность дороги, представляя его в виде суммы солнечного и поглощенного инфракрасного излучений, излучаемой энергии, турбулентного и латентного тепловых потоков, изменения теплоты за счёт фазового перехода, а также антропоморфных источников. Входными данными данной модели являются данные атмосферного прогноза, а также данные, полученные с автоматических дорожных метеостанций.
Таким образом, чтобы получить данные о состоянии дорожного полотна, потребитель должен собрать данные из нескольких источников и сделать расчет, используя модель METRo. Сервис предоставляет единое API для получения как дорожного прогноза, так и общего атмосферного прогноза от поставщиков по разным прогнозным моделям.
Кроме этого поставщики погодных данных накладывают определенные ограничения для внешних запросов (квота запросов, задержка между запросами и др.), что может создавать серьезные сбои и трудности в работе приложений, которые привязаны напрямую к API поставщика. Сервис решает эту проблему, организуя очередь запросов и кеширование данных. Это позволяет выполнять меньше медленных операций с запросами к внешним API и показывать конечным пользователям заранее сохраненные данные в удобной для отображения форме.
Функционал сервиса
Созданный в рамках проекта сервис не предполагает взаимодействия с конечным пользователем, так как является составной частью комплексного решения для интеллектуальных транспортных систем. Компания-заказчик предоставляет коммерческий доступ в рамках действующих тарифов для бизнеса и дорожных служб, которые самостоятельно разрабатывают интерфейс под свои задачи.
Сервис предоставляет доступ к общему числовому прогнозу погоды и специализированному дорожному прогнозу.
Для получения данных общего числового атмосферного прогноза сервис интегрируется с сервисами следующих поставщиков метеоданных:
Пользователь, который приобрел тариф общего числового прогноза, подключается к модулю выбранного поставщика метеоданных. Через единый API он получает общие данные о температуре, ветре, осадках, давлении. Данные полученного прогноза кэшируются и хранятся в архиве с учетом всех ограничений, которые накладывает поставщик погодного прогноза.
Пользователь, который приобрел тариф специализированного дорожного прогноза, получает возможность зарегистрировать собственные метеостанции, используемые для сбора локальных погодных данных и получать прогноз состояния дорожного полотна, рассчитанный по модели METRo, с использованием данных атмосферного прогноза доступного по тарифу поставщика.
Стек технологий
Back-end — ASP Net. Core (C#), Django (Python).
Front-end — ReactJS.
СУБД — PosgreSQL, MongoDB.
Кэширование – Redis.
Система организована на микросервисной архитектуре, что дает возможности горизонтального масштабирования при необходимости.
Для запуска микросервисов используется Docker-контейнер. Все контейнеры развернуты и управляются в кластере Kubernetes.
Область применения специальных дорожных прогнозов
Данные сервиса делают эффективной работу дорожных служб и органов управления дорожного хозяйства. Благодаря достоверной и оперативной передаче информации о метеоусловиях можно не только получать информацию об уровне содержания дорожной сети, но и автоматизировать контроль работ подрядных организаций по содержанию дорог.
Метеомониторинг полезен для государственных служб, позволяя контролировать эффективность расходования бюджетных средств на выполнение работ по обслуживанию дорожной сети и противогололедные материалы в зимний период.
Специализированные погодные сервисы помогают получать предупреждения об опасных погодных явлениях и через систему электронных табло информировать о скользкости дорожного покрытия, плохой видимости и других погодных явлениях, которые увеличивают число ДТП и смертность на дорогах.