Как диспетчеру понять, не устарела ли GPS-координата машины



Когда GPS-трекер теряет связь или не может определить положение, диспетчер рискует принять старую координату за текущее местоположение машины. На маршрутах с перебоями мобильной связи и в районах с помехами спутниковой навигации это может привести к ошибке: клиент получит уведомление о прибытии, хотя грузовик уже уехал.
Перед подтверждением приезда мы рекомендуем проверять свежесть и статус позиции: когда трекер записал координату и удалось ли ему определить новое местоположение. Посмотрим, как это работает на условном примере доставки.
Сообщение пришло, когда машина уже уехала
В 10:00 водитель подъехал к складу. Трекер записал координату, но мобильная связь прервалась, и сообщение осталось в памяти устройства. Заехать на разгрузку не удалось. В 10:05 водитель отправился на площадку ожидания за пределами склада.
В 10:20 связь восстановилась, и трекер начал передавать накопленные данные. Первой диспетчер получил точку за 10:00 — у склада. В этот момент клиент спрашивает: «Машина уже на месте?»
Если смотреть только на координату, хочется ответить «да». Но она показывает, где грузовик был двадцать минут назад. Для ответа о его текущем положении нужны свежие данные.
Пустой маркер — последняя известная позиция, синий — новая. Картографические данные: © OpenStreetMap contributors.
Проверьте свежесть и статус позиции перед подтверждением приезда
Сначала посмотрите время записи точки. В нашем примере это 10:00. Время получения сообщения — 10:20 — говорит лишь о том, когда данные дошли до сервера. Двадцатиминутная задержка не делает координату ошибочной: она по-прежнему полезна для истории поездки, но уже не подтверждает, что машина сейчас у склада.
Затем проверьте статус позиции. Трекер может выйти на связь и передавать свежие показания датчиков, продолжая использовать последнюю известную координату. Поэтому недавнее сообщение само по себе еще не означает, что положение машины обновилось.
В данных Navixy для этих проверок предусмотрены отдельные поля: msg_time — время записи точки, server_time — время ее получения, gps_fix_type — статус определения позиции. Их значения описаны в документации по сырым данным. Статус показывает, как сам трекер оценил позицию: как достоверную, недостоверную, последнюю известную или неизвестную.
Теперь можно уточнить, где грузовик
В том же пакете есть и точка за 10:19:50. Трекер отмечает ее как достоверную, а координата указывает на площадку ожидания. Теперь есть основание ответить клиенту: «Машина подъезжала к складу, сейчас находится на площадке ожидания. Уточняю у водителя время заезда».
Если свежей позиции нет или ее статус неизвестен, диспетчер уточняет положение машины у водителя. Подтверждать, что грузовик сейчас на складе, по одной старой точке рано.
Как применить эту проверку в Navixy
Начните с одного маршрута, где бывают перебои связи. Разберите несколько доставок: какие координаты и статусы получала система, с какой задержкой и какие уведомления отправляла клиенту. Так вы увидите, где старые данные могли повлиять на решение о прибытии.
Для автоматической проверки задайте допустимый возраст точки с учетом частоты обновления трекера и вашей задачи. Убедитесь, что устройство передает статус позиции и что правило учитывает его вместе со временем записи. Для обработки входящих данных в Navixy можно использовать IoT Logic; конкретное условие зависит от доступных атрибутов устройства и вашей системы уведомлений.
Перед включением правила проверьте его на истории поездок. В случае с нашим грузовиком оно должно сохранить визит к складу в 10:00, но не выдать его за текущее нахождение там в 10:20.
