Skip to content

Latest commit

 

History

History
48 lines (28 loc) · 7.84 KB

File metadata and controls

48 lines (28 loc) · 7.84 KB

mgtmap

Схема наземного транспорта Москвы, на которой толщина линии каждого маршрута соответствует частоте движения в заданный период времени. Полезна для использования при городском ориентировании.

FAQ

Зачем? Есть ведь wikiroutes, osmot, Яндекс.Транспорт, бумажные атласы?

Поориентировавшись по городу, понял, что очень важно отличать «толстые» линии НОТ от тонких (притом что первая может быть представлена одним троллейбусом, а вторая — 15-ю автобусами и наоборот). Это действительно сильно влияет на принятие правильного решения в вопросах «идти или ехать», «на какую улицу из двух идти» или «ехать на прямом троллейбусе или кругом на метро».

Поскольку ни в каком атласе информации о частотах движения нет, а на сайтах с расписаниями и Яндексе данные об интервалах представлены в предельно ненаглядной форме (заходишь в маршрут и только там видишь цифру), пришлось рисовать самому. В итоге хочется получить что-то наподобие вот этого, но на всю Москву и динамическое.

Почему не на данных OSM?

Потому что в OSM много дорог, отрисованных в два ребра. Если рисовать по ним односторонние маршруты, линия получится зрительно в два раза толще, чем она есть на самом деле. Соответственно, можно либо взять свои данные, либо придумать алгоритм «схлопывания» двухрёберных дорог, но мои попытки двигаться в эту сторону пока не привели к визуально красивому результату.

Как этим пользоваться?

Рассматривать :). Дополнительных функций пока мало:

  • можно кликнуть на сегмент, увидеть список маршрутов, проходящих по нему;
  • можно навести на маршрут в этом списке, он подсветится на карте. Можно навести на участок на карте — в списке подсветятся маршруты, которые идут от места с балуном до этого участка.
  • можно выбирать селектами в правом верхнем углу временной промежуток, по которому усредняется количество рейсов
  • можно выбирать селектом в правом верхнем углу дату, по состоянию на которую отображается маршрутная сеть. Толщины, правда, все равно актуальные на сегодня (или на момент отмены маршрута, если сегодня нет такого номера).
  • можно сделать все линии одновременно во сколько-то раз толще с помощью селекта с множителем (чтобы сравнивать тоненькие линии ночных рейсов или интервалы в Новой Москве)
  • можно добавить в урл «?equal=1», чтобы увидеть все линии одинаковой толщины, если вам не важны интервалы.

Что тут за данные?

Данные актуальны на конец апреля 2016. Сразу после этого начались радикальные изменения (запуск «синих» маршруток, отмена троллейбусов), которые не закончились до сих пор (ещё не введена новая маршрутная сеть в центре и у МЦК). Обновлять данные буду, когда радикальные изменения закончатся.

Трассы вбил руками (основная сложность — визуально расставить линии в правильном порядке на каждом сегменте, чтобы маршруты между собой на одной трассе не тасовались; хорошего алгоритма придумать пока не смог), а толщины линий взял с сайта Мосгортранса (скачиваю все маршруты парсером, а потом усредняю по часам; «красные» и «зеленые» спецрейсы пока приходится игнорировать).

Для маршрутов, отсутствующих на сайте МГТ, есть тривиальный фоллбек — брать толщины линий из Реестра, деля число закреплённых машин на длину трассы, но для указанных здесь данных он не нужен и потому не вкоммичен.

Для маршрутов, переданных частным перевозчикам в рамках «Новой модели», частоты движения взяты из госконтрактов, распаршены из xslx. Сопоставление номеров госзакупок с номерами маршрутов на основе данных с форума есть в этом файле.

Что с точки зрения прав?

Трассы маршрутов и сами сегменты (segments.json, routes.json) нарисованы лично мной на основе собственных знаний, и я разрешаю любое их использование без ограничений. Буду рад, если вы решите их использовать в каком-то открытом проекте и сообщите об этом мне — буду заходить и гордиться.

Данные о частоте движения (widths.json, freqs.json) получены из открытых источников, но принадлежат правообладателям — Департаменту Транспорта Москвы и ГУП Мосгортранс.

Что дальше?

Ну теперь это надо поддерживать и время от времени коммитить новые изменения. Я делаю это, но с запазыванием на пару недель-месяц.

Планирую расширить временной охват и в прошлое, перерисовав историю маршрутов с ***.ruz.net.