Приложение «Яндекс Транспорт» определяет положение транспорта с помощью GPS-приёмников. 1 Они установлены в транспорте и с помощью спутников примерно раз в минуту определяют координаты. 1 Определив свою геопозицию, приёмник отправляет этот сигнал на сервер партнёров Яндекса. 1
Далее сигналы проходят базовую проверку. 1 Важно убедиться, что они корректны: время соответствует реальному, а координаты находятся в пределах допустимых значений. 1 После этого данные нужно привести к единому формату, ведь у разных партнёров разный формат описания позиций автобусов. 1
Затем сигналы отправляются в сервис-обработчик. 1 Чтобы сбалансировать нагрузку, сервис приёма реалтайм-данных распределяет их между серверами. 1
Первый шаг в обработке сигнала — определить, по какому маршруту поедет транспорт. 1 Для этого используется алгоритм «привязки». 1 Кроме текущего сигнала, он учитывает всю историю геопозиций автобуса, а ещё информацию о маршруте: его положение на карте, расположение остановок и расписание. 1
За плавность движения машин в приложении отвечает прогнозатор. 3 Это алгоритм, который учитывает пробки и предыдущую историю движения метки (как этой конкретной, так и других на маршруте) и позволяет правдоподобно двигать эту метку в промежутках между сигналами. 3