Все новости
Продукт

Ситуационная карта: история разработки и функционал продукта

Мы поговорили с разработчиком ситуационной карты – продукта, который агрегирует данные о машинах, объектах и камерах видеонаблюдения в едином интерфейсе. Екатерина рассказала, с чего всё началось, какие сложности встретились на пути и на какой стадии проект находится сейчас.

С чего всё началось

Заказчик – крупная ресурсоснабжающая организация, у которой много объектов по Москве. На каждом объекте установлены камеры видеонаблюдения и пропускная система, а между объектами по разным задачам передвигается большое количество служебных автомобилей. Раньше служба безопасности мониторила всё это с помощью разных сервисов и окон. В критической ситуации, например при нарушении безопасности на одном из объектов, такое распыление удлиняло время реагирования: нужно было переключаться между системами, сводить данные вручную и тратить драгоценные минуты.

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

Как работает ситуационная карта

Есть множество сторонних сервисов: на каждой машине стоит датчик, который передаёт данные о текущем положении; на каждом объекте – несколько разных видов сигнализаций и данные о турникетах (кто, когда и куда прошёл), а также камеры видеонаблюдения. Ситуационная карта – это в первую очередь агрегатор: она собирает все эти данные и показывает пользователю в максимально удобном виде.

Также есть журнал телеметрии – данные о том, по какой траектории двигалась машина, на какие объекты и в какое время заезжала, сколько там простояла. Весь этот отчёт собирается исключительно по анализу передаваемых координат ГЛОНАСС (спутниковая навигационная система). Раньше такие отчёты заполнялись сотрудниками вручную, а проверить достоверность данных было невозможно.

Сроки и этапы 

Проект проходил в несколько этапов и занял два года.

Первый этап – отрисовка карты, объектов и машин; разработка первой версии журнала телеметрии и первых этапов фильтрации; подключение камер.

Второй этап – изменение интерфейса и создание административной панели; доработка журнала телеметрии; работа над плавностью движения автомобилей на карте.

Третий этап – настройка интеграций, доработка интерфейса, усложнение системы фильтрации (в том числе по районам).

Какие были сложности

По технической части сложности возникли с плавностью движения автомобилей на карте (одно из требований заказчика) и журналом телеметрии. Главной проблемой стали периодические сбои в передаче данных по координатам.

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

«Мы накапливаем кэш последних точек, и машина на карте не начинает двигаться, пока не накопится хотя бы пять точек. Когда накопили, начинаем вращать и двигать машину, но скорость подбираем так, чтобы она не успевала доехать до последней прилетевшей точки, пока не прилетит следующая. Если видим, что точек в запасе недостаточно, замедляем автомобиль на карте».
– Екатерина Турышева, разработчик

Одной из самых сложных работ по проекту стало определение точки остановки. Мы перебрали несколько разных моделей, чтобы понимать, что машина прибыла на объект, а не остановилась на светофоре.

Сначала алгоритм был простой: если несколько раз подряд приходят точки с нулевой скоростью и между первой и последней такой точкой проходит достаточно времени, считаем, что машина стоит. Но потом выяснилось, что ГЛОНАСС не всегда присылает несколько нулевых точек – иногда приходит только одна. Тогда мы стали смотреть на следующую точку: скорость у неё уже не ноль, но может быть маленькой. И по параметрам решаем, была ли это стоянка: насколько следующая точка близка к предыдущей, какая максимальная скорость допустима.

Также несколько раз менялся интерфейс проекта. Заказчик не всегда прислушивался к нашим комментариям, в итоге приходилось откатывать назад уже внедрённые правки.

Итог

Сегодня ситуационная карта находится в промышленной эксплуатации. Продукт работает, и, что особенно приятно, заказчик доволен.

Внедрение ситуационной карты позволило не только упростить работу службы безопасности, объединив данные в одном окне, но и усилить контроль за сотрудниками, благодаря журналу телеметрии. Теперь заказчик точно знает, как часто посещаются объекты и сколько времени сотрудники на них проводят. А в случае нарушения безопасности одного из объектов реакция займёт меньше минуты, так как вся нужная информация постоянно находится перед глазами – в одном окне.

Редактор

Читайте также

Событие

CTO «Проявления» рассказал на ITGorky историю разработки нашего LLM-бота

Алексей Кудаков выступил на конференции ITGorky с докладом о нашем LLM-боте. Он представил кейс разработки, рассказал о ключевых метриках проекта, сложностях и технических решениях.

Читать
Продукт

Как мы заменили скриптового робота на LLM-бота в крупной ЖКХ-компании

LLM-бот на голосовой и текстовые каналы, реализованный полностью в закрытом контуре – именно такое решение мы разработали для одного из наших заказчиков в этом году. Рассказываем, с чего началась эта история, какие проблемы пришлось решить и как продукт проявляет себя в промышленной эксплуатации.

Читать
Продукт

«Айка»: история проекта от команды разработчиков

На прошлой неделе наша команда завершила разработку проекта «Айка» – он был принят в промышленную эксплуатацию заказчиком. В статье рассказываем, что умеет наша система, как происходила реализация проекта, с какими сложностями столкнулись на пути, что получили в итоге и что ещё планируем сделать.

Читать

Заинтересовало решение?

Расскажем подробнее и запустим пилот в закрытом контуре вашей организации.

Обсудить проект
Обсудить проект