Объект (poi) тег один, значений несколько, возможно?

Например, автодилер: автосалон/запчасти (shop=car) + сервис (shop=car_repair), возможно прицепить два значения на здание или еще добавлять POI?

Поставь рядом две точки.

Как написано в вики, shop=car - это просто автосалон, shop=car_repair - автосервис. А вот магазины запчастей никак не формализованы, увы. Я по Москве смотрел, там оба этих варианта встречаются, а по идее должен быть отдельный тип вроде car_parts.

А чего плохого в указании значений тегов через “;”, osmdoc например это понимает прекрасно?
Ну рендеры не понимают, ну конверторы не понимают, и…

Собственно, вы сами ответили на свой вопрос “что плохого”

Все беды от плоской системы тэгов вместо иерархии.

А что мешает сделать иерархию через “:” в названии тега?

А как это, через “:”?
Возьмем пример. В одном здании, с общим входом, находится автосалон и автосервис. Рабочие места продавцов-консультантов находятся настолько рядом (например, уголок с запчастями в углу общего торгового зала), что нет смысла ставить две POI. У них разное наименование и разные часы работы, может даже юридические лица разные.
В случае с иерархией могло бы быть так.

building=yes
address=здесь_адрес
shop=cars
name=ХХХ_авто
brand=марка
opening_hours=с 9 до 20
official_name=ООО…
shop=car_parts
name=ХХХ_сервис
opening_hours=с 9 до 19
official_name=ИП Василий Алексеевич Пупкин

Как сделаешь через двоеточие?

В этом случае shop-ы нельзя распространять на весь building

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

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

В случае дилера это так и есть, они как продают машины и запчасти, так и ремонтируют, тогда получается для адекватного поиска, прийдется создавать два POI c одинаковыми названиями, адресами, но разными значениями shop, а со задания снимать название дилера, правильно я понял?

Если это один магазин, который торгует и тем, и другим, тогда, наверно, можно написать shop=cars;car_parts. Если это два разных магазина в одном здании, тогда по идее надо ставить точки.

shop=car_repair это фактически obsoleted tag, потому что с помощью shop=car его можно отобразить:

shop=car
service=repair

Подробнее всё написано в wiki http://wiki.openstreetmap.org/wiki/Tag:shop%3Dcar

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

А правильно ли это воспримет конвертер, например в Garmin, в нем shop=car и shop=car_repair в отдельных меню ищатся, первое это Дилер/запчасти, второе Автосервис.

Для читающих только по-русски перевёл: http://wiki.openstreetmap.org/wiki/RU:Tag:shop%3Dcar
Так в английской страничке чётко написано: МОЖНО писать так: service=dealer;tyres;repair Так что? Ставим такие сложные теги или нет? Что написать в описании? Или запретить?

Надо ставить сложные. Иногда без них никак. И учиться их обрабатывать. Например, дублировать ПОИ при конвертации…

Проясняется, сделал по образу и подобию:
shop=car
service=dealer;repair;tyres;parts
name=Тойота Центр Шереметьево
operator=Major
brand=Toyota

P/S
Как и ожидалось такие POI пропали в Garmin :frowning:

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