Нужна помощь с графом дорог

Добрый день! Подскажите, пожалуйста, как сделать так, чтобы можно было рассчитывать расстояние между двумя точками на карте не напрямую, а по дорогам? В данный момент в рамках написания магистерской работы занимаюсь решением транспортной задачи (объезд клиентов), использую карты osm и плагин leaflet для отображения. Алгоритм пишу на php. Разрабатываю онлайн-сервис. Сейчас получается так, как на картинке. Я что-то слышал насчёт большого архива с графом дорог Новосибирска (пока речь идёт только об одном городе), но как его применить, “вживить” в систему? В этой сфере я человек новый, пока непросто разобраться. Подскажите, пожалуйста, кто знает. Заранее спасибо.

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