на днях занялся изучением вопроса экспорта маршрутов ОТ для дальшейшей
обработки с точки зрения анализа трафика. Для этого необходимо получить
цепочку однонаправленых веев, в порядке следования по ним маршрута.
Поскольку текущая схема хранения маршрута в OSM не предусматривает
именно такого способа хранения веев, пришлось изобретать велосипед
который, основываясь на порядке остановок в маршруте, упорядочивал бы веи,
перечисленые в релейшене. Столкнулся со следующими проблемами:
у большого количества маршрутов отсутствуют остановки
не все веи маршрута соединяются
в списке не хватает веев для объединения маршрута в неразрывную цепь
сбит порядок остановок в релейшене.
Немного поколдовав, изготовил прототип проверялки маршрута, базирующийся
на моих изысканиях по экспорту. Там реализовано не всё что задумано,
например: из маршрута может быть исключена петля, на которой нет остановки.
Маршрут загружается каждый раз через OSM API, и каждый раз анализируется.
Нет дружественного интерфейса. Но тем не менее, показать уже есть что,
возможно кому-то будет интересно.
Нет возможности отрисовать маршрут приблизительно и пользоваться им - типа из точки А в точку Б он доставляет, а вот как он уж там едет - это дело десятое. В результате много маршрутов будет незамаплено.
Представьте в какой кошмар для маппера выльется разделение на divided highway куска дороги, по которому проходит полсотни маршрутов. Я думаю что 90% случаем никто с этим возится не будет, и в итоге эти релейшны будут напоминать решето.
С электричками все-таки попроще, там рельсы только для них и используются. Хотя я слабо представляю на какой путь посадить электричку выезжающую с крупного вокзала.
Мне кажется все-таки нужен более описательный способ обозначения маршрутов, типа списка остановок и контрольных точек для маршрутизации… А дальше уже роутингом.
может имеет смысл ввести тип маршрута, который бы содержал только упорядоченные остановки?
не вижу никаких проблем, чтобы средствами редактора автоматически вносить изменения в маршруты, в которых задействован вей подлежащий разбиению.
электрички: может не стоит сильно озадачиваться вопросом с какой именно платформы нарисовать? достаточно нарисовать 1 на усмотрение рисовальщика?
Думал и на эту тему. Возникает много вопросов, что если после прорисовки (обозначения) маршрута таким образом, появится более короткий путь (новый вей нарисуют)? Такой способ вполне сгодился бы в качестве средства для создания маршрута. Но хранить его при этом нужно в виде набора веев.
хм… у нас давно ездят… правда только маршрутки, т.к. данных от автобусов нет.
Я тут в соседней теме пытался поднимать вопрос о маршрутах, и из возможности использования для прокладки маршрута(с пересадками) в частности… Эта тема ещё интересна кому-то?
Вполне интересно, только руки не доходят всё погонять свои маршруты через твой сервис. Котяра в свое время обещал нам сквозную прокладку по городу. Пока тишина.
http://tools.doroga.tv/chekroute.php?id=228493
Это старый вариант маршрута. Сейчас мост закрыт для общественного транспорта, и из маршрута удален. В результате проверки не находится способ проезда между 2 парами остановок
Хорошая мысль. Занёс в TODO. Спасибо. В случае, если скрипту удаётся проложить путь через все остановки, будет 2 линка. На просмотр KML, и скачивание маршрута в OSM формате.
Только тут возникает вопрос: В результаее работы скрипта получается последовательный список однонаправлных веев, которыё могут повторятся. Это несколько расходится с описанием маршрута в вики. Можно конечно обратно собрать маршрут в преречисление веев с указаним направления в котором они (веи) используются. При этом логично разместить все остановки внизу списка.
Ручная правка в большинстве случаев всё равно может потребоватся, т.к. в исходном рилейшене могут отсутствовать необходимые веи.
Кроме того порядок остановок в исходном маршруте является “опорной точкой” для упорядочивания веев, и дальнейшей проверке направления их использования. Другими словами, если в маршруте нет остановок - скрипт ничего сделать не сможет. При сбитом порядке остановок, скорее всего будет огромное количество веев, используемых многократно.