Реализовать поиск маршрута и расчёт схемы проезда между остановками опираясь на плановое расписание транспорта на сайте nskgortrans.ru.
Файл с плановым расписанием
Студенты могут как самостоятельно взять расписания с сайта для некоторого набора маршрутов, так и воспользоваться уже скачанными и обработанными данными в формате CSV (по состоянию на 2015.12.20).
вид_транспорта,номер_маршрута,направление,тип_расписания
,,,,ID_остановки,имя_остановки, ,время_рейса1,время_рейса2,время_рейса3,...
,,,,ID_остановки,имя_остановки, ,время_рейса1,время_рейса2,время_рейса3,...
...
вид_транспорта,номер_маршрута,направление,тип_расписания
,,,,ID_остановки,имя_остановки, ,время_рейса1,время_рейса2,время_рейса3,...
Пример
bus,65,A,weekdays
,,,,00135,Общ. торговый центр, ,06:30,07:30,08:30,09:30,...
,,,,00232,Демакова ул., ,06:32,07:32,08:32,09:32,...
,,,,01184,Арбузова ул., ,06:35,07:35,08:35,09:35,...
,,,,00061,Микрорайон "Щ", ,06:37,07:37,08:37,09:37,...
,,,,01184,Арбузова ул., ,06:39,07:39,08:39,09:39,...
,,,,00058,Магазин №12, ,06:41,07:41,08:41,09:41,...
Параметры поиска маршрута
Система опираясь на плановое расписание должна определить набор возможных маршрутов (с пересадками) и выделить наиболее оптимальный из них (отсортировать по оптимальности), чтобы пользователь не опоздал и потратил на дорогу наименьшее возможное кол-во времени.
Подразумевается так же наличие некоторого "защитного интервала" времени для пересадок (необходимо чтобы время прибытия отстояло от времени следующего отправления на 2-5 минут).
Набор маршрутов с остановками и временами посадки / пересадки / прибытия.
Необходимо написать полноценный набор тестов, охватывающий все варианты поиска маршрутов: приехать на вокзал Новосибирск-Главный в 3 ночи, построение маршрута с пересадкой, и т.п.