Может это проблема навигаторов? Что они так тупо работают, а не представления реальности в базе (т.е. схемы)?
Однако, действительно схема должна быть целесообразной, а целесообразность заключается в том, чтобы большая часть пользователей данных могли бы эту схему понять.
Соответствие действительности это возможность пользоваться и есть.
Со временем, дойдем и до полос, почему нет? В промежуточном этапе полосы можно мапить как дополнение к дорожной сети, а не замена обычным highway=*. Там еще нужно подумать как отмечать полосы: это часть асфальта или опять граф дорог.
Дак ведь соответсвует действительности если highway=* указываются направления движения.
Роутинг точно такой же. Обозначать знаки проще потому как не возникают раздробленные сегменты дорог которых в разные стороны разные ограничения. Попробуйте на бумажке придумать сколько участков может получится от только двух пар запретов по (50м по 100м) в каждую из сторон, мапим не по числу знаков, так зачем это всё?
Просто для уточнения.
Если двойная сплошная есть, то это означает невозможность разворотов и поворотов в любом месте (для тех, кто соблюдает ПДД).
Значит, в случае двойной сплошной, дорогу нужно рисовать двумя линиями, правильно?
Смотрите, вот эти ограничения - невозможность конвертеров ставить запреты по пути, простота привязки GPS навигаторов - эти вещи никуда не денутся, но если их всегда брать в расчет мы сами себя ограничиваем в том, что мы можем мапить.
Если все конвертеры собрать, всю автомобильную навигацию собрать, выбрать что-то среднее что может удовлетворить большинство, то придется забыть о вещах которые можно было бы успешно замапить и пользоваться “продвинутыми” (не автомобильными) роутилками.
Так примерно уже и есть, и не сказать что это плохо. Ув. AMDmi3 только зря считает это реальностью)
Нужно чтобы простые вещи не конфликтовали со сложными, а как-то мирно уживались друг с другом. А сейчас получается что одним тегом обозначают разные сущности - дорогу, проезжую часть, полосу, и какие-то промежуточные варианты между ними. Это вызывает путаницу и взаимное раздражение.
В качестве решения в очередной раз предлагается переделать одновейки на двухвейки. Все ли этому обрадуются? Ясно же, что нет. Причем по разным причинам.
О том что дело не только в сегментах?
Вы забыли про неймспейсы :forward :backward?
Вы забыли про ограничения поворотов в случае одной дороги?
Вы забыли что на каждом участке нужно обозначать действующие на него ограничения тегами?
Даже если говорим только про запреты от знаков, на таком простом и высасоном из пальца участке возникает 12 тегов на 4 знака. Соответсвует реальному миру?
Очень просто: таки учесть ширину дороги, например из тега width или lanes.
Другое дело, что ни один навигатор сегодня так не делает, но никакой принципиальной проблемы с этим нет.
Речь-то о чем: абстрактное изображение местности (дороги представлены линейными объектами вместо площадных, абстрагировались от ширины, потому что так легче для роутинга) в определенных обстоятельствах начинает конфликтовать не с реальностью, а с методом решения частной задачи: привязкой к дороге (мап-матчингом).
Не вижу смысла считать буквы и тэги - есть шаблоны, последние тэги и множественное выделение. Ограничения - да, сложнее, но как я уже сказал, сложность не является аргументом в выборе схемы.
Если двойная сплошная прерывается для поворота/перекрёстка, то рисуется связка между направлениями (ну и запреты), так же как и в случае прерывания забора/газона для поворота/перекрёстка.
highway=* на направление движения в городах более чем реальный подход. Мы уже отметили так большую часть односторонних дорог. Если придется перемапить, то только двусторонние.
Почему простота маппинга не аргумент? Речь о сегментах, запретах - их все нужно отмечать с подходом “однин путь”.
Я от вас так и не услышал. В чем преимущество “одного вея” что ради него дополнительно теги городить, запреты ставить?
Вот тут я не согласен.
Если сложность ни чем не оправдана, то она вредит - чем выше сложность, тем выше вероятность ошибок.
А ещё, чем сложнее схема, тем меньше участников будут её использовать, ИМХО.
Некоторым плохо становится от одного вида описания public_transport
Так о том и речь, один вей сложнее полностью отмечать чем два односторонних и AMDmi3 это видит. Вопрос: зачем использовать такой сложный подход, когда можно делать проще?
Мапматчинг нужно делать с учетом ширины дороги. Привязка к средине проспекта, представленого в осм линией - это алгоритмическая ошибка. Привязываться то нужно к краю! Нужно взять из тегов ширину проспекта, и ширину дублера, отложить половину и посмотреть, на какой дороге я нахожусь.
Рис.1. Машина ближе к средине дублера, чем к средине проспекта, но восстановленные из тега width края позволяют сделать правильную привязку.