You are not logged in.
- Topics: Active | Unanswered
Announcement
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: Как обозначать?
Опечатку обуждать не будем; совместимость тоже не очень интересна.
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: Как обозначать?
Спасибо за помощь. Вариант
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#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: Как обозначать?
Опечатку обуждать не будем; совместимость тоже не очень интересна.
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: Как обозначать?
При вычислении
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: Как обозначать?
Если какой-то период опущен - то для него условие conditional не действует,
Откуда это пошло? Есть причины для этого?
На вики я такого не помню, либо что-то новое.
Offline
#11087 2016-08-25 21:03:39
- Sergey Astakhov
- Member

- From: St.Petersburg, Russia
- Registered: 2009-11-13
- Posts: 5,817
Re: Как обозначать?
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: Как обозначать?
Раздел 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: Как обозначать?
Получается
oneway=no + oneway:conditional=yes @ Mo-Sa
правильное тегирование того знака по предложению?
правильное получается
oneway=yes + oneway:conditional= no @ Su
Что будут делать программы которые понимают только 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: Как обозначать?
Обозначил веранды в детском саду как man_made=shelter. Ничего более подходящего не нашёл.
А на building=roof оно не тянет?
Offline
#11093 2016-08-26 07:42:25
- #daf
- Member
- Registered: 2013-10-17
- Posts: 60
Re: Как обозначать?
#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: Как обозначать?
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: Как обозначать?
И если задано условие, когда этот режим принимает одно значение, то автоматически становится ясно, что вне условия режим будет противоположным.
Поддерживаю, для бинарных :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: Как обозначать?
Обозначил веранды в детском саду как 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: Как обозначать?
И со скоростями сравнение некорректное. Потому что скорость может быть хрен его знает какая, а режим проезда — либо одно-, либо двусторонним (бинарный вариант, третьего не дано). И если задано условие, когда этот режим принимает одно значение, то автоматически становится ясно, что вне условия режим будет противоположным.
В 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: Как обозначать?
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 вариант"). Поэтому вне заданного диапазона получается как будто этого тега нет, и используется значение из остальных тегов.
А вариант с 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: Как обозначать?
Условная модификация? В английской вики в 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