Двойная сплошная = Две Линии

Флаг в руки, но теоретическое будущее меня сейчас совершенно не интересует.

Цитируйте, пожалуйста, на что отвечаете. Я не понял к чему эта фраза.

Я вижу что в одновейном варианте сегментов всегда меньше, так о чём вы?


6:
———O—————O——————
——————O—————O———
vs.
5:
———O——O——O——O———

Как минимум, можно.

  1. Только направо со двора
  2. Только прямо когда двор слева
  3. Запрет разворота когда двор справа

Так примерно уже и есть, и не сказать что это плохо. Ув. AMDmi3 только зря считает это реальностью)

Нужно чтобы простые вещи не конфликтовали со сложными, а как-то мирно уживались друг с другом. А сейчас получается что одним тегом обозначают разные сущности - дорогу, проезжую часть, полосу, и какие-то промежуточные варианты между ними. Это вызывает путаницу и взаимное раздражение.

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

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

О том что дело не только в сегментах?
Вы забыли про неймспейсы :forward :backward?
Вы забыли про ограничения поворотов в случае одной дороги?
Вы забыли что на каждом участке нужно обозначать действующие на него ограничения тегами?

http://imgur.com/Tj41dnw

Даже если говорим только про запреты от знаков, на таком простом и высасоном из пальца участке возникает 12 тегов на 4 знака. Соответсвует реальному миру?

Очень просто: таки учесть ширину дороги, например из тега width или lanes.

Другое дело, что ни один навигатор сегодня так не делает, но никакой принципиальной проблемы с этим нет.

Речь-то о чем: абстрактное изображение местности (дороги представлены линейными объектами вместо площадных, абстрагировались от ширины, потому что так легче для роутинга) в определенных обстоятельствах начинает конфликтовать не с реальностью, а с методом решения частной задачи: привязкой к дороге (мап-матчингом).

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

Опиши механизм как и на что это должно повлиять.

Если двойная сплошная прерывается для поворота/перекрёстка, то рисуется связка между направлениями (ну и запреты), так же как и в случае прерывания забора/газона для поворота/перекрёстка.

highway=* на направление движения в городах более чем реальный подход. Мы уже отметили так большую часть односторонних дорог. Если придется перемапить, то только двусторонние.

Почему простота маппинга не аргумент? Речь о сегментах, запретах - их все нужно отмечать с подходом “однин путь”.

Я от вас так и не услышал. В чем преимущество “одного вея” что ради него дополнительно теги городить, запреты ставить?

Вот тут я не согласен.
Если сложность ни чем не оправдана, то она вредит - чем выше сложность, тем выше вероятность ошибок.
А ещё, чем сложнее схема, тем меньше участников будут её использовать, ИМХО.
Некоторым плохо становится от одного вида описания public_transport

Так о том и речь, один вей сложнее полностью отмечать чем два односторонних и AMDmi3 это видит. Вопрос: зачем использовать такой сложный подход, когда можно делать проще?

Я об этом:

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

Рис.1. Машина ближе к средине дублера, чем к средине проспекта, но восстановленные из тега width края позволяют сделать правильную привязку.

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

А, ты изначально отвечал на реплику про совсем другое.

А про ширину-то понятно, но это опять таки теоретическое светлое будущее когда 1) есть данные о ширине 2) они используются навигаторами.

Нужны реальные аргументы в пользу односторонних веев? Их есть у меня:

  1. Я про теги :forward/backward не просто так талдычу, в них делают ошибки. Это не просто подсчет буковок. Пользователям простого редактора всегда будет тяжело вводить не рисуя линии. Попробуйте месяц пользоваться только ID. Где там история тегов? Копирование тегов? Не надо это там, это опять раздует его во второй JOSM. Редактирование должно быть доступным.

  2. Подсчет правил, запретов, месиво в неймспейсах forward/backward - это все придётся делать роутерам и утилитам препроцесиинга.

Если представить что ВСЕ рёбра в графе односторонние, пусть их и в 2 раза больше, то роутинг будет работать быстрее из-за отсутствия подсчета правил и тегов запретов которых в 2-4 раза больше чем достаточно. Не знаю, поверите вы мне на слово, но я здесь не теоретик.

Я не знаю как еще объяснить.

Подход с двусторонними дорогами это указать не только саму дорогу но и создать правило для каждого направления + что можно попасть из А в Б, можно попасть из Б в А.
Подход с только односторонними дорогами это сказать что можно попасть из А в Б. Без правила (oneway=yes всегда, не нужно ничего считать).

Вот ваши бедные роутилки этим и занимаются (почитывают есть ли у дороги oneway=yes либо oneway=no). На это уходит время. Как думаете ваша роутилка умная и делает разбор графа один раз при обновлении либо страдает маразмом и считает эти никому не нужные oneway каждый раз?

Из-за “простого” на первый взгляд подхода обозначения дорог у вас действительно возникает больше запретов и на отдельно взятых дугах графа. Эти запреты не просто буковки: их в 4 раза больше значит роутилка будет медленнее работать. По секрету скажу что увеличение объема данных в 4 раза не значит увеличение обработки этой информации только лишь в 4 раза - алгоритмическая сложность в задачах с графами очень редко бывает линейной. Вы сами себе роете яму.

Зачем?

Могу сильно ошибаться, но разве там не было бы достаточно одного запрета налево с проезда Дежнёва на Юрловский проезд? (*хоть я и не приверженец повальной одновейной отрисовки :slight_smile: )

Кто знает, может в каком-нибудь «Бюро Светлого Будущего Навигации» работают над этим. :smiley: И остаётся им чутка помочь - проставить полосность/ширину.

В теории да, но тогда в верхней точке понадобится разворот, а навигаторы их часто избегают - я бы на это не надеялся.