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.***

#11076 2016-08-24 15:10:53

d1g
Member
From: not using forum
Registered: 2010-01-23
Posts: 2,380
Website

Re: Как обозначать?

Опечатку обуждать не будем; совместимость тоже не очень интересна.

Sergey Astakhov wrote:

oneway:conditional=yes @ Mo-Sa; no @ Su

Вот этот вариант на вики не описывался подробно.

Например, я представлял что из

oneway:conditional=yes @ Mo-Sa

следует

oneway:conditional=yes @ Mo-Sa; no @ Su

Поэтому я речь про приведение к "yes" и веду. На табличке тоже написано про "Mo-Sa", а не про запрет "no @ Su", что упрощает ввод и восприятие людьми - не считаете?

Offline

#11077 2016-08-24 15:13:35

d1g
Member
From: not using forum
Registered: 2010-01-23
Posts: 2,380
Website

Re: Как обозначать?

8.5.4 "Время действия". Указывает время суток, в течение которого действует знак.

8.5.5-8.5.7 "Время действия". Указывают дни недели и время суток, в течение которых действует знак.

Отсюда и мои предпочтения указывания "yes".

Last edited by d1g (2016-08-24 15:34:35)

Offline

#11078 2016-08-24 21:08:39

LLlypuk82
Member
Registered: 2012-12-23
Posts: 2,512
Website

Re: Как обозначать?

И тот же opening_hours хорошо работает по принципу исключения (те интервалы, дни, которые не указаны, становятся автоматически «closed_hours»)

Offline

#11079 2016-08-24 22:52:40

BushmanK
Member
Registered: 2011-05-03
Posts: 5,106

Re: Как обозначать?

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


"Не умею" не значит "невозможно", "не видел" не значит "не бывает". "Нет проблемы", вероятнее всего, значит, что "нет мозгов".

Offline

#11080 2016-08-25 18:08:50

#daf
Member
Registered: 2013-10-17
Posts: 60

Re: Как обозначать?

Спасибо за помощь. Вариант

oneway=yes
oneway:conditional=yes @ Mo-Sa

точнее прочих отражает смысл знака на картинке. Его и буду использовать.

Offline

#11081 2016-08-25 20:40:49

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,817

Re: Как обозначать?

#daf wrote:

Спасибо за помощь. Вариант

oneway=yes
oneway:conditional=yes @ Mo-Sa

точнее прочих отражает смысл знака на картинке. Его и буду использовать.

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

Offline

#11082 2016-08-25 20:50:27

d1g
Member
From: not using forum
Registered: 2010-01-23
Posts: 2,380
Website

Re: Как обозначать?

Получается непорядок, один тег зависит от другого (причём как бы менее функционального)

oneway=no + oneway:conditional=yes @ Mo-Sa
Sergey Astakhov wrote:
#daf wrote:

Спасибо за помощь. Вариант

oneway=yes
oneway:conditional=yes @ Mo-Sa

точнее прочих отражает смысл знака на картинке. Его и буду использовать.

Это ошибочный вариант, т.к. подразумевает что в  воскресенье дорога тоже одностороняя.

Тегирование одним тегом (без oneway:conditional)

oneway=yes

или

oneway=no

решает проблему "воскресенья"? нет.

oneway=* влияет на всю неделю, а насколько он соответсвует местности - это как "повезёт" (здесь - на один день или на шесть)

Last edited by d1g (2016-08-25 20:52:13)

Offline

#11083 2016-08-25 20:54:21

d1g
Member
From: not using forum
Registered: 2010-01-23
Posts: 2,380
Website

Re: Как обозначать?

При вычислении
oneway:conditional=yes @ Mo-Sa
не должны учитываться
oneway=no
из объекта с тагами
oneway=no + oneway:conditional=yes @ Mo-Sa

Offline

#11084 2016-08-25 20:57:13

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,817

Re: Как обозначать?

d1g wrote:

Опечатку обуждать не будем; совместимость тоже не очень интересна.

Sergey Astakhov wrote:

oneway:conditional=yes @ Mo-Sa; no @ Su

Вот этот вариант на вики не описывался подробно.

Например, я представлял что из

oneway:conditional=yes @ Mo-Sa

следует

oneway:conditional=yes @ Mo-Sa; no @ Su

Поэтому я речь про приведение к "yes" и веду. На табличке тоже написано про "Mo-Sa", а не про запрет "no @ Su", что упрощает ввод и восприятие людьми - не считаете?

Нет, не следует. Если какой-то период опущен - то для него условие conditional не действует,  а значит значение вычисляется из других тегов (применяется значение тега без conditional, а при его отсутствии берётся значение по умолчанию). Вот если не указывать oneway без conditional и дорога не одностороняя по умолчанию (motorway), тогда будет no, но будет проблема с совместимостью, которая интересует большинство для практического использования.

Offline

#11085 2016-08-25 20:59:19

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,817

Re: Как обозначать?

d1g wrote:

При вычислении
oneway:conditional=yes @ Mo-Sa
не должны учитываться
oneway=no
из объекта с тагами
oneway=no + oneway:conditional=yes @ Mo-Sa

Это неверное понимание механизма работы conditional, перечитайте его описание. Он не заменяет собой сами теги.

Offline

#11086 2016-08-25 21:00:57

d1g
Member
From: not using forum
Registered: 2010-01-23
Posts: 2,380
Website

Re: Как обозначать?

Sergey Astakhov wrote:

Если какой-то период опущен - то для него условие conditional не действует,

Откуда это пошло? Есть причины для этого?

На вики я такого не помню, либо что-то новое.

Offline

#11087 2016-08-25 21:03:39

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,817

Re: Как обозначать?

d1g wrote:
Sergey Astakhov wrote:

Если какой-то период опущен - то для него условие conditional не действует,

Откуда это пошло? Есть причины для этого?

На вики я такого не помню, либо что-то новое.

Раздел Default restrictions

Offline

#11088 2016-08-25 21:10:17

d1g
Member
From: not using forum
Registered: 2010-01-23
Posts: 2,380
Website

Re: Как обозначать?

Sergey Astakhov wrote:

Раздел Default restrictions

Да... Т.е. :conditional теги завязывают на обычные (oneway=*)... Ломая при этом старые теги...

http://wiki.openstreetmap.org/wiki/Prop … strictions:
* The conditional restriction can be defined as a single tag.
* Backward compatible. Doesn't break any established tagging schemes.

Смотрю примеры и действительно простые теги учитываются сначала, а потом уже conditional
http://wiki.openstreetmap.org/w/index.p … 6#Examples

maxspeed=50
maxspeed:conditional=30 @ (Mo-Fr 07:00-17:00)

Maxspeed limited to 30 on 7am - 5pm weekdays, but 50 otherwise.


Получается
oneway=no + oneway:conditional=yes @ Mo-Sa
правильное тегирование того знака по предложению?

Что будут делать программы которые понимают только oneway=*?

Offline

#11089 2016-08-25 22:43:26

wowik
Member
From: Zelenograd
Registered: 2009-09-29
Posts: 9,368

Re: Как обозначать?

d1g wrote:

Получается
oneway=no + oneway:conditional=yes @ Mo-Sa
правильное тегирование того знака по предложению?

правильное получается
oneway=yes + oneway:conditional= no @ Su

d1g wrote:

Что будут делать программы которые понимают только oneway=*?

Тогда они будут считать, что всегда oneway, что не так далеко от правды.

Offline

#11090 2016-08-26 02:04:22

LLlypuk82
Member
Registered: 2012-12-23
Posts: 2,512
Website

Re: Как обозначать?

А если дорога односторонняя, утрированно, с понедельника до 12-00 четверга?
И со скоростями сравнение некорректное. Потому что скорость может быть хрен его знает какая, а режим проезда — либо одно-, либо двусторонним (бинарный вариант, третьего не дано). И если задано условие, когда этот режим принимает одно значение, то автоматически становится ясно, что вне условия режим будет противоположным.

Offline

#11091 2016-08-26 05:52:23

Ilis
Member
From: Екатеринбург
Registered: 2009-05-24
Posts: 5,970

Re: Как обозначать?

Обозначил веранды в детском саду как man_made=shelter. Ничего более подходящего не нашёл. Хочется, чтобы рендерилось в мапнике серыми прямоугольниками, как другие man_made, но пока из всех подобных объектов в мире веранды в двух моих детских садах составляют больше половины этого количества, предлагать рендерить рановато...

Offline

#11092 2016-08-26 06:57:14

dair
Member
From: Ленинградская область
Registered: 2013-07-11
Posts: 1,090

Re: Как обозначать?

Ilis wrote:

Обозначил веранды в детском саду как man_made=shelter. Ничего более подходящего не нашёл.

А на building=roof оно не тянет?

Offline

#11093 2016-08-26 07:42:25

#daf
Member
Registered: 2013-10-17
Posts: 60

Re: Как обозначать?

Sergey Astakhov wrote:
#daf wrote:

...
oneway=yes
oneway:conditional=yes @ Mo-Sa

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

Не понимаю почему. На множестве дней недели oneway:conditional=yes @ Mo-Sa  и oneway:conditional=no @ Su эквивалентны. Пишем либо то, либо другое. Вместе - избыточно, как "Магазин открыт с 9 до 20, закрыт с 20 до 9".

А вариант с oneway=no  вообще сломает логику в системах, которые не знают про :conditional.

Offline

#11094 2016-08-26 08:38:37

d1g
Member
From: not using forum
Registered: 2010-01-23
Posts: 2,380
Website

Re: Как обозначать?

dair wrote:
Ilis wrote:

Обозначил веранды в детском саду как man_made=shelter. Ничего более подходящего не нашёл.

А на building=roof оно не тянет?

По мне веранда - чаще всего тянет на building=roof (A building open on at least two sides)

amenity=shelter я в принципе в любое место втыкаю, которое хорошо защищает от дождя (A small place to protect against bad weather conditions), а не только декоративные верандки (http://wiki.openstreetmap.org/wiki/Key:shelter_type)

Offline

#11095 2016-08-26 08:43:08

d1g
Member
From: not using forum
Registered: 2010-01-23
Posts: 2,380
Website

Re: Как обозначать?

LLlypuk82 wrote:

И если задано условие, когда этот режим принимает одно значение, то автоматически становится ясно, что вне условия режим будет противоположным.

Поддерживаю, для бинарных :conditional тегов явное тегирование Default restrictions погоды не делает, а только ломает оные.

Либо приходится писать в :conditional тегах когда это правило НЕ ДЕЙСТВУЕТ.

Last edited by d1g (2016-08-26 08:53:53)

Offline

#11096 2016-08-26 09:55:21

literan
Member
Registered: 2012-11-06
Posts: 3,941
Website

Re: Как обозначать?

Ilis wrote:

Обозначил веранды в детском саду как man_made=shelter. Ничего более подходящего не нашёл. Хочется, чтобы рендерилось в мапнике серыми прямоугольниками, как другие man_made, но пока из всех подобных объектов в мире веранды в двух моих детских садах составляют больше половины этого количества, предлагать рендерить рановато...

В первую очередь это здание, building=roof - а shelter это уже дополнительные свойства, как мне кажется.

Offline

#11097 2016-08-26 10:39:30

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,817

Re: Как обозначать?

LLlypuk82 wrote:

И со скоростями сравнение некорректное. Потому что скорость может быть хрен его знает какая, а режим проезда — либо одно-, либо двусторонним (бинарный вариант, третьего не дано). И если задано условие, когда этот режим принимает одно значение, то автоматически становится ясно, что вне условия режим будет противоположным.

В OSM практически нет бинарных тегов, oneway не исключение. Кроме yes/no там ещё документированы такие значения как -1 и reversible

Offline

#11098 2016-08-26 10:46:34

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,817

Re: Как обозначать?

#daf wrote:
Sergey Astakhov wrote:
#daf wrote:

...
oneway=yes
oneway:conditional=yes @ Mo-Sa

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

Не понимаю почему. На множестве дней недели oneway:conditional=yes @ Mo-Sa  и oneway:conditional=no @ Su эквивалентны. Пишем либо то, либо другое. Вместе - избыточно, как "Магазин открыт с 9 до 20, закрыт с 20 до 9".

Потому что он так работает, как условная модификация тегов ("если то-то, то применяем такое значение тега"), а не как безусловная замена ("вместо этого тега вычисляем его conditional вариант"). Поэтому вне заданного диапазона получается как будто этого тега нет, и используется значение из остальных тегов.

#daf wrote:

А вариант с oneway=no  вообще сломает логику в системах, которые не знают про :conditional.

Я согласен что он плохой.

Offline

#11099 2016-08-26 12:22:25

#daf
Member
Registered: 2013-10-17
Posts: 60

Re: Как обозначать?

Условная модификация? В английской вики в Evaluation of conflicting restrictions пункт 3:
"A conditional restriction overrules a non-conditional restriction of the same transportation mode and direction"

Если я правильно перевел, значение oneway=* должно быть проигнорировано, если есть :conditional.

upd. Тоесть oneway=yes остается только для совместимости?

Last edited by #daf (2016-08-26 12:33:06)

Offline

#11100 2016-08-26 12:41:45

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,817

Re: Как обозначать?

#daf wrote:

Условная модификация? В английской вики в Evaluation of conflicting restrictions пункт 3:
"A conditional restriction overrules a non-conditional restriction of the same transportation mode and direction"

Если я правильно перевел, значение oneway=* должно быть проигнорировано, если есть :conditional.

upd. Тоесть oneway=yes остается только для совместимости?

Вы целиком читайте, а не только избранное. Там перед этим стоит такая фраза: "When an object has two or more different restrictions both matching the given traffic and conditions, the following algorithm determines which one is valid.", т.е. это применяется только когда условие в conditional выполняется. Вот если вы добавите условие для Su (oneway:conditional=yes @ Mo-Sa; no @ Su), тогда получится что conditional применяется всегда, и сам oneway действительно остаётся только для совместимости.

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

Offline

Board footer

Powered by FluxBB