Нам нужны вообще ; в значениях для России? Запретим их?

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

Если ввести точку с запятой в поиск, то у нас всё более-менее нормально будет, а вот у них…
http://taginfo.openstreetmap.ru/keys/building#values
http://taginfo.openstreetmap.org/keys/building#values

http://taginfo.openstreetmap.ru/keys/highway#values
http://taginfo.openstreetmap.org/keys/highway#values

http://taginfo.openstreetmap.ru/keys/shop#values - самое популярное с 15 clothes;shoes
http://taginfo.openstreetmap.org/keys/shop#values

альтернативы может быть три

  1. использовать по точке на каждый shop=* (другой конфликтующий тег)
  2. тупо выбрать одно значений из нескольких shop=*
  3. заниматься чем мы занимались всегда, сложными тегами с двоеточиями

И если 1 и 2 для новичков сойдёт, но мы никак не перестанем заниматься 3.

Вообщем меня эти… Не очень сообразительные товарищи достали, я английский вариант статьи трогать не буду, пусть сами жнут его плоды потом.

Всех приверженцев точки запятой я предлагаю объявить бяками в рамках Российского коммьюнити. Что думаете?

Мои хорошие примеры в статье выпилили сейчас под предлогом каких-то споров и отстутсвия консенсуса. У нас есть общее мнение что можно обойтись без точки запятой? Сделаем еще одну договорённость типа названия улиц и дорог? Заодно в JOSM проверочки-валидаторы “только для России” можно будет написать.

Ссылка на черновик новой схемы (в процессе написания)

ой, tagging@ протёк.

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

Ждать API7 или type=node предлагаешь?

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

Ты про что имеешь ввиду? Я считаю что в нашем коммьюнити преобладают

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

Эти оборигены пусть до вечности на отсутсвие консенсуса ссылаются, нам-то какие проблемы такое решение принять?

Насчёт основопологающих принципов тут один товарищ мои мысли читает, родил нормальную схему тегирования нескольких shop одной точкой. Ознакомьтесь, те кто пропустил. Тогда вам будет понятно такое желание тупо забанить точку с запятой и про каменный век.

А зачем их менять, достаточно просто не пользоваться странными вещами вроде точки с запятой.

  • Нет не достаточно!!!1111
    *- Нет консенсуса!!!
  • В бан тебя!!!1111
  • Я сейчас регулярку и ещё одну напишу как их парсить!!!1111*

И другие прелести англоязычного коммьюнити.

Голосование против точки с запятой (и нескольких значений в value) будем организовывать? Чтобы у наших новичков не было сомнений что в Российском кмоьюнити таких чудачков нет.

Я поддерживаю предложение d1g. Ещё бы в JOSM сделать удобным ввод тегов с различными неймспейсами, было бы вообще классно.

Интересно, как это с точки зрения базы данных перенос значений (value) coffee|tea|* в название поля (key) можно назвать “нормальным”. Эдакая транспозиция меню ресторана, перенос названий блюд в название полей базы данных с бинарным значением yes|no. Надо же такое выдумать…

В приведённом пропозале предлагаются не только значения yes/no, но и partial, и main. Как их использовать с “;”?

В тоже время, для ситуаций, где вариантов действительно всего 2 - да и нет, я считаю более красивым способом использование точки с запятой. Пример такой ситуации:
http://wiki.openstreetmap.org/wiki/RU:Tag:amenity%3Drecycling

Полей придётся много держать (или например shop => hstore), но значения далеко не бинарные: есть, нет, основное, навынос, только с 18 и т.д.

Ответьте для себя на простой вопрос, что проще выделить регэкспами - названия полей базы данных или их значения. Скажем, в какой-нибудь ГИС или MapCSS.

Чем лучше

shop:coffee=main +
shop:tea=partial +
shop:muffins=yes +
...

vs

shop=coffee:main;tea:partial;muffins:yes

Почему-то никого не смущают opening_hours, Conditional restrictions и т.д.

Это потому что вы не можете указать shop:batteries=no в одном теге shop=*. У англоязычного коммьюнити от этого мозг взорвало, до сих пор регулярки мне советуют писать.

Это неверно.

Была недекватная схема либо shop=coffee либо shop=tea. Кофе с чаем продать в магазине не могут. Сильно адекватно?

О каких в названиях говорите?

shop=coffee - “магазин кофе”

Будете эллочку-людоедку изображать из себя одним тегом shop=coffe? Мои деды так мапили, ничего кроме shop=* ишь чего удумал магазины отмечать.

Тем что выкинье свои регулярки в окно. У вас бекэнд postgresql. Заточен он на первый вариант, для работы с множествами.

“shop:tea”=yes | “shop:tea”=partial | “shop:tea”=main

Теперь попробуйте этот запрос написать в регулярках без ошибок. Завтра от вас будет ответ без ошибок.
Теперь попробуйте этот запрос запустить для всей России. Через неделю увидимся я так думаю.

Конкретно эти товарищи - исключения. Их по пальцам пересчитать.

Извечная проблема storage size vs speed. Потом жалуемся почему упал очередной рендер, валидатор или конвертация ))

Форумчане, кто на “ты” с внутренностями PostgreSQL, скажите какой ценой даётся базе ОСМ добавление каждого нового поля ? Удаляются ли поля с опечатками, или они остаются навечно для history ? Место для поля резервируется под каждую запись (т.е. каждый way, node, relation) ?

Ха! Очередная тема как впихнуть невпихуемое. :slight_smile:
А потом выясниться, что чай продают только до обеда, а вот кофе круглосуточно и опять думать какбы это всё замапить. %)

И ещё. Как мне кажется, нужно различать что можно купить и тип магазина. Как мне казалось, мы всё-таки мапим именно тип, а не номенклатуру. Соотвественно, тип магазина, это что-то однозначное и никак не требующее всяких partial или main. То есть, если магазин продаёт и чай и кофе (а в таком случае, там ещё чашку какую-нибудь можно купить, так что посуду тоже прописывать?) то значит это продуктовый магазин. Если там всё-таки кофе круглосуточно, а чай до обеда, значит это магазин кофе и всё тут.

Я же говорю, что конкретно в пропозале Detailed Shop Features использовать “;” не получится, потому что там значений не 2 (да/нет), а больше (да/нет/главный/частичный).

Ну хоть на русском форуме это понимают. Мы в любом случае на два стула не сядем. Зачем об этом говорить? Те кто понимает регулярки знает чем они могут обернуться. У кого есть большие RAM стораджы на всех врерху-сниз смотрят.

Я советуют прислушатся к пути удешевения ОЗУ и HDD. На SSD для конвертанции можно рублём скинуться, может даже на нормальный PCIe, а вот купить ферму процессоров чтобы они считали чертовы регулярки для России да при том это дело никем не реализовано еще до этого. Оно вам точно надо?

PS. Абсолютно все HPC компании (если у них есть такой вариант, то) вбухивают миллионы в ОЗУ чтобы не покупать дорогии технологии и специалистов которые хоть что-то в этом понимают $$$$$$$

Уже придумали, давно. Для схемы shop:= это правда будет немножечко костылём

Так вот. Тип бывает не целостным. Не существует в моём городе только shop=coffee, они еще всегда что-то продают. Даже специалзированные магазины кофе продают кальяны и молоко.

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

Лучше провести простое голосование о запрете ; для значений (opening_hours, addr:flats и пару других не в счёт)

Так я о том и говорю, что мы мапим только тип (=основная специализация). А что они там ещё продают это дело десятое. Иначе придём к тому, что придётся мапить всю номенклатуру товаров.

Откуда, столько гонору? Сколько можно противопоставлять себя, в начале российскому комьюнити, а потом и вообще комьюнити осм (в таггинг хоть и пушут на английском но пишут не только англичане).

Я такой чудачек. Я не вижу чем key:value=* принципиально лучше чем key=value1;value2 парсить это безобразие надо в любом случае.