Для вычисления опозданий поездов в современной транспортной системе используют сравнение данных фактического следования с данными расписания. habr.com
Алгоритм включает следующие шаги: habr.com
- Получение идентификатора поезда и запрос в сервис расписания для актуального маршрута. habr.com
- Запрос в сервис, который хранит связи между локальными поездами и поездами в системе. habr.com Если связь есть, то из сервиса хранения фактических данных получают всю информацию о прохождении поездом контрольных точек. habr.com
- Анализ данных. habr.com В первую очередь проверяют, есть ли вообще данные фактического следования для конкретного поезда, когда они должны уже быть. habr.com Если их нет, то предполагают возможное опоздание. habr.com
- Анализ данных по последней или последним двум станциям (для надёжности), по которым есть данные фактического следования. habr.com Если есть отклонения от графика, то поезду ставят пометку «возможно опоздание/сильное опоздание/опережение». habr.com
- Определение причины — например, что поезд на одну из предыдущих станций прибыл с задержкой на несколько минут. habr.com
Также для расчёта задержек поездов используют метод имитационного моделирования спроса на перевозки и продвижения транспортных единиц по сети. cyberleninka.ru