Маршруты общественного транспорта

тут я бы на каждую остановку свою stop_area поставил

Ну вот кстати, пример, двух геометрически близких остановок, между которыми сложно перемещаться.
http://www.openstreetmap.org/browse/node/2070021005
http://www.openstreetmap.org/browse/node/449792656
56 метров, но идти придётся около 600 метров (по моим прикидкам).
Когда дойдёт дело до транспортного роутинга, надо будет что-то придумывать для запрета (или большого веса) перехода между ними

Реализация в GTFS. Надо что-то подобное.

Здравствуйте. Судя по вкладке заготовок в JOSM с говорящим названием «Общественный транспорт (устаревшая схема)», сейчас актуальной считается схема, описанная здесь. Т.е. для «неотставания от шага времени» надо стать психом :smiley: и разобраться со всем этим добром, вместо прежней разметки остановок и формирования на их основе маршрутов (если надо). Беглый взгляд на ветку форума даёт понять, что в этой современной схемке путаются и частенько вопрошают весьма опытные осмеры (а другие и не полезут в такие дебри). Есть информация порядка: «да, оно того стоит» ? То бишь успешное применение со списком преимуществ перед старой схемой.
Моё представление, безусловно, обывательско-примитивное, и всё же (на правах взгляда со стороны :stuck_out_tongue: ) есть ощущение попытки сделать так, чтобы остановки на карте и маршруты, их соединяющие, были чуть ли не самопрограммирующимися (и взимодействующими). Ткнул на карте две точки и - вуаля, маршрут готов со всеми потрохами. Не сомневаюсь, что это реально, однако это не задача мапперов. Сверхперенавороченность системы отрисовки в общем-то простых элементов не знаю чему служит. Возможно мне подскажут и укажут (на моё скромное место :smiley: )

В новой схеме нет ничего навороченного: для каждого направления одно отношение, в котором сначала перечисляются точки остановок stop_position, затем точки остановок platform, а затем отрезки дорог, по которым пролегает маршрут, в том порядке, в котором его проходит автобус. Отношения разных направлений одного маршрута объединяются ещё одним отношением.
Куда проще и понятней?
Плохо, что пока нет удобного инструмента для создания и редактирования. Но его не было и для старой схемы.

В разметке остановок тоже ничего сложного. Место, где стоят люди — public_transport=platform, точка на дороге, где останавливается транспорт — public_transport=stop_position.

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

А вот пример маршрута по новой схеме
маршрут: http://www.openstreetmap.org/browse/relation/1205696
остановка: http://www.openstreetmap.org/browse/relation/2951045

Насколько я понимаю, это верно для одной остановки, а не всего маршрута. Т.е. должно быть так:

stop_position
platform
stop_position
platform
stop_position
platform

Не знаю. Я делал отдельными списками, потом заметил, что многие делают как у тебя. Но в пропосале не нашёл как правильно.
На самом деле, достаточно просто порядка следования отдельно platform и отдельно stop_position, а их расположение относительно друг друга не важно. А если полностью задан путь, то и порядок stop_position тоже уже не важен. Новая схема избыточна при полном заполнении.

Со старой замучаешься backward и forward проставлять, а в новой тупо по-порядку добавляешь.

http://wiki.openstreetmap.org/wiki/Proposed_features/Public_Transport
Секция Route

В торопях неправильно первёл Буду знать.
Вообще, всю эту сортировку должен плагин делать. Ужасно бесит, когда надо stop_position переместить на дргую сторону перекрёстка — новая точка оказывается в после всех других членов.

Вот такой маршрут по двум точкам автоматически не построить, ИМХО.
В схеме нет ничего лишнего. Если схема кажется сложной - просто рисуйте остановки (platform) и/или включайте их в отношение маршрута. Потом кто-нибудь допилит всё до ума или вы сами, когда освоите схему полностью.

Но, конечно, не хватает валидатора порядка остановок, расположения их вблизи линий маршрута и индикации возможных пропущенных.

Маршрут должен рисоваться стрелочками на клавиатуре. Выбираешь первый отрезок, второй и поехали: вперёд-вперёд-вперёд-налево-налево… Остановки сами предлагаются в конце.

lzhl, на старую схему похоже. Отличия в начинке этого «пирога транспортного»
gryphon, мешает желание сделать всё путём :slight_smile: В вашем примере «площадь Ленина» - это отношение, объединяющее 4 одноимённые остановки? И оно включает 4 платформы и столько же точек-стопоров транспорта? И что означает это дело (сам пример)? Это ж не остановка, а отношение с прикрученным тегом public_transport = stop_area. Или так и должны теперь выглядеть остановки? При разметке просто остановок (вообще) связываются ли отношением точка на дороге (стоп-позиция) и на обочине (платформа) ? Рискну предположить, что человек, адекватно переваривший новую схему под названием «общественный транспорт», может накропать относительно вменяемое «пособие для тех, кто не в теме» :wink: Я такое только по старой схеме читал.
OverQuantum, я имел в виду лишь пункт отправной и прибытия. Но так напичканные тегами, отношениями, скриптами и ещё чёрте чем :smiley: , что могут «протянуть» к друг другу «нитки-пути» и даже с пересадками (с помощью таких же промежуточных смарт-остановок, по цепной реакции :roll_eyes: ) Это чисто фантазия, возникшая по мотивам кажущейся мне чрезмерной избыточности информации и сложной её организации в области «общественный транспорт OSM». И хочется, чтобы кому-то (мне в том числе) пришлось допиливать как можно меньше. И уж точно не перепиливать заново :smiley:

LLlypuk82
lzhl, на старую схему похоже. Отличия в начинке этого «пирога транспортного»

В вашем примере «площадь Ленина» - это отношение, объединяющее 4 одноимённые остановки? И оно включает 4 платформы и столько же точек-стопоров транспорта? И что означает это дело (сам пример)? Это ж не остановка, а отношение с прикрученным тегом public_transport = stop_area.
Это остановка или пересадочный пункт - группа близких остановочных точек с одним названием.

При разметке просто остановок (вообще) связываются ли отношением точка на дороге (стоп-позиция) и на обочине (платформа) ?
Они

  1. обе должны входить в один stop_area
  2. в каждом маршруте стоять последовательно - stop, platform
    Фишка в том что стоп-позиция и платформа - разные сущности. Может быть одна платформа на которой ждут транспорт в разные стороны, а может быть одна стоп-позиция для двух платформ (1-полосная сельская дорога, ж/д “нитка” между двух платформ и т.п.)

И хочется, чтобы кому-то (мне в том числе) пришлось допиливать как можно меньше
Согласен, что простого инструмента пока нехватает.

Мда… видимо надо ускорится в написании валидатора, раз тема стала интересна многим.

Ребяяяята, есть же среди вас опытные в этом вопросе. Сделайте полезное - чёткий и ясный мануал. Вот этот не совсем то, что надо. Он с одной стороны имеет лишнюю инфу, а с другой - недостаток оной.
Надобно осветить следующее:
1. Разметка остановок
а) теги для платформы-точки
б) теги для стоп-точки
в) отношение между ними (если оно требуется в рамках понятия «просто одна остановка по-новоОСМ-ски», т.е. маршрутом пока здесь не пахнет даже)
г) особенности трамвайных остановок
д) что за зверь stop_area и с чем его едят

2. Сборка маршрута на основе уже грамотно оформленных остановок
*а) нюансы последовательностей-чередований добавления (всего, что добавляется)
б) применимость заготовок JOSM для общ. транспорта
в) ещё что-нибудь интересное в данном вопросе :slight_smile: *
Насчёт создания одного направления, потом обратного и объединения их мастер-отношением всё это понятно, необходимы детали, тонкости. Вплоть до того, куда ткнуть, чтобы выбрать отношение с одним направлением, потом с другим и пригвоздить их мастер-отношением.
P.S. Хорошая инструкция многим подсобит и сделает доступной для быстрейшего понимания и применения современную схему маршрутизации и, как минимум, разметку обыкновенных остановок.
P.P.S. Последнее, но не менее важное: где можно увидеть результат своих трудов и других? :roll_eyes:

Вопрос об остановках мне тоже не понятный. И новый стандарт только внес путанницу. Хотя именно остановки сжирают львиную долю времени и их установка неудобна.
Для автотранспорта остановка - это платформа. Ее же надо отмечать “устаревшими” тэгами highway=bus_stop, потому что рендеры отрисовывают только его. Но плагин для JOSM такой опции не имеет и предлагает ставить highway=bus_stop на точку остановки. На платформу он ставит не отображаемый highway=platform. В результате шаблонов надо задействовать ТРИ. Два для платформы и один для точки остановки. Для точки остановки все данные надо вводить заново. JOSM может помочь только интеллисенсом. А потом ещё раз на бис для отношения stop_area. Чтобы жизнь мёдом… Но это ещё не всё! Большая часть маршрутов, которые есть, в результате привязаны к платформе отношением с ролью stop. А по новому стандарту должно быть platform. JOSM матерится, но менять НЕЛЬЗЯ. Т.к. рендеры не знают роли platform и отображают только stop. Т.е. можно конечно, и даже нужно. Но для этого нужно внести в маршрут точки остановки и привязать их ролью stop. Но этого из-за одной переделанной остановки никто не делает и в результате возникает путаница. 10 маршрутов привязаны к платформе, и еще пара (других!) к точке остановки :slight_smile: Когда попытался сделать прогу, показывающюю маршруты общественного транспорта и навигацию по ним столкнулся. Помочь могло бы отношение stop_area. Но его нигде не ставят, поэтому берешь ближайшую к платформе одноименную точку остановки и радуешся :slight_smile:
Для трамваев и поездов точка остановки ставится на рельсы. Для трамваев и остановочных платформ ее же помечают, как railway=tram_stop и railway=halt. Для станций - не всегда. У жд станций, станций метро и автостанций точкой является обычно здание станции. Рендеры отображают только устаревшие тэги, при чем так, что ничего не видно. Не любят их создатели железнодорожников :slight_smile: Если трамвайная платформа расположена посреди дороги, то видимо ее надо отдельно отображать и разделять дорогу платформой railway=platform. Проблемы с вводом и привязкой маршрутов только к одной части остановки те же, что и у автотранспорта.
Отношение stop_area вообще интересное. Никто не может точно сказать, что имеется в виду. Вообще говоря, нужно 2 отношения. Зона остановки, связывающая платформу и точки остановки для транспорта следующего в одном направлении в единое целое, и зона пересадки. Зона остановки теоретически должна включаться в маршрут (счас она включается по частям, что не есть гуд). Напрмер, станция “Свердловск-пассажирский”. Теоретически электричка Свердловск-Нижний Тагил может стартовать с ЛЮБОЙ из 8 платформ и любого из 24 путей. Их что, все прописывать в маршрут? Нет. Там должно быть одно отношение, включающее все платформы и точки остановки станции Свердловск-Пассажирский, для поездов следующих в одном направлении. Для “обычной” остановки тоже самое. Платформа и точка остановки объединяются в отношение, а отношение уже включается в маршрут. Сейчас же получается и сложно и ненадёжно. А такой подход упростил бы и перенос уже имеющихся маршрутов на новую схему. Любой bus_stop добаляется public_transport=platform + bus=yes и создается отношение stop_area. Это отношение загоняется во все включающие остановку маршруты вместо точки. Аналогично для трамваев. Счас для корректного отображения маршрутов это надо делать программно с соответсвующими ошибками.
Второе требуемое отношение - это зона пересадки. Должно включать остановки (вернее отношения зона остановки), на которые возможна пересадка. Это необходимо для построения роутинга. Зоны остановки выступают в качестве узлов графа, а зона пересадки обеспечивает создание ребер между ними. Сейчас зона пересадки может формироваться автоматически за счет объединения ближайших остановок. Как нетрудно заметить, stop_area воспринимается разными мэпперами, или как зона остановки или как зона пересадки. Что ведет к еще большей путаннице
А с просмотром маршрутов таки да - плохо. Самим писать приходится :slight_smile:

Роляет только для линейных объектов. На точке он не нужен.

По задумке имя должно быть только в оношении, а не на частях остановки.

Не совсем понял, можно пример.

Верно. Но Josm, если в диалоге создания платформы общественного транспорта пометить галку “Остановка общественного транспорта (устаревшая)”, ставит highway=platform. Приходится ручками перебивать на bus_stop. +20 сек к редактированию однако :wink:

Да. Но не уверен, что рендеры это воспримут. Они ставят подписи к остановке, а не к отношению

Я нашел единственный рендер, который показывает маршруты для остановки и список остановок маршрута, - http://openbusmap.org/
Но он не воспринял маршрут, у которого я ввел только платформы. Т.е. маршрут на карте есть, но в спске маршрутов остановки его нет. И в списке остановок маршрута только те, что помечены ролью stop

Есть пресет http://josm.openstreetmap.de/wiki/Presets/Quick-stops , должен помочь.
Я вынес первые 8 кнопок на панель инструментов и доволен. На highway=bus_stop и прочие тэги из старой схемы я забиваю, если заново рисую остановку.

И это, разбивай хотя бы на абзацы такие длинные тексты.