А ты и не рисуй. Ставь точку и назначай ей все теги. Получится типа такого http://osm.org/go/2HYLjDmsJ-
В частном секторе номер дома можно трактовать как номер участка (владения). Рисуешь контур участка и вешаешь на него номер.
А что если использовать релейшен типа street (http://wiki.openstreetmap.org/wiki/Relations/Proposed/Street) но для домов прописывать не только роль house/address НО И НОМЕР ДОМА ЧЕРЕЗ ДВОЕТОЧИЕ.
Таким образом, один и тот же дом может быть привязан к нескольким улицам.
Пример:
type=street
name=“Улица Светлого Будущего”
street=cсылка на way улицы
house:1=ссылка на дом 1
house:2=ссылка на дом 2
и т.д.
Идея отличная. Мне нравится.
Хотя трудновато будет проставлять цифры за двоеточием, особенно когда домов пару сотен… Видимо придется добавлять дома в релейшен по одному…
А косая черта в role прокатит? Т.е. house:2/18 для угловых домов?
Вторая попытка привести отношение Street к третьей нормальной форме
dimuzz, в твоем примере уж больно непонятное имя роли было… Никто и не понял
Для такого варианта есть только один минус. Что будет рендерится на доме, если номер перенести с дома в релейшен улицы? Или плюнуть и сдублировать информацию?
Собственно для угловых домов как раз и этот %D
Собственно для угловых домов как раз и этот сыр-бор затевается. Адрес д.2/18 говорит о том что у дома №2 по одной улице и №18 по другой, поэтому он должен быть в двух релейшенах с разными номерами.
Допустимо ли его включать в виде
2/18 в первый и
18/2 во второй - я не знаю.
Может лучше в первом д.2, во втором д.18.
“Сыр-бор” можно затевать вообще как универсальный способ адресации, т.е. нумерации сущности в рамках вышестоящей сущности.
При таком способе дом/владение/земельный участок может относиться одновременно к нескольким улицам, микрорайонам, да чему угодно.
Вопрос только в том, допустимо ли включать значение тега в другие теги и почему этого не придумали раньше.
Широко используемые
addr:street
addr:housenumber
это не то же самое по сути?
Не-а, не то же самое.
Имхо, ключи тегов и ролей всё-таки должны быть из ограниченного списка, а не free-form.
Мне нравиться, Я бы оставил на доме тот адрес который чаще используется (по мнению автора), а в релейшены уже загонял бы “нормальные” адреса.
Приятно что думаем в одном направлении
http://wiki.openstreetmap.org/wiki/RU:Relation:route я так понимаю роли stop_<число> forward_stop_<число> backward_stop_<число> являются тем же самым что и предлагаемые house:<номер дома>. Из засад видится разве что невозможность указывать пробелы в явном виде, придется договариваться чем его заменять.
P.S. Поправьте меня если ошибся.
Если оставить house:2 и house:18, то конвертерам потребуется дополнительная работа для извлечения второго адреса строения и построения правильных 2/18 и 18/2… Хотя может это и нафиг не надо.
В общем, решение неоднозначное.
С одной стороны, использовать переменные (номера) в именах ролей, действительно не лучшее решение (возможно, именно поэтому такую схему и не “придумали раньше”).
С другой стороны, с точки зрения нормализации номеру здесь самое место.
А чего плохого в переменной в имени роли, к тому же такое уже встречалось? Могут конечно быть проблемы у всяких xsl движков но вроде как тоже не неразрешимые.
В порождении лишних сущностей: зачем делать отношения из ролей, если отношения уже есть и так?
Порождение лишних сущностей не всегда зло (любое кэширование есть порождение лишних сущностей), но тут без переменных в именах ролей сущностей выходит еще больше.
Посмотри внимательнее - числа в ролях route настоятельно рекомендуется не использовать.