You are not logged in.

#51 2011-10-06 20:31:21

Scondo
Member
Registered: 2011-03-16
Posts: 483

Re: Полосы

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

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

Offline

#52 2011-10-06 20:52:04

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,682
Website

Re: Полосы

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

Last edited by Zverik (2011-10-06 20:52:25)


ШТОСМ | josm.ru | обо мне | a soldier will fight long and hard for a bit of colored ribbon

Offline

#53 2011-10-06 21:02:51

Scondo
Member
Registered: 2011-03-16
Posts: 483

Re: Полосы

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

Offline

#54 2011-10-06 21:12:35

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,682
Website

Re: Полосы

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

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


ШТОСМ | josm.ru | обо мне | a soldier will fight long and hard for a bit of colored ribbon

Offline

#55 2011-10-07 06:11:51

Scondo
Member
Registered: 2011-03-16
Posts: 483

Re: Полосы

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

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

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

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

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

Offline

#56 2011-10-07 06:31:29

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,682
Website

Re: Полосы

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


ШТОСМ | josm.ru | обо мне | a soldier will fight long and hard for a bit of colored ribbon

Offline

#57 2011-10-07 06:46:05

dimuzz
Member
From: Екатеринбург
Registered: 2009-09-10
Posts: 1,843

Re: Полосы

Zverik wrote:

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

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

Offline

#58 2011-10-07 08:14:52

Scondo
Member
Registered: 2011-03-16
Posts: 483

Re: Полосы

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

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

Offline

#59 2011-10-07 08:49:26

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,682
Website

Re: Полосы

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

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

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


ШТОСМ | josm.ru | обо мне | a soldier will fight long and hard for a bit of colored ribbon

Offline

#60 2011-10-07 09:08:22

VikDD
Member
From: RU, Moscow-Yaroslavl
Registered: 2010-04-21
Posts: 1,867

Re: Полосы

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

Offline

#61 2011-10-07 09:09:36

Scondo
Member
Registered: 2011-03-16
Posts: 483

Re: Полосы

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

Last edited by Scondo (2011-10-07 09:11:15)

Offline

#62 2011-10-07 09:09:56

VikDD
Member
From: RU, Moscow-Yaroslavl
Registered: 2010-04-21
Posts: 1,867

Re: Полосы

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

Offline

#63 2011-10-07 09:11:38

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,682
Website

Re: Полосы

VikDD wrote:

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

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

Last edited by Zverik (2011-10-07 09:22:28)


ШТОСМ | josm.ru | обо мне | a soldier will fight long and hard for a bit of colored ribbon

Offline

#64 2011-10-07 09:21:45

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,682
Website

Re: Полосы

Scondo wrote:

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

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

Читается сложнее, но если не держать в голове схему - то l;s;sr;rp не читается вообще.

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


ШТОСМ | josm.ru | обо мне | a soldier will fight long and hard for a bit of colored ribbon

Offline

#65 2011-10-07 09:24:19

VikDD
Member
From: RU, Moscow-Yaroslavl
Registered: 2010-04-21
Posts: 1,867

Re: Полосы

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

Last edited by VikDD (2011-10-07 09:25:10)

Offline

#66 2011-10-07 09:33:33

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,682
Website

Re: Полосы

VikDD wrote:

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

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


ШТОСМ | josm.ru | обо мне | a soldier will fight long and hard for a bit of colored ribbon

Offline

#67 2011-10-07 09:37:48

VikDD
Member
From: RU, Moscow-Yaroslavl
Registered: 2010-04-21
Posts: 1,867

Re: Полосы

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

Last edited by VikDD (2011-10-07 09:39:23)

Offline

#68 2011-10-07 10:25:12

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,682
Website

Re: Полосы

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

Last edited by Zverik (2011-10-07 10:25:47)


ШТОСМ | josm.ru | обо мне | a soldier will fight long and hard for a bit of colored ribbon

Offline

#69 2011-10-07 11:09:43

VikDD
Member
From: RU, Moscow-Yaroslavl
Registered: 2010-04-21
Posts: 1,867

Re: Полосы

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

Last edited by VikDD (2011-10-07 11:10:57)

Offline

#70 2011-10-07 11:16:19

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,682
Website

Re: Полосы

VikDD wrote:

А как навигатор(или рендер) поймёт, что это не дополнительная полоса, а правая полоса от предыдущего участка?

Собственно, это и означает тег lanes:turnright=1 — что правая полоса только для поворота направо. Если были все прямо, а затем появился этот тег, то это самый логичный вывод.

И как он поймёт, что переход из 2 полос в 3 осуществляется примыканием слева одной полосы?

Опять же, на усмотрение навигационной программы. 2+2->3 более логично, чем 2+2->(2)->3. Но в реальности зависит от программистов, конечно: схема тегирования здесь ни при чём, это только подсказка.


ШТОСМ | josm.ru | обо мне | a soldier will fight long and hard for a bit of colored ribbon

Offline

#71 2011-10-08 08:45:42

Scondo
Member
Registered: 2011-03-16
Posts: 483

Re: Полосы

Внезапно! А если воткнуть lanes:<direction>:<type>:position=<n> вместо directions?
По схеме http://forum.openstreetmap.org/viewtopi … 99#p194599
(да, меня раздражает кодированный синтаксис с запятыми)

Еще, кстати, было бы неплохо добавить lanes:<direction>:<type>:width. Без типа будет для всех\по умолчанию, с типом - для конкретных (если реверсивная шире остальных, хотя это меня уже несет, обычно должно хватать lanes:width)
Также можно описывать момент возникновения lanes:<direction>:<type>:width:from lanes:<direction>:<type>:width:to.

В принципе при ручном редактировании ширины будут работать достаточно хреново, но если на них заложиться, то можно будет в итоге и плагин написать (аналогично плагину для релейшна), и решить вопрос "а где у нас добавилась полоса", и (для маньяков) сделать рендер с полосами.

Last edited by Scondo (2011-10-08 08:49:42)

Offline

#72 2011-10-08 09:23:10

dkiselev
Member
Registered: 2010-02-09
Posts: 3,364

Re: Полосы

Мне больше нравиться схема вида

lanes=6
lane:forward:1=turneright,psv
lane:forward:2=turneright
lane:forward:3=forward
lane:forward:4=turneleft

lane:backward:1=turneright
lane:backward:2=forward

Ну или вариации на эту тему
lane:forward1=turneright,psv
или
lane:forward:1=turneright
lane:forward:1=psv

Писанины конечно больше, но схема расширяема. Уж если мы описываем полосу как отдельный объект, так и давайте тегировать ее как отдельный объект а не диапазонами. Ну а потом уж если хочется можно надобавлять:
lane:forward:1:offset=расстояние в метрах от осевой линии
lane:forward:1:width
lane:forward:1:maxspeed
lane:forward:1:maxspeedpractical
lane:forward:1:smoothnes
Ну и так далее

Писанины хоть и много но схема очень проста для понимания, легко читается, меньше шансов накосячить внося правки для одной полосы.


mail: dkiselev@osm.me      skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!

Offline

#73 2011-10-08 09:43:56

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,682
Website

Re: Полосы

Scondo, у меня предубеждение против тегов с тремя и более двоеточиями. В обсуждении пропозала Фредерик недоволен даже двумя. Синтаксис с запятыми мне тоже кажется кривым, но, похоже, «в лоб» его не решить, нужно рассматривать проблемы, вызываемые таким синтаксисом, выделять самые важные и решать только их. Для этого, первым делом, нужно собрать примеров, когда без lanes:directions не обойтись (пока есть только два — с l,s,sr и p,s,s aka m,s).

dkiselev wrote:

Мне больше нравиться схема вида

lanes=6
lane:forward:1=turnright,psv
lane:forward:2=turnright
lane:forward:3=forward
lane:forward:4=turnleft

...

Писанины конечно больше, но схема расширяема. Уж если мы описываем полосу как отдельный объект, так и давайте тегировать ее как отдельный объект а не диапазонами. Ну а потом уж если хочется можно надобавлять:
lane:forward:1:offset=расстояние в метрах от осевой линии
lane:forward:1:width
lane:forward:1:maxspeed
lane:forward:1:maxspeedpractical
lane:forward:1:smoothnes
Ну и так далее

Думаю, отдельные объекты стоит оставить на далёкое будущее с радугой, единорогами и highway=lane (есть замечательный пропозал на этот счёт). Для примера того, как оно сейчас, предложенная схема воплощает принципы работы прогорода (lanes:directions) и гармина (lane_restriction). Схема с параметрическими ролями крайне неудобна в обработке: вместо проверки на наличие/отсутствие тегов придётся сделать аналитический движок ещё сложнее, чем при обработке списка полос через запятую.

Last edited by Zverik (2011-10-08 09:46:40)


ШТОСМ | josm.ru | обо мне | a soldier will fight long and hard for a bit of colored ribbon

Offline

#74 2011-10-10 06:41:47

Scondo
Member
Registered: 2011-03-16
Posts: 483

Re: Полосы

Zverik wrote:

Scondo, у меня предубеждение против тегов с тремя и более двоеточиями. В обсуждении пропозала Фредерик недоволен даже двумя.

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

Относительно необходимости directions и вообще:
Дело в том, что если теги будет ставить человек, не проникнувшийся системой полос, то ему проще поставить конкретику для полос (даже если оно дублирует умолчания) чем три раза думать "а стандартный у меня случай или нет". Также при вытаскивании конкретики на уровень выше возможны случаи когда люди вообще будут пропускать ее расстановку, даже если расположение полос не попадает в умолчания.
Опять же, если смотреть со стороны получается "а зачем тогда вообще считать полосы, если есть directions".

Также не следует забывать что сочетания счета с конкретикой дает нам переопределенную задачу. Которая, опять же, значительно сложнее контролируется при разнесении по разнотипным тегам.
lanes:directions="ls,s,s,s,r"
lanes:through=3

UPD:
Кстати, еще один жесткий аргумент за position= вместо directions
Если использовать отношения в нестандартной конфигурации, то у тебя получается одна и та же вещь (положение полосы) описана двумя разными способами (в запакованной кодировке directions и нумерацией в lane/lane:to релейшна). И вот это, на мой взгляд, уже совсем плохо.

Last edited by Scondo (2011-10-10 07:24:11)

Offline

#75 2011-10-11 06:29:45

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,682
Website

Re: Полосы

По результатам обсуждения со Scondo lanes:directions выпилен.
Вместо него — lanes:X:location, указывающий расположение группы полос для X:
* left — слева по ходу движения;
* right — справа;
* sides — поровну слева и справа (например, когда полосы разгона одновременно там и там);
* <число> — номер первой полосы из группы.

Пример: lanes:merge:location=left — полоса разгона примыкает слева.

Last edited by Zverik (2011-10-11 06:30:12)


ШТОСМ | josm.ru | обо мне | a soldier will fight long and hard for a bit of colored ribbon

Offline

Board footer

Powered by FluxBB