Обсуждаем способы задать адресацию

Кладр-бот определяет не по названию, а по названию + по нахождению внутри границ. Это, согласитесь, не одно и то же.

Ну да. Боту еще и границы следить надо.
Для пгс могу предложить два других, заведомо более рабочих варианта:

  1. релейшен collection, в который собрать дома и относящуюся к ним улицу (куски улицы);
  2. поиск конвертером улицы в радиусе от дома 500метров плюс-минус и проверка на совпадение имени.

1ый вариант более устойчив и надежен поскольку избавлен от “случайных” переименований улиц, смен кладр-кодов и тому подобных государственных починов. Более того, даже если кто-то случайно/преднамеренно сотрет коды у улицы/дома, collection сохранит целостность адресации.
Подобный релейшен в джосме создается полуавтоматически, за пару десятков кликов мышкой. Могу даже подсказать, как…

В случае клад-кода на доме остается огромное кол-во ручного, человеческого труда по поддержанию подобной адресации в актуальном состоянии.

Update1:
ПыСы:
Каюсь. Пока ставил машину в гараж, размышлял, что мне так не понравилось в этой схеме. Потом сообразил. Уж очень напоминает мне это дело реляционные модели баз данных и сиквел, где есть привычка хранить иды, по которым потом в другой таблице ищутся сами объекты или новые иды и т.д. и т.п, вместо того, чтобы сразу хранить ссылки на нужные объекты, как в сетевых моделях БД.

ПыПыСы:
Челны, отчасти, были приведены, как пример, еще и потому, что без дополнительных костылей эта адресация там не заработает. Пока не будет возможность как-то указать тот факт, что номер дома по улице хранится в addr:streetnumber, а не в addr:housenumber. В случае же с релейшеном эта проблема легко обходится тегом типа numbers=addr:streetnumber…

Update2:
Но с другой стороны, проделанная работа по вписыванию зданиям кладр-кодов позволит на порядок сократить время по созданию релейшенов улиц. До одного поиска вместо трех.

Даа! Даешь релейшены для улиц!

Сейчас в OSM улицы ничем не обозначаются, как ни парадоксально (Street Map, да). Только проезжие части с указанием улицы, к которой они относятся, а также здания с адресами (каждому из которых прописана повторяющаяся пачка юникодных букв).
Для улиц я, собственно, и предложил релейшн street в свое время. :3

Это ты street предложил, какая же ты умничка)) *целует Хинда в носик)) я его как раз и использовал везде, и дома насовал тоже в отношение, как в вики было написано))

Напомню, что все улицы города Минска уже давным давно собраны в релейшены: http://www.openstreetmap.org/browse/relation/79847

Я предлагал несколько не то, что написано в вики.

Ну наконец то!
Остается Вам написать бот :slight_smile:

Меня эта пестрость очень раздражает, неоднозначность. Жаль, что до сих пор нет строгой и ОДНОЙ системы описания улиц, куда входит перечисление отрезков линий, дома и прочие возможные полезные данные.
Нет же, у нас название стоит на каждом отрезке, отдельно на отношении. Коих и самих несколько типов - collection, street… И рендеры и конвертеры вынуждены всё это понимать.
И да - на каждый дом записана улица, и в отношении улицы записаны дома. Ужас.
Мало того, что информация дублируется, так она не защищена от искажений - в одном месте так написано, в другом эдак… В одном поменял, в другом по-старому осталось.
Причесать бы всё это в логичную и ОДНУ структуру!
Белорусский вариант существует, но у нас ему никто не следует… хотя он не плох.
Может соберемся с силами и выработаем что-то единственное?

Дайте, пожалуйста, адрес статьи, где написано, как сделать улицу релейшенами.

Может, есть смысл сделать бота, который будет по совпадению названия улицы делать релейшены?

А потом, по идее, надо выпилить названия отрезках дороги и зданиях.
И придут нубы, и будут снова вписывать названия, ибо нет поддержки в рендерах и редакторах.

Великая печаль обрушится тогда на OSM: “Как же быть?”

Одним не понравится первый вариант, другим второй. Уже сейчас не получится выработать единую систему без возражений, придется кому-то принять волевое решение принуждения к заданной системе, лол.

Чёрт, я тоже про это думаю! Я вообще считаю, что отношение должно стать основным средством описания объектов.
Для улиц и вообще для адресных элементов надо выработать какую-то систему.
Но пока я вижу проблему скорее в плохой наглядности редактирования отношений, по сравнению с точками и линиями, из-за чего ими ленятся пользоваться.

Я делаю отношение street по вики. А в белорусском варианте дома к улицам привязываются?

Да, привязываются.
http://sites.google.com/site/osmbelarus/Home/manuals/osm-manual/osm-manuals-address

Плюс этой схемы - полный адрес объекта, по ней описанного, можно восстановить, пользуясь только API. Хитрые геометрические штуки из серии “а попадают ли эти точки вея в полигон” зачастую становятся не нужны.

Помоему - хороший вариант и что хорошо весьма гибкий (это я про релейшены). А НП со сквозной нумерацией домов по стране в общем то не так уж и мало. А на счет того что придут нубы и все расставят не так - ну я нуб - во первых не обязательно что все новички будут делать неправильно, а во вторых поправить теги у домов не великая проблема.

Я тоже за адресацию исключительно при помощи релейшенов.

Обязательно будут делать неправильно. Хотя не все, разумеется, но этого никто и не утверждал.

Адресация с помощью релейшенов - это имхо утопия.
Во всяком случае, пока.
Слишком уж ненадёжная это штука.

В чём именно проявляется их ненадёжность?

В том, что рушатся от любого чиха.
И чем больше их будет, тем чаще будут рушиться.

Вопрос то в том, что cladr:code еще более ненадёжен и неустойчив. И решение вопросов адресации с помощью средств для этого не предназначенных еще большая утопия.