Когда делается Street (в простом случае, без двойных номеров), на зданиях останется только addr:housenumber, без addr:streetname? Или addr:streetname заменяется на is_in?
однозначно дайте посмотреть на эталонную улицу где сделано так как надо.
можешь пример привезти? что-то я подзавис…
имхо, бот НЕ ДОЛЖЕН удалять или заменять на что-то addr:street
эта схема адресации утверждена в вики используется в ОСМ не только в России
не исключено, что какие-нибудь турки/греки/болгары конвертируют карту РФ для себя и подобные замены порушат им всю адресацию
Оставлять дом без названия улицы пока будем считать слишком жестким вариантом пока оставляй. Получается на доме: и номер дома, и название улицы, и членство в отношении street с ролью house.
Это где столько улиц?
Какая разница, одинаковые уровни, или нет? Какой прок от того, что какой-нибудь горный аул и Санкт-Петербург будут одним уровнем?
Ок, 1. как должны обозначаться роли для: хутора, сельсовета, ЗАТО, аула и ещё кучи национальных названий?
2. Как предлагается в этой куче ролей разбираться парсеру адресов?
Верифицируемость? Допустим, я (строю из себя простого начинающего маппера) взял, включил свой родной дом (с address=house) в релейшн города, естественно, прощёлкав улицу, с ролью house, ведь по инструкции они должны совпадать. Как проверка выяснит отсутствие звена?
А почему они должны быть разными уровнями? Или горный аул является частью Петербурга?
А какой нужен прок? Это схема адресации же. А с ее точки зрения они на одном уровне - “населенный пункт”.
Vovanium, приведи почтовые адреса, посидим, разложим и увидим. Но на первый взгляд ничего изобретать не надо. И даже для случая с сельсоветом никто не мешает вписать сельсовет в строку name - name=“Ирекле(Ильбяковское с мо)”.
Парсер просто знает, что адресация идет от мелкого к крупному и цепочка street-town-village-… или наличие одиночного адреса house с группе с suburb и locality должно вызывать вопросы.
wildMan, для этого и нужны виртуальные группы, чтобы не требовалось включать 100500 членов. Сгруппировать по 500 улиц и включить в city всего 201 адресную группу.
liosha, а во что мне собирать комплекса?
Это как? Какие виртуальные группы?
Alexandr Zeinalov, Hind, возьмёте Провинциала третьим?
Все мне в этой схеме нравиться, кроме “number=xxx - в каком теге находятся номера домов. По умолчанию addr:housenumber”, потому что умолчание всяду придется заменить на уникальный для каждой улицы тег.
И еще хотелось бы еще тэг для краткого названия типа и полного (полное - улица, краткое ул.) а в поле name писать только имя без префиксов.
Решил пояснить почему имя тэга придется делать уникальным:
Вот смотрите идет проспект 1 в нем номера домов именуются тэгом addr:housenumber
Перпендикулярно ему идет улица 1 положим что номера домов по ней также лежат в addr:housenumber
Теперь мы дошли до углового дома на углу проспект 1 - улица 1 которому надо задать 2 адреса
Указываем улице 1 тег для номеров домов addr:housenumber2
Дальше натыкаемся на улицу 2 которая идет под углом и пересекает проспект 1 и улицу 1
Для домов на углах этих улиц вводим addr:housenumber2
Пока схема требует уникальные number=xxx для всех пересекающихся улиц.
Теперь представим как это будет реализовываться:
Т.к. в городе как правило нет четкого деления на “вертикальные” и “горизонтальные” для всех улиц то тэги для number=xxx народ будет придумывать на ходу и наконец мы доберемся до случая когда у нас пересекутся 2 улицы с не стандартным number=xxx и придется переделать нумерацию по всем домам по одной из этих улиц.
Рано или поздно пользователям надоест выдумывать теги для number=xxx и их начнут делать уникальными для каждой улицы.
UPD: Пока писал это сообщение еще раз подумал над этой схемой - в принципе она может жить и число тэгов номеров домов будет осмысленным но если кто то будет следить за этим в рамках города и переодически ему придется переписывать номера целой кучи домов.
Получается, единственная схема, не требующая “лишних” отношений для домов с несколькими номерами - это включение номера дома в имя роли в отношении улицы, типа addr:housenumber=“10/2 к1 с2”
Хотя это само по себе костыль.
Не надо пихать имя тэга в значение другого тэга! И что делать с двумя номерами - уже давно придумали.
Перечитай вопрос: я не говорю, что они болжны быть разными уровнями, я спрашиваю, в чём смысл нумерации этих уровней? От них как-то зависит формирование адреса?
Просто номера здесь — вещь в себе, которая ниоткуда не берётся и ни на что не влияет. Поэтому смысла держать их в базе я не вижу.
Постараюсь еще раз описать все предложенные варианты
I. Самая очевидная схема:
addr:housenumber, addr:street
addr:housenumber2, addr:street2
addr:housenumber3, addr:street3
Дом включается в 3 отношения вместе с кусками соответствующих улиц.
Номер дома по каждой улице присваивается сопоставлением тэгов name отношения type=street и addr:streetХ.
Плюсы: самая простая схема для редактирования.
Минусы:
- непродвинутый конвертер по всем улицам проставит одинаковый номер дома
II. Белорусская схема выглядит посимпатичнее.
Для дома заполняется только тэг addr:housenumber.
Дом включается в 1 отношение type=street вместе с кусками улицы, для остальных адресов создаются отдельные отношения type=address, в которые включаются
-дом
-отношение type=street улицы
-указывается тэг addr:housenumber
Минусы:
- сложность редактирования микрорайонов с корпусами - для каждого дома надо создавать отдельные отношения, вместо того чтобы выделить все дома и одним махом запихнуть в общее отношение
- повышенное количество отношений
- конвертерам необходимо разбирать отношения type=address после отношений type=street.
III. Схема ikz-а
Если есть две независимых одновременных адресации для домов указываются
addr:housenumber
addr:streetnumber
Дом включается в отношения вместе с кусками соответствующих улиц, районов
В отношениях добавляется тэг addr:house=addr:housenumber, addr:house=addr:streetnumber, …, указывающий, какой тэг номера дома использовать с данной улицей, районом.
Для случаев, когда у дома три и более адресов, для 3-го, 4-го … адресов создаются отдельные отношения type=address, в которые включаются
-дом
-отношение type=street улицы
-указывается тэг addr:housenumber/addr:streetnumber
Минусы:
- непродвинутый конвертер по всем улицам проставит одинаковый номер дома
- неочевидность тэга addr:house
Плюсы: - меньшее количество отношений по сравнению с белорусской схемой
IV. Схема ViVish-а
Для каждого дополнительного адреса создается новый контур дома поверх существующего.
Каждый контур включается в отношение type=street соответствующей улицы
Минусы:
- сложность редактирования микрорайонов с корпусами - каждый дом надо обрисовать по несколько раз, сложность выбора правильного контура из нескольких для соответствующего отношения
- повышенное количество контуров приведет к тормозам навигаторов
Плюс: единственная универсальная схема адресации
UPD:
V. Схема dimuzz-а
Для домов указывается только addr:housenumber для рендера.
Дом включается в 3 отношения type=street вместе с кусками соответствующих улиц.
Роль дома в этих отношениях равна номеру дома (или включает его).
Плюсы:
- самая простая схема для конвертера
- минимальный объем данных
Минусы: - сложность редактирования микрорайонов с корпусами - каждый дом надо добавлять в отношение поочередно со своей уникальной ролью
- непродвинутый конвертер по всем улицам проставит одинаковый номер дома
- невозможно задать дому какие-либо тэги кроме addr:housenumber независимо для каждой улицы
Голосуем!
UPD: схему ikz-а переправил на оригинал.
UPD: схему ikz-а исправил еще раз и еще раз.
Все 4 плохие. По крайней мере, если у дома несколько адресов, для каждого следует создать отношение типа address. Если номер из одного адреса поставить на контур, то получается, что он как бы принадлежит и всем остальным адресам, т. к. он оказывается в цепочке отношений.
Все 4 плохие. По крайней мере, если у дома несколько адресов, для каждого следует создать отношение типа address. Если номер из одного адреса поставить на контур, то получается, что он как бы принадлежит и всем остальным адресам, т. к. он оказывается в цепочке отношений.
p. s. И уберите, наконец, из адреса слово HOUSE! Номера не только дома имеют.