О сервисе
Карта доступности — это инструмент расширяющий возможности человека оказавшегося перед нелегким выбором: куда
бы отправиться, чтобы пойти куда подальше.
Сервис показывает, куда можно успеть попасть из определенной точки за заданное время выбранным способом
передвижения.
Как это работает?
Выбрав точку на карте, вы увидите градиентную сетку. Цвета на ней показывают время за которое можно до них
добраться.
Дату и время старта можно изменить воспользовавшись календарем появляющимся при нажатии на поле "Старт" вверху
страницы.
Максимальное время в пути можно изменить воспользовавшись ползунком вверху страницы.
Существует два способа подсчета времени в пути:
- «От заданного времени» — время в пути с учетом ожидания фактического старта.
- «Оптимальное» — минимальное время в пути от фактического старта маршрута (ожидание до
старта не учитывается). Старт может быть не позже чем через 1ч 30мин от заданного времени.
В настройках можно выбрать точки которые будут отображаться на карте, а также регулировать
прозрачность и менять подложку карты.
Также можно посмотреть карту покрытия и карту расстояний для всех стартовых точек.
Как рассчитывались данные?
Карта доступности строится на основе данных полученных через OpenTripPlanner (OTP).
Серверу OTP требуются данные с расписанием транспорта в формате GTFS. Для этого был запущен
парсинг с сайта Яндекс.Расписания всех рейсов ЖД
транспорта в радиусе 600 км от Москвы. С сайта Wikiroutes.info были получены координаты остановок, маршрут и время отправления остального
транспорта (кроме ЖД). Учитывая среднюю скорость и расстояние между остановками, было посчитано расписание по
всем остановкам каждого рейса. В результате были составлены данные в формате GTFS для всех видов транспорта в
радиусе 600 км от Москвы.
Алгоритм вычисления времени в пути
Пространство вокруг стартовых координат делится на сетку точек. От центральной точки алгоритмом поиска в ширину
(BFS) рассчитывается время в пути до соседних точек сетки пока не будет достигнута граница по максимальному
времени.
Для общественного транспорта возможны случаи наличия валидных точек вне получившегося связанного графа. Чтобы
их найти, берутся координаты остановок в задаваемом радиусе от центра. Для каждой из них рассчитывается время в
пути. Если оно меньше максимального, BFS по той же методике стартует от них.