Кроме разделения на два вея, есть ли еще какие-то способы нанести на карту двойную сплошную?
Проблема в том, что не имея этой информации роутеры типа openrouteservice или OSRM смело стартуют налево по одновейной дороге, через двойную сплошную в реале. Расстановкой дорожных знаков (restrictions) это решить невозможно, старт совсем не обязательно происходит на перекрестке.
Предполагаю, что алгоритм над этим даже не задумывается. Находит ближайший вей А-Б и смотрит что там про него написано. Типа к точке А можно? и к Б можно? никаких запретов нет, ну поехали.
Навигаторы тоже конечно тема интересная, но OSRM и openrouteservice это скорее планировщики. Их используют например для планирования доставки грузов. При этом такая загогулина приводит к ошибочной последовательности доставки в рейсе.
Значит им просто не хватает такой фичи, чтобы знать в какую сторону направлен нос машины на старте.
Могли бы они, конечно, в качестве подсказки учитывать с какой стороны дороги точка старта.
Кстати, почти та же ботва и на точке финиша. Навигатор часто ведет на противоположную сторону дороги.
То есть надо еще понимать в какую сторону должен быть направлен нос машины на финище.
Не понял, при планировании рейса как можно знать куда направлен нос машины? Речь к примеру о расчете сегодня вечером рейсов которые отправятся завтра утром.
wowik
Причем тут нос машины? Заданы адреса начальной и конечной точки. Известно, на какой стороне дороги каждая из точек находится. Нужно с учетом ограничений знаков и дорожной разметки проложить маршрут.
Каким образом? В реале иногда можно стартовать налево, иногда нельзя. На карте сейчас нет никаких указаний, позволяющих различить эти случаи. Генератор случайных чисел подключить?
Т.е. этот тэг предназначен для нанесения на карту информации об информационной разметке, которая сообщает, какие ограничения ждут впереди на перекрестке, но сама по себе ничего не запрещает. В частности, о разметке в виде стрелок на проезжей части в ПДД РФ сказано:
Т.е. пересечение полос с целью стартовать налево эта разметка в реале не запрещает, и роутеры встретив этот тег на карте, должны его просто игнорировать. Ибо все что надо учитывать при планировании проезда перекрестков содержится в restrictions, а более эта разметка при планировании маршрута ни о чем не говорит.
Выходит, нужен бы специальный тег про двойную сплошную.
Роутер может учитывать только движение по имеющимся у него линиям дорог. Там будет полезно расставить запреты левых поворотов из дворов (а обычно оттуда и выезжает транспорт, обслуживающий торговые точки).
Если Вы занимаетесь планированием маршрута, то вряд ли тупо расставляете все точки отбалды в ожидании чудесного построения роутером оптимального пути. Наверняка Вы уже представляете более-менее правильную последовательность посещения точек на маршруте, а значит там не будет «внезапных стартов налево через двойную сплошную», т. е. челночного движения сначала туда, потом — обратно, с разворотом, по той же дороге (иначе Вы как-то не так представляете себе удобный маршрут для водителя).
Самое главное: маршрутизатор не может учесть расположения старта «где-то в чистом поле», он его всегда привязывает к определённой точке именно на дороге. Поэтому от наличия или отсутствия тега про двойную сплошную ничего не зависит. Рассчёт пойдёт от точки на дороге, а поскольку она предполагает движение в обоих направлениях, то далее путь будет проложен в зависимости от следующего пункта назначения.
Поэтому товарищ и хочет, чтобы дороги со сплошной белой кодировались двумя вэями. Тогда при остановке на обочине или выезде с прилегающей машина окажется на односторонней дороге и роутер сможет правильно просчитать маршрут. По мне так не вариант. Заносить ограничения для каждой прилегающей тоже вряд ли рационально. Во-первых, разметка меняется довольно регулярно или вообще неизвестна. Во-вторых, это всю планету переделывать придется. В-третьих, эти два вэя надо как-то соединять между собой у каждой прилегающей, где поворот таки разрешен. В-четвертых, на картах рисуются несколько дорог и куча развязок вместо одной дороги, что вводит в заблуждение. А в-пятых, в 99.99 % случаев это все не нужно. Выезд на дорогу и начальное маневрирование возлагается на водителя и он с этим обычно справляется. После того как это сделано, включается навигатор, и дальше можно ехать по нему. Обычно указанная проблема возникает, наоборот, в конце маршрута. Навигатор жизнерадостно подводит по скорейшему маршруту ко въезду во двор и зычно командует: “Поверните налево, во двор!”. И плевать ему на двойную сплошную и встречный трафик, делающий разворот практически невозможным. Более рационально повернуть за квартал до цели, объехать ее и спокойно подрулить с противоположенной стороны. Но ждать столь интеллектуального решения от навигатора глупо.
Поэтому, если требуется планировать движение транспорта по карте, наверное, стоит порекомендовать использовать специализированное ПО, учитывающее по умолчанию запрет поворота налево и начальное положение машины, и/или специально подготовленный набор данных, в котором дороги разделены на два вэя или обочины/прилегающие выделены в отдельные вэи с односторонним движением. Но это не к OSRM или OpenRouteService