не работает адресный поиск. Почему?

Речь про адресный поиск на главной странице osm
Помогите, плз, разобраться:
Сделал релейшн: http://www.openstreetmap.org/browse/relation/1198676
Адресный поиск по нему работает на ура - т.е., например, указываю “Серебрянский, 13, Пермь” - четко находится дом
После этого, “вдохновившись” сделал еще релейшны -
http://www.openstreetmap.org/browse/relation/1204646
http://www.openstreetmap.org/browse/relation/1205467
http://www.openstreetmap.org/browse/relation/1205201
и др.
И по ним адресный поиск не работает … :frowning:
Почему?
Пока вижу только одно отличие первого и остальных - в первом улица представлена одним веем, а в других - двумя (хотя в ряде случаев будет еще больше).

upd:
Вопрос по теме, обозначенной в старт-топике, считаю для себя решенным:
http://forum.openstreetmap.org/viewtopic.php?id=6667

Какой именно “адресный поиск” ты используешь? Просто почти всё поддерживает в лучшем случае Карлсруэ, а не то, что ты сделал.

я говорю об адресном поиске, который в разделе “Поиск” на странице http://openstreetmap.org
Впрочем, думаю, что нашел ответ:
http://wiki.openstreetmap.org/wiki/Nominatim/FAQ#Why_doesn.27t_Nominatim_process_addr:.2A_tags_on_buildings

Видимо, с первым релейшном мне просто повезло.
А насчет

К примеру, на конвертированых в Навителовский формат картах ОСМ успешно ищутся дома по этому способу адресации

Я для себя написал скриптик:
http://kibergus.su/node/44
Он парсит выгруженный osm файл и по релейшенам прописывает Карлсруэ. Соответсвенно я прописываю удобные мне релейшены, а затем автоматически добавляю теги, которые поймут всякие конвертеры.

Э-э-э, при чем здесь Карлсруэ? Насчет relation’а - неудобное, неподдерживаемое, бесполезное усложнение.

Неудобство - субъективное понятие. Бесполезность - ещё более субъективное.

Пока я вижу, что карты для Навитела на основе ОСМ работают адекватно в вопросе поиска по адресу на основе релейшна (не исключаю, конечно, что это заслуга добрых людей, занимающихся конвертацией). Поэтому считаю relation:type=street вполне поддерживаемым “усложнением”

Вот когда обнаружишь, что улицу переименовали, а половина домов имеет в тэге addr:street какой-нить бардак или вообще не имеет этого или половины других тэгов - передумаешь.

Зато неподдерживаемость - объективное, а из него остальное и следует. Объясняю:

  1. OSM как база удобна как раз использованием примитивных элементов, а это полигоны и точки с тэгами. Relation’ы нужны только чтобы отметить то, что обычными тэгами принципиально нельзя. При этом они ненаглядны, их неудобно редактировать (а где-то нельзя) и сложно обрабатывать.
  2. Насчет переименований улиц - во-первых, называйте их сразу нормально без сокращений, не надо будет ничего переименовывать. В Москве эта схема вроде победила наконец. Во-вторых, к вашим услугам OSM Inspector, который показывает все дома с ненайденными улицами.
  3. Ни от чего они не спасают, зато добавляют проблем. Очень немного людей будут добавлять дома в эти отношения, а значит всё равно надо смотреть в OSM Inspector. Зато не зная о relation’ах кто-то исправит тэги на домах и помойка поболе получится вплоть до разных улиц в relation и на доме. Большой вопрос, ругнется ли на это inspector, будут ли с этим одинаково работать все клиенты и не выстрелит ли это когда кто-нибудь удалит relation, нечаянно, например. Итого, наличие информации в двух местах не позволяет верить ни одному.
  4. Если актуальные адреса будут в relation’е, более нельзя вытащить нужные дома одним запросом, нельзя даже банально в josm подсветить дом без улицы другим цветом.

Выход - робот, который запихивает дома с addr:street в соответствующие relation’ы и переносит addr:street на члены relation’а для непротиворечивости информации (а заодно херит все исправления улиц, сделанные людьми которым побоку эти ваши отношения), а также показывает список всех домов, не входящих в отношения, чтобы их можно было починить.

А теперь главный вопрос - зачем вся эта сложность, когда достаточно только последнего (статистики по ненайденным домам), и это уже есть в виде как минимум OSM Inspector и кладро-окатовской статистики. KISS, короче.

Неподдерживаемость - не проблема схемы. Карлсруэ тоже сначала никем не поддерживалась, да.

Насчет переименований улиц - во-первых, называйте их сразу нормально без сокращений, не надо будет ничего переименовывать.
Это вы будете сотне леммингов рассказывать. А вот хранить в базе сотни дублей строки “проспект Ленина” - плохо.

Неподдерживаемость не всмысле “никто не поддерживает”, а в смысле “невозможно поддерживать”.

Да что за Карлсруэ-то?

Как будто хранить сто один лучше.

Лолшто? ^…^

http://wiki.openstreetmap.org/wiki/RU:Key:addr

“Брежнев беседует с внуком, спрашивает: - Кем ты хочешь стать, когда вырастешь? - Генеральным секретарем! - А зачем нам два генеральных секретаря?..”

Куча addr:* в каждом доме.

Лолто, я по-моему все подробно расписал.

Почему Карлсруэ?

Почему addr:street нельзя убирать с домов я тоже написал.

Неубедительно, профессор, очень даже неубедительно.

Дома дёргать одним запросом можно и при релейшнах. Да, есть заморочки с домами с двумя и более адресами - но эти же заморочки есть и в схеме Карслруэ.

Давайте по пунктам, только без “мне это не нужно, значит не нужно никому”.
Да, забыл написать, что вы их и не уберёте.

Нет, как минимум двумя.

Показываю один раз

Номер relation’а по названию улицы вы телепатически узнаете?

Если ты у OSM спросишь addr:street=“Центральная”, то получишь такие улицы во всей нашей стране, а то и в какой-нибудь соседней. Даже если ты будешь запрашивать такое в moscow.osm - найдёшь две улицы. Тебе тоже не хватит одного запроса.

API OSM не предназначено для уменьшения числа запросов для извлечения информации. Не нужно под него подстраиваться из-за разовых операций.

С этой стороны relation’ы ничем не лучше.

Количество запросов просто свидетельствует об усложнении схемы.

Отнюдь нет. Она сложна в поддерживании текущими инструментами, что действительно серьёзная проблема. Но в остальных отношениях по меньшей мере на уровне улиц она более чем правильна.