Hacker News Digest

27 октября 2025 г. в 11:18 • asherfalcon.com • ⭐ 124 • 💬 17

OriginalHN

#raph#tfl#rail-data-marketplace#gtfs#open-source

I built my own CityMapper

Автор описывает процесс создания собственной системы маршрутизации общественного транспорта Лондона, использующей данные в реальном времени для автобусов, метро и поездов. Основная сложность заключалась в разработке алгоритма, который мог бы эффективно обрабатывать большие объемы данных и оптимизировать маршруты с минимальным количеством пересадок. Вместо стандартного алгоритма Дейкстра, который не учитывал удобство для пассажиров, автор выбрал RAPTOR, разработанный Microsoft Research в 2012 году. Этот алгоритм работает в раундах, где каждый раунд k ищет маршруты с k пересадками, минимизируя время в пути.

Для получения актуальных данных автор использовал несколько источников. Поездные данные были получены бесплатно через Rail Data Marketplace, где для каждой станции указаны запланированное и фактическое время прибытия. Сбор данных об автобусах оказался более сложной задачей - при обращении к TFL API для получения данных о прибытии автобусов система обрабатывала более 108 000 записей, что занимало более 15 секунд. Для обоих видов транспорта автор использовал уникальные идентификаторы поездов и автобусов для формирования непрерывных маршрутов в алгоритме RAPTOR.