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

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

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

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

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

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

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

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

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

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

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

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

В рамках старого shop, который приняли аж 9 лет назад может быть (не все теги приняты формально были).

Именно об этом и речь в новом пропозале.

Мне всё равно если shop:кальяны напрокат=yes будут на пабе или на хлебном магазине. Я кальян хочу курить, всё равно где. Чем ближе - тем лучше.

Нет. Нет. Нет.

И что ты парсить собрался в

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

Буковки shop в примере выше вообще ничего не значат. То что ты их парсить хочешь - лично твои проблемы.

"shop:coffee"=main +
"shop:tea"=partial +
"shop:muffins"=yes
shop=books

В этом примере - значат, ровно то, что значили раньше, “книжный магазин” / “магазин книг”. Если сможешь осмыслить другие теги по новой схеме - молодец, а нет - значит только книжный магазин он тебе.

shop=clothes;shoes

Это ужасно конечно. Со всех сторон.

Подождите, давайте сначала общероссийский запрет military=* доведём до конца, а затем за точки с запятой возьмёмся.

Абсолютно. Готов почку отдать на голосовании.

На скорую руку:
http://overpass-turbo.eu/s/7lf
И неважно, будет ли это shop=кальяны напрокат или shop=bakery;кальяны напрокат

shop=clothes
shop:shoes=yes

У меня навреное руки отвалились это писать ctrl c ctrl v. Согласно пропозалу две тега выше означает нижеследущее:
shop=clothes
“shop:clothes”=main
“shop:shoes”=yes

shop= always implies shop:=main unless further overridden by shop:=yes.*

Скорая рука вам не поможет, не играйте со мной в “я знаю регулярки”.

shop=отравленные кальяны напрокат

Собственно, если мне нужен тип магазина, и у меня нет списка всех возможных значений, а его никогда небыло и сейчас нет, то shop:продажа кальянов=main мне придется парсить. Я конечно не говорю что распарсить это нельзя, но бурной радости, по поводу этой схемы разделить не готов.

И уж тем более не поддержу запрет использования той или иной практики тегирования.

Считаете что

ref:1=yes, ref:3=yes, ref:4=yes, 
ref:5=yes, ref:6=yes, ref:7=yes, 
ref:8=yes, ref:9=yes, ref:10=yes, 
ref:11=yes, ref:12=yes, ref:13=yes 

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

Нет. В новом пропазле идёт речь о маппинге всех категорий товаров что есть в данном шопе. Я против именно этого. Но это если говорить о том, что вообще должно быть в shop=.

А если говорить именно о ‘;’ то это вопрос больше филосовский. Честно говоря, я не вижу никаких проблем с перечислениями именно в этом виде. Если какой-то инструментарий не умеет с этим работать, то это проблема инструментария и не более того. Тем более, что в каких-то случаях использование данного символа всё равно останется.

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

way{{bbox}}["shop"~"clothes|shoes"]

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

Работающих приложений на базе OSM не так много, на самом деле.

Я тебе говорю нет. Смысл “магазин с типологией продажа кальянов” ровно в 26 символах

shop:продажа кальянов=main

Если пропустишь =main, не поймешь что это главный тип у пагазина. Пять букв shop: теперь вообще ничего не значат по новой схеме.

Ну так что ж теперь ты думаешь я о радости до потолка выверяю переводы тегов. Их можно использовать например. Изпользуя “простые” обозначения iD. Это очень хорошо. Помогаем iD и копипастой не занимаемся.

И потом ты преувеличиваешь изменения.

Те, кто понимал shop=car_parts, на начальном этапе можно понимать как
shop:car_parts=yes | shop:car_parts=main | shop:car_parts=partial // Копипаста заметна? Простую кодогенирацию здесь надеюсь никому не нужно объяснять? У вас что у mapcss препроцессоров нет? Только не говорите мне пожалуйста что нет.

Более продвинутые POI процессоры могут выделять shop:=main главные и shop:=yes/partial побочные. Корреляция у “основых” к “качеству осблуживания” будет выше чем у остальных в большинстве случаев. Сужу по своим объектам.

Ну конечно, куда же без этого. 170 highway=* тегов с двумя значениями стоят того против пятидесяти миллионов однозначных тегов.

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

Вы только что сказали пользователям данных OSM “еб@#тесь конём, я маплю один раз”. К вашему сведению этим каким-то иструментарием является всё от Mapnika и вики документации до Taginfo, Osmosis, JOSM.

На секундочку, osm2mp поддерживает точку с запятой и даже удачно разделяет объекты с shop=;;*… на несколько отдельных POI.

Нет смысла описывать в вики все возможные случаи использования “;” в теге. Достаточно описать значения, которые через “;” перечисляются.

TagInfo работает с тегами, как с текстом. Он не может не поддерживать какой-то символ.

В JAVA легко реализовать проверку того, содержит ли строка какую-либо последовательность символов.

boolean String.contains(CharSequence s)

http://kulibaba.net/programming/java/strings

Кроме того, в любом полноценном редакторе есть возможность вручную написать значение тега. И там можно писать и “;”, и всё что угодно. И у редактора не возникнет проблем.

UPD: Overpass-Turbo поддерживает “;”

Кстати, двоеточие уже зарезервировано за неймспейсами.
То есть в предагаемой схеме подзначение не отличить от подтега.

В итоге получится, что «разделятору» на отдельные пои придется знать, что shop:* можно дробить, а building:* нельзя.

Лучше уж использовать для подзначений слэш.
Тогда


shop=coffee
shop/tea=partial

легко и непринужденно, а главное, без дополнительных знаний, превращается в два пои.

В редакторах в списке тегов это при желании можно показывать как несколько одинаковых тегов с разными значениями.
А неймспейсы как поддеревья.

Режим умных тегов:

Режим курильщика:

Мне кажется что тут можно выделить опции и многозначные однотипные значения.

однотипные: openning_hours, contact:phone и все подобные где значения могут отличаться лишь приоритетом и сути объекта не меняют

то что магазин может продавать кофе или шоколад это уже опции, тк меняют суть объекта

главное не tag1, tag2, tag3

На вашем osm2mp свет не сошелся. Для меня один postgresql важнее части стека в OSM не говоря уже о ваших конвертерах. Ой не рады вы будете если я все изменения для любимой postgresql сделаю сразу.

Вы думаете я это не знаю? Попробуйте найти справочную страницу для магазина чая у shop=car_parts;tea.

Вы знаете о чем говорите? Уверены в этом? Где в Taginfo страница про чай для shop=car_parts;tea.

Строго-формально его конечно никто не резервировал.
Предлагаемая схема ясно даёт знать что смысл тега

shop=* теперь можно уточнить новыми тегами
shop:<вот тут старый shop>=yes/partial/main/no

Не понимаю почему про неймспейсы вопрос вообще, они в структурах данных не существуют, только в программном коде и документации. shop:car_parts=yes - это обычный тег, никакой не неймспейсовый. Это тоже самое что “shop:car_parts”=“yes”. Скажем об этом на странице Namespace что “новая схема shop:= не неймспейс” и делов-то господи, мне казалось это понятно.


shop=coffee
shop/tea=partial

Слеш не нужен. Мы и так уже используем : для обозначания субтегов без нейспейсов.


shop=coffee
shop:tea=partial

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