Отношение с названием улицы

// кускам улицы не даю name
Нет не будет. релейшн type=street это несаппрувленный пропозал, в котором к тому же совсем не говорится что он отменяет name на веях улиц

// домам не даю тег addr:street
Будет, но не везде.

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

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

А это про что? Any Tag that applies to all parts of the road (this is always true for the ‘name’, but that’s obligatory anyway)
http://wiki.openstreetmap.org/wiki/Relations/Proposed/Street

P.S. Риторические думы.
Вроде бы многие не довольны существующей системой адресации, но как-то вяло идет обсуждение вопроса. Я боюсь, что при чем больше проект разрастается, тем сложнее принять хоть какое-то решение. Как бы ускорить этот процесс??

//А это про что? Any Tag that applies to all parts of the road (this is always true for the ‘name’, but that’s obligatory anyway)
Про то, что теги на релейшене обозначают свойства сразу всех частей дороги, которые в него включены. (Что имхо глупость порядочная) Само по себе это еще не значит, что name на веях отменяется. Если отменяется, то нужно об этом сказать прямо, чего в этом пропозале как раз нет.

Должен и перезаписывает. Я это делал как раз из-за того, что менялись названия улиц. Меняем в одном месте и транслируем изменеия в остальные.
А если кто-то поменял тег, но не поменял релейшн, от он внес в БД ошибку (вне зависимости от того, правильно ли он изменил). И скрипт эту ошибку исправит.

Так я про отмену и не писал, я писал, что тэг name веям не задаю. А значит, он наследуется.
Не логично?

Не уверен, что это хорошо. Можно навредить ещё больше, чем испортил человек.
Что будет делать скрипт, если дом внесён в два релейшена? А я уже с этим сталкивался, когда по ошибке дома были запихнуты в разные релейшены. Ошибку скрипт не исправит, а дров наломает.

Ошибки никогда не будет только в том случае, если не будет дублирования

Логично. Такая семантика отношения типа collection (также не утвержденного). Там тег на объекте переопределяет тег в отношении. У street семантика другая. Тег в отношении и роль объекта однозначно определяют addr:street или name. И теоретически конфликтовать они не должны.
Но есть одно но. Кто это наследование выполняет? Программа, работающая с данными. А они пока так не умеют. Заставьте авторов программ переписать свои творения.

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

Согласен. У вас уже есть план по захвату мира переводу всех программ на поддержку релейшенов? Мой скрипт является костылем для тех, кто их пока не поддерживает.

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

http://forum.openstreetmap.org/viewtopic.php?id=9520&p=1

Для этих целей - конечно хорошо, но для бота - не допустимо.

Вот, случайно наткнулся на это http://forum.openstreetmap.org/viewtopic.php?id=6667&p=1. Что-то типа такого, что я спрашивал. Но поиск в OSMе не работает. Хотя нужно ли этот поиск кому нибудь, помимо навигаторов? Лично мне этот проект интересен только потому, что я могу им пользоваться на навигаторе.

Не совсем:) Во-первых, если где-то обсуждаемый релейшен не поддерживается в данной семантике, то не наследуется. Во-вторых, это логично до тех пор пока кто-нибудь не поставит на ваш вей name, как раз потому что relation street не поддерживается в мапнике или в каком нибудь гиде-гисе :slight_smile: И будет совершенно прав, потому что name на вее - общепринятый на данный момент способ задания названия улицы. для улицы.

скажите а навигатор на навителе по какому тегу улицу определяет: по нэйм или аддр:стрит?

Из улицы name, а из дома addr:street, причём они должны совпадать

то есть в улице, аддр:стрит не обязательный тэг, а для домов (строений) - обязательный, правильно?

Да

Для улицы если она имеет имя обязателен name.
Для дома если он адресуется по улице (а не насквозь в рамках поселка/города/района) - addr:street
В адресный поиск навитела/ситигида/гармина/7 дорог домик попадет только если addr:street на домике и name на улице совпадут.
Совпадение ищется полное - т.е. если улица подписана со статусной частью “переулок Красный” то и на домике в addr:street должно быть записано точно так-же. Это так же касается употребления быквы ё и сокращений.

Для линий улицы он избыточный, никем не используемый и лучше его вообще убрать.

О-как, а я его ставил везде, думал по нему то и идет обращение к адресам. Печалька, однако… Ладно, больше не буду пакостить.

Вообще-то это неправда.

За всё не скажу, но гарминам совпадения/несовпадения полностью фиолетовы, и навителу, кажется, тоже.