Двойная сплошная - старт налево, как запретить?

https://forum.openstreetmap.org/viewtopic.php?id=8471 - большинство рекомендует 2 вея только при физическом разделении встречных полос или 3 полосах по крайней мере в одну сторону.
https://wiki.openstreetmap.org/wiki/Proposed_features/Divider - предложение не прокатило.

Кроме разделения на два вея, есть ли еще какие-то способы нанести на карту двойную сплошную?
Проблема в том, что не имея этой информации роутеры типа openrouteservice или OSRM смело стартуют налево по одновейной дороге, через двойную сплошную в реале. Расстановкой дорожных знаков (restrictions) это решить невозможно, старт совсем не обязательно происходит на перекрестке.

Ну при старте вообще не очень-то и ясно с какой стороны дороги вообще машина начинает движение.

чегойто ты путаешь.
осрм просто так не разворачивает, вот пример
http://map.project-osrm.org/?z=16&center=56.110695%2C46.773734&loc=56.110324%2C46.762308&loc=56.108882%2C46.767554&loc=56.109217%2C46.766235
вместо разворота на ближайшем перекрестке (как ты утверждаешь) осрм тянет в какие-то бубеня.
на дороге никаких запретов поворотов нет. https://www.openstreetmap.org/way/292491959

Ничего не говорил про разворот на ближайшем перекрестке, это о чем?

Вот пример старта налево через двойную сплошную, имеющуюся в реале, но никак не нанесенную на карту:
http://map.project-osrm.org/?z=17&center=56.316882%2C44.011279&loc=56.316608%2C44.007057&loc=56.317667%2C44.012486&hl=en&alt=0

Роутер просто ничего не знает про это ограничение - карта его не содержит.

Предполагаю, что алгоритм над этим даже не задумывается. Находит ближайший вей А-Б и смотрит что там про него написано. Типа к точке А можно? и к Б можно? никаких запретов нет, ну поехали.

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

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

Значит им просто не хватает такой фичи, чтобы знать в какую сторону направлен нос машины на старте.
Могли бы они, конечно, в качестве подсказки учитывать с какой стороны дороги точка старта.

Кстати, почти та же ботва и на точке финиша. Навигатор часто ведет на противоположную сторону дороги.
То есть надо еще понимать в какую сторону должен быть направлен нос машины на финище.

Не понял, при планировании рейса как можно знать куда направлен нос машины? Речь к примеру о расчете сегодня вечером рейсов которые отправятся завтра утром.

wowik
Причем тут нос машины? Заданы адреса начальной и конечной точки. Известно, на какой стороне дороги каждая из точек находится. Нужно с учетом ограничений знаков и дорожной разметки проложить маршрут.

Решается доработкой сервиса прокладки маршрута.

Для рутинга нужно знать в какую сторону по дороге стартовать.
С какой стороны стоит точка указанными рутерами тупо не учитывается.

Кстати, а может вы подошли от той точки к дороге, перешли на противоположную сторону и там сели в поджидающий вас автомобиль.

Вообще-то можно все и разметить
Немного отступив от перекрестка

lanes=2
lane_markings=yes
turn:lanes:forward=none
turn:lanes:backward=none

Хотя перед местами, где правые повороты надо типа
turn:lanes:forward=through;right
а потом опять
turn:lanes:forward=none

Каким образом? В реале иногда можно стартовать налево, иногда нельзя. На карте сейчас нет никаких указаний, позволяющих различить эти случаи. Генератор случайных чисел подключить?

turn:lanes:forward=through наверно. none это отсутствие регулирования.
https://wiki.openstreetmap.org/wiki/Key:turn

Для запрета поворота с движения должно работать. Про старт там ничего не написано, строго говоря.

Если там 4 полосы то нельзя. А если две со сплошной, то должно стоять обгон запрещён.

Это типа в реале? Программа (роутер) откуда это возьмет?

Положим стоит

overtaking=no

. Но при старте по какой причине роутер должен это воспринимать как двойную сплошную?

Про turn:lanes=*

Т.е. этот тэг предназначен для нанесения на карту информации об информационной разметке, которая сообщает, какие ограничения ждут впереди на перекрестке, но сама по себе ничего не запрещает. В частности, о разметке в виде стрелок на проезжей части в ПДД РФ сказано:

Т.е. пересечение полос с целью стартовать налево эта разметка в реале не запрещает, и роутеры встретив этот тег на карте, должны его просто игнорировать. Ибо все что надо учитывать при планировании проезда перекрестков содержится в restrictions, а более эта разметка при планировании маршрута ни о чем не говорит.

Выходит, нужен бы специальный тег про двойную сплошную.

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

Поэтому товарищ и хочет, чтобы дороги со сплошной белой кодировались двумя вэями. Тогда при остановке на обочине или выезде с прилегающей машина окажется на односторонней дороге и роутер сможет правильно просчитать маршрут. По мне так не вариант. Заносить ограничения для каждой прилегающей тоже вряд ли рационально. Во-первых, разметка меняется довольно регулярно или вообще неизвестна. Во-вторых, это всю планету переделывать придется. В-третьих, эти два вэя надо как-то соединять между собой у каждой прилегающей, где поворот таки разрешен. В-четвертых, на картах рисуются несколько дорог и куча развязок вместо одной дороги, что вводит в заблуждение. А в-пятых, в 99.99 % случаев это все не нужно. Выезд на дорогу и начальное маневрирование возлагается на водителя и он с этим обычно справляется. После того как это сделано, включается навигатор, и дальше можно ехать по нему. Обычно указанная проблема возникает, наоборот, в конце маршрута. Навигатор жизнерадостно подводит по скорейшему маршруту ко въезду во двор и зычно командует: “Поверните налево, во двор!”. И плевать ему на двойную сплошную и встречный трафик, делающий разворот практически невозможным. Более рационально повернуть за квартал до цели, объехать ее и спокойно подрулить с противоположенной стороны. Но ждать столь интеллектуального решения от навигатора глупо.
Поэтому, если требуется планировать движение транспорта по карте, наверное, стоит порекомендовать использовать специализированное ПО, учитывающее по умолчанию запрет поворота налево и начальное положение машины, и/или специально подготовленный набор данных, в котором дороги разделены на два вэя или обочины/прилегающие выделены в отдельные вэи с односторонним движением. Но это не к OSRM или OpenRouteService