Перекрестки и полосность

Вот мучает меня вопрос как правильно рисовать перекрестки дорог, и возможно ли это вообще. Вот есть дорога 2 полосы в каждую сторону, а на перекрестке небольшое расширение, и там в одном направлении 3 полосы: отдельно для движения налево, прямо и направо. Или еще круче, когда 2 полосы прямо, одна направо, а левый поворот запрещен в принципе, хотя из знаков есть только “движение по полосам” и прямого знака запрещающего именно левый поворот нет, для которого имеется тег специальный. Кстати, а как-нибудь обозначается, что дорога главная, второстепенная или равнозначная? (Подозреваю, что нет.) То есть не одна поворачивающая “главная дорога”.

Еще вопрос по светофорам на перекрестках. Просто рисуется 1 светофор? А если там отдельно пешеходный? Я чуть-чуть запутался с тегами, заметил местами какие-то касающиеся велосипедистов, хотя у нас нет в городе выделенных велосипедных дорожек, а по ПДД велосипед является ТС и должен руководствоваться общими правилами (ну за некоторыми дополнительными ограничениями). В общем, есть простой перекресток двух дорог на 4-ех углах которого стоит простой светофор, которым руководствуются и пешеходы и водители, какие теги ставить? Какие теги ставить для пешеходного перехода со светофором по середине дороги (без перекрестка)? И какие теги ставить, когда на перекрестке светофоры для водителей и пешеходов разделены?

Вот мне хочется перерисовать по человечески вот этот перекресток: http://www.openstreetmap.org/?lat=61.799773&lon=34.315965&zoom=18&layers=B000FTF
Первомайский проспект идет с востока и уходит на северо-запад. В левой части там 2 проезжих части разных направлений, каждая по 3 полосы. Проезжая часть с направлением к перекрестку разделяет полосы: с левой поворот на ул. Мелентьевой, со средней продолжить движение по Первомайскому, а с правой можно уйти только чуть вправо на ул. Шотмана. Правая часть Первомайского имеет 2 полосы в сторону перекрестка и одну от него. С правой полосы в сторону перекрестка можно ехать только на Мелентьевой, а с левой только прямо продолжать движение по Первомайскому. Там имеется знак “движение по полосам”. (Развернуться налево и поехать по Шотмана нельзя.) Улица Мелентьевой, которая подходит к перекрестку с северо-востока, имеет 3 полосы: одна для движения в сторону перекрестка и 2 для движения от перекрестка (правая потом сужается). При движении с Мелентьевой можно повернуть только направо на Первомайский. Налево ни на Шотмана ни на Первомайский ехать нельзя, там имеется знак “движение только направо”. Теперь улица Шотмана, которая подходит с юго-востока. Она имеет 2 полосы в сторону перекрестка и одну от перекрестка. С правой можно как продолжить движение прямо на первомайский, так и повернуть на право на Мелентьевой или на Первомайский в обратном направлении. С левой можно только вперед на Первомайский на северо-запад.
Кто-нибудь из гуру может помочь правильно перерисовать этот перекресток? Там еще имеются светофоры, и 1 или 2 пешеходных перехода. (Через Шотмана точно нет перехода, и через Первомайский подходящий с востока. ПП точно есть через Мелентьевой, и не помню есть ли через Первомайский с северо-западной стороны.)

ЗЫ: тут поиск на русском вообще работает? То результатов не выдает.

Для отдельного переходного светофора, если он работает согласованно с главным светофором перекрестка, я ставлю:
highawy=crossing; crossing=traffic_signals

Рисуешь на пересечении один светофор и отношениями Ограничение поворотов разруливаешь собственно ограничения. Только не забудь как правило хорошего тона - отрывать от каждой дороги кусочек и к нему прикладывать отношение ограничения поворота, а не к целой, много-километровой оглобле дороги. Иначе потом при добавлении к этим дорогам ограничений в других местах на старом месте может возникнуть путаница или двусмысленность.
Обсуждали тут мысли и экстремального рисования ‘одна полоса - одна дорога’, осм слишком толст и неуклюж для этого. И были мысли, что при приближении и развязке показывается укрупненная формализованная схема развязки, как в некоторых навигаторах… Да только как это сделать…
Были мысли и что двойная сплошная - повод рисовать две раздельных дороги всегда - тогда вопрос, как это грамотно свести к понятному роутингу при пересечениях, как рисовать светофоры? Много вопросов. Еще и перегрузка базы неоправданная.
Вобщем, на сколько я понимаю, сошлись на том, что рисовать одну линию на дорогу по_возможности.
Опять же, куча хитрых разветвлений капитально отрывает крышу у прокладывателей маршрутов - или приходится облагать запретами всё невозможные варианты проезда.
Как-то так…

??? ??? ??? ??? ??? (?? ???) ??? — ???, ??? ???, ? ??? ???-??. ??? — ??? ???. ??? ??? ? proposed: ??? ??? ??? ??? ??? ??? ?? ??? ???, ??? ??? ??? ??? (? ??? ??? ??? ??? ???) ? ?. ?..

? ?? ???: ??? ??? ??? ???, ? ? ??? ??? ??? ??? — ??? ??? ???, ??? ??? ??? ???

? ??? ??? ??? — ???, ?? ???. :slight_smile:

Я конечно не автомобилист, но что-то мне подсказывает, что разрыв в двойной сплошной служит не для разворота, а для поворота налево, на примыкающую дорогу… :slight_smile:
Мне такие развороты устраивал GpsMapEdit, в стиле таксиста :slight_smile: когда я маршрутизацию у себя тестировал.

? ??? ??? ??? ??? ??? ???, ??? ??? ??? ???, ??? ??? ? ??? ???, ?? ?? ??? ??? ? ??? ???, ??? ??? ?? ??? ?? ???, ? ??? ???, ??? ?? ??? ??? ? ??? ? ??? ???, ? ???. ??? ??? ??? ??? «??? ??? ???». ?? ??? ? ???. ??? ??? ??? ??? — ??? ??? ? ??? ???, ? ?? ??? ??? ??? ???.
??? ??? ??? ??? ??? ??? ??? — ??? ??? ??? ?? ??? ???, ??? ??? ?? ???, ??? ??? ?? ??? ???, ?? ??? ??? ??? ??? ??? ??? ?? ??? ???, ??? ??? ??? ??? ??? ???-???.

У нас в городе кажется ни одного такого места нет, официального :slight_smile:
А если поставить точку на дороге, включить ее как via ограничения поворотов, и запупенить разрешение поворота налево, выбрав в качестве from и to один и тот же предшествующий точке отрезок дороги? %)
Нет… это какая-то ересь на ночь глядя :slight_smile: Я не пойму, когда эти развороты могут понадобится при прокладывании маршрута.
А, дошло. Надо изначально на дороге запретить все левые повороты, реально запрещенные. И тогда это будет иметь смысл.
Но если на всех сочленениях левый разрешен, то зачем тогда этот, добавочный, разворот посреди дороги? Он не будет востребован при прокладке маршрута.

Судя по всему, обычный маршрутизатор не имеет представления, что такое левый, правый поворот, разворот, а просто смотрит на члены from, to и restriction=no_* или restriction=only_*, вот и всё. То есть если хочешь запретить все левые повороты, придётся запрещать каждый поворот индивидуально и никак иначе.

Virasio, написали вы, конечно, много, но:

  1. При конвертивании из OSM сейчас не поддерживается, на сколько я знаю, разделение по полосам. Честно, вообще ни разу не видел даже навигатора, который бы говорил о том какую полосу нужно занять для маневра, поэтому:
  2. Сейчас важнее охват сделать основной, уточнять можно будет потом все знаки движения по полосам. Сейчас улицы показывайте одной линией если проезжая часть одна и нет таких разделителей, которые нельзя переехать (трамваи, клумбы).
  3. Знаки движения по полосам запрещают повороты и развороты.
  4. Честно говоря слабо понял организацию движения на перекрестке, но самое важное, что я вынес:
    Первомайский при движении с запада на восток до Мелентьевой разделен, после этого перекрестка уходит на на северо-восток где он уже не разделен. На перекрестке можно поехать прямо - это двухсторонняя улица Шотмана. При движении с Мелентьевой можно повернуть только направо на Первомайский. Все это я нарисовал, можете посмотреть и поправить.
  5. У вас были ошибки - Мелентьевая и Первомайский не имели общих точек, они просто были 2 очень рядом. На вид нормально, но для роутинга непригодно. Почему Первомайский меняется с primary на resentail? Почему одна часть первомайского не имеет названия?

Цели предложения:

  1. Адаптировать под навигацию проезд регулируемых перекрёстков.
  2. Минимизировать количество необходимых точек светофоров в области таких перекрёстков.
    Дополнительно можно (и нужно) проставлять время работы светофора (по классической схеме opening_hours «дни-часы»)
    В результате не появляется нагромождение изображений светофоров на карте. Отдельными точками имеет смысл обозначать дополнительные светофоры по траектории следования (отдельная стоп-линия и всё такое по ПДД) и связывать их с соответствующими отрезками дороги.
    Также появляется конкретная информация для определённых участков, проезд по которым связан со светофором.
    Устраняется неоднозначность для учёта времени проезда перекрёстка и появляется возможность точнее подсчитать это время для каждого направления.
    *Отрезки A, B, C формируются как и для маршрутов общественного транспорта: последовательным добавлением участков пути. Каждому сегменту присваивается роль direction. Первый и последний сегмент выбираются таким образом, чтобы исключалась двоякость интерпретации варианта проезда.
    Кстати, побочно такая схема будет показывать и разрешённые пути проезда перекрёстка.
    *Предлагаемая схема не требует каких-либо изменений в существующей «топологии» отрисовки перекрёстков.

Где само предложение то ?

Proposal не существует)
Суть изложена здесь. Набор простейших отношений с минимумом тегов на пересечении дорог (в примере их получится 12).

delay=90 - на сложные перекрёстки (которых ради всё и задумывается) не катит, по крайней мере, в реалиях Москвы, Московской области, Ярославля, Иваново, Костромы, Питера, Твери, Владивостока и Уссурийска. Ну, это с ходу что вспомнилось. Во всех этих локациях есть N-ное количество светофоров, где для разных направлений разное время красного/зелёного. Либо, если эта “задержка” - подразумевается “цикл работы”, то с натяжкой может прокатить, но, опять же, глобально - есть много светофоров “по требованию” (не только для пешеходов, а на датчиках плотности потока), которые этот самый “цикл” для основного направления могут увеличивать в 3-5 раз, т.е. вместо 80+17 (зелёный+красный) могут делать до 399+20 сек, например.

Я не просто так упомянул о 12 отдельных отношениях для перекрёстка из примера.
4 потока с максимально возможным набором поворотов - 3 штуки на каждый. Соответственно «delay=90» - это время красного сигнала для поворота налево (если смотреть картинку).

Вряд ли они устанавливаются на перекрёстках. Их можно учитывать, разве что, вероятностно-статистическим методом каким-нибудь. Но к теме они не относятся (по причине отсутствия на перекрёстках).

Но, есть перекрёстки, где в зависимости от времени суток и дня недели (за праздники не скажу) меняются интервалы, т.е. утром “в город”, вечером “из города” потоки по будням направляют - это стрелок “налево” касается, примыкающих к “вылетным” магистралям и “зелёной волны” на самой магистрали.

Переменные интервалы требуют более гибкого тегирования. Например, по схеме delay:conditional=120 @ (06:00-20:00); 100 @ (22:00-06:00) и т.п.
Тогда отпадает и необходимость в opening_hours.

Для пешеходов можно delay:conditional ставить просто на footway=crossing. А если там светофор button_operated=yes, то в качестве значения указывать время, проходящее с момента нажатия кнопки до включения зелёного.

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

не в России. В Москве на каждом светофоре стоят контроллеры, программируемые на месте.