You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#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: Tallinn
Registered: 2010-10-14
Posts: 5,695
Website

Re: Полосы

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

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


ШТОСМ | josm.ru | обо мне | удалёнка зло

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: Tallinn
Registered: 2010-10-14
Posts: 5,695
Website

Re: Полосы

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

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


ШТОСМ | josm.ru | обо мне | удалёнка зло

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: Tallinn
Registered: 2010-10-14
Posts: 5,695
Website

Re: Полосы

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


ШТОСМ | josm.ru | обо мне | удалёнка зло

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: Tallinn
Registered: 2010-10-14
Posts: 5,695
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 | обо мне | удалёнка зло

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: Tallinn
Registered: 2010-10-14
Posts: 5,695
Website

Re: Полосы

VikDD wrote:

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

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

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


ШТОСМ | josm.ru | обо мне | удалёнка зло

Offline

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

Zverik
Moderator
From: Tallinn
Registered: 2010-10-14
Posts: 5,695
Website

Re: Полосы

Scondo wrote:

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

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

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

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


ШТОСМ | josm.ru | обо мне | удалёнка зло

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: Tallinn
Registered: 2010-10-14
Posts: 5,695
Website

Re: Полосы

VikDD wrote:

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

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


ШТОСМ | josm.ru | обо мне | удалёнка зло

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: Tallinn
Registered: 2010-10-14
Posts: 5,695
Website

Re: Полосы

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

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


ШТОСМ | josm.ru | обо мне | удалёнка зло

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: Tallinn
Registered: 2010-10-14
Posts: 5,695
Website

Re: Полосы

VikDD wrote:

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

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

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

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


ШТОСМ | josm.ru | обо мне | удалёнка зло

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: Tallinn
Registered: 2010-10-14
Posts: 5,695
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 | обо мне | удалёнка зло

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: Tallinn
Registered: 2010-10-14
Posts: 5,695
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 | обо мне | удалёнка зло

Offline

Board footer

Powered by FluxBB