Полосы

В общем-то, без разницы, лишь бы все понимали порядок одинаково.

Соглашусь, что добавлять к относительному числу полос их абсолютные номера - зло. Но и lanes:directions определенно плохой вариант - он никак не связан с остальными тегами и предназначен исключительно для задания количества полос для поворота только налево или направо.
Тогда, может быть, так их и обозначать - lanes:turnright_only=1 ? Неоднозначность снимается, к тому же добавляется дуракоустойчивость - при любом изменении тегов полос переписывать строку directions не нужно.
Алгоритм прорисовки знака движения по полосам в таком варианте полностью однозначен.

Именно “на”, как в Гармине. Это вопрос не ПДД, а алгоритма формирования подсказок. Но поскольку мне неведомо, используется ли Гармином это знание, не настаиваю. Чем проще, тем лучше.

Сейчас никак. На http://navitel.reformal.ru/ пишут, что фича делается, но как она будет реализована, не раскрывается.

P.S. Главное, что непонятно - как из тегов на отрезках сформировать описание для Гармина, особенно, если перекресток соединяет больше четырех улиц (или просто непрямоугольный).

Несмотря на бОльшее использование умолчаний мне не нравится использование числа. Вместо этого мне кажется логичным описание свойств каждой полосы (как вариант - с использованием диапазонов).
первый пример:
lanes=6
lanes:forward=3
lanes:forward:1=turnleft
lanes:backward:1-3=turnleft

При этом направления можно описывать не перечнем, а через теги для каждой полосы
lanes:forward:1:directions=l
что представлется более удобочитаемым чем перечень (а это, в свою очередь важно с точки зрения удобства использования в не-визуальной форме)
\А может и просто тогда типы через точку с запятой указывать?\
Также это позволит решить проблему нелогичного выделения полос. Например, мне совершенно непонятно что будет делать текущий вариант с примыканием слева.

примыкание слева будет двумя тегами, lanes:merge и lanes:directions=m;…
а вообще, интересно. Я как-то не подумал о таком варианте (про теги :N).

Ну а мне он пришел в голову автоматически, стоило только просмотреть “отношение с плагином” (релейшн из одной линии - но вэй!)и тут же увидеть lane:x: как отличную замену релейшнам.

В общем, после минутной паники «омг как же я не додумался закрываю обсуждение всё переделываю» подумал трезво, и вот какие минусы вижу:

  • перечисления в названии тегов (ну и вообще параметрические теги); Komяpa: «его хрен запроксируешь в шейпы и любой другой формат со стандартным набором колонок, я такое вообще хрен на постгисе поддержу, при всём желании»;
  • не рифмуется с lanes: там количество, а здесь перечисление, причём дважды.

А если перевернуть мой вариант к твоему?

lanes=6
lanes:forward=3
lanes:forward:turnleft=1
lanes:backward:turnleft=1-3 (или даже 1;2;3 - ближе к принятым схемам тегирования)

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

Минусы “переворота” по сравнению с lanes:x - нельзя навешать “чего хочу” на каждую полосу.

С другой стороны можно оставить непосредственно движение на lanes::=
а все расширенное (ширина там, рельсы, можно вообще все из вэйпартов) выкинуть в lane:x:
Два тега - два подхода. Один лучше поддерживается ПО, второй - больше позволяет. При желании прожевывается роботом в любом направлении.

В этой схеме меня смущают итоги вида: lanes=3, lanes:turnleft=3. Путаются количество с номерами, очень неочевидно для новичков, не видевших соответствующей вики-страницы.

Точно. Поэтому еще раз предлагаю посмотреть в сторону turnleft_only/turnright_only (для исключения крайних левых/правых полос из движения прямо) как варианта однозначного обозначения движения по полосам для Прогорода. Имхо, lanes:directions надо убирать, не ложится он в эту схему…

Ну да. Но с одной стороны эта проблема, с другой стороны lanes:forward:bus=1 при использовании по числу нам сообщает достаточно только то, что есть полоса для автобуса. Ее положение мы можем определить либо опираясь на ряд допущений, либо на directions.

Так… а если оставить lanes как в пропозале, а directions пропозала заменить на lane:x: ?
Вылезают проблемы с перечислением в названии… черт. Главное что меня смущает в пропозале: мы либо угадываем либо смотрим в directions, который использует синтаксический код вместо описательных тегов…

Тут дело в том, что lanes:psv:* используется уже примерно полгода. При этом используется умолчание, что эта полоса — первая от внешней стороны. Другими словами, я просто расширил эту схему на полосы поворота, соответствующим образом усложнив умолчания.

Проблема с lanes:directions несомненна, но заменять этот тег на ещё N тегов, похожих на lanes:: — не очень хорошо: двойная работа, либо непонятки для непосвящённых. Можно попытаться раскрыть его, но я опасаюсь другой пропасти: программистского синтаксиса, как в украинском пропозале. lanes:directions=turnleft;through;through,turnright;turnright,psv читается, на мой взгляд, куда сложнее lanes:directions=l;s;sr;rp.

Dimuzz, тег directions снимает неоднозначность не столько с количеством полос для движения прямо, сколько с расположением и взаимоотношением поворотных и ограниченных полос: например, где находится полоса для общественного транспорта, можно ли с неё поворачивать.

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

Читается сложнее, но если не держать в голове схему - то l;s;sr;rp не читается вообще.
Более того: перечисление через точку с запятой в текущем применении обозначает (насколько я понял) не последовательное, а одновременное применение. И вот с этим directions идет в разнос по-полной. Представим что мы объединили два куска с разными directions в JOSM: автомат нам такую кашу смешает, что мне страшно.

Я там может чуть не правильно нарисовал… сама развязка - это выезда на М2 с МКАД.

В любой из схем эта развязка рисуется довольно просто — скорее, это задача для рендерера.

Логично: переделал все точки с запятой на запятые.

По крайней мере, это даёт стимул найти описание тега, а не придумывать объяснение ему из головы, как варианты с lanes:*, напоминающие об обычных lanes и lanes:psv.

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

Можно продлить полосу съезда направо за перекрёсток, тогда будет более понятно.

А можно по предлагаемой схеме замапить на реальную дорогу? А то так не понятно вообще. Вот само место (JOSM).

Вообще-то на местности там трёхполосный участок довольно длинный, начинается от первого примыкания (2+2->3) и длится до моста и дальше, где первая полоса становится «только направо» (3->2+1). Собственно, поэтому всё тегирование — поставить lanes:turnright=1 на последнем отрезке.

А как навигатор(или рендер) поймёт, что это не дополнительная полоса, а правая полоса от предыдущего участка. Ибо по незнанию, многие едут по правой полосе, а она ведёт совсем не туда, куда бы хотелось.
И как он поймёт, что переход из 2 полос в 3 осуществляется примыканием слева одной полосы?