Может ли у одного объекта быть несколько tag-ов с одним и тем же ключом?
Т.е. возможно ли такое сделать теоретически в OSM?
Теоретически можно их писать через точку с запятой, практически мало кто (никто?) поддерживает.
Не понял насчет “через запятую”. Я имел ввиду вот такой вариант. Т.е. можно в XML файле, выгруженном из OSM встретить такую ситуацию:
<way id='-60' timestamp='2009-07-23T10:59:45Z' visible='true' version='2'>
<tag k='name' v='Пушкина ул.' />
<tag k='name' v='Пушкина' />
</way>
lioshaын конвертер может такое, например, обрабатываются значения из service (service=repair;dealer;tyres;parts) в shop=car.
Я только что проверил в ДЖОСМе. При попытке прописать тег с тем же именем ДЖОСМ просто заменил значение существующего тега. После сохранения правки в файл .osm никаких дублей не видно.
Я создал точку, прописал тег name=erase_me.
Потом попытался прописать новый тег с тем же именем name и значением i am a test point
Новый тег не появился. зато в существующем поменялось значение.
<node id='-2566' action='modify' visible='true' lat='50.0167708540837' lon='36.17365228272947'>
<tag k='name' v='i am a test point' />
</node>
AFAIR в 0.5-й версии АПИ одноимённые теги допускались, в 0.6-й уже нет
Чтобы не гадать на кофейной гуще (а josm это лишь посредник) нужно посмотреть таблицу в базе osm уникально ли для полей tag + objectID
Всем спасибо за ответы.
p.s.Пишу парсер, хотел понять, стоит ли теги tag хранить в ассоциативном массива вида assoc_array[tag.k] = tag.v или всё-таки стоит использовать массив tags. В конце концов всё-таки склонился к массиву, так как быстродействие при таком подходе при парсинге будет быстрее.
key=value - key в случае api0.4-0.6 уникален, двух одинаковых у одного объекта быть не может.
Если посмотреть структуру базы, там есть закладка под то, чтобы тегов было несколько, но она отключена и скорее всего никогда не будет включена.
А два разных value у одного key значит могут быть?
Лолшто?
Это как? Через запятую, что ли?
Теоретически можно их писать через точку с запятой, практически мало кто (никто?) поддерживает.
key=value1;value2;value3
building=yes;no;collapsed

building=yes;no;collapsed
Масло маслянное и состоит из масла…

building=yes;no;collapsed
и что это должно означать?
время работы как иначе отметить?
opening_hours=Mo 10:00-12:00,12:30-15:00; Tu-Fr 08:00-12:00,12:30-15:00; Sa 08:00-12:00
Короче, ответ топикстартеру — нет, не может быть одинаковых тегов.