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

1 - по названию улицы нельзя определить ее кладр-код
2 - в скором времени конвертер будет работать по все РФ.
4 - спасибо. Наб. Челны это сколько процентов территории населенных пунктов РФ? И такие адреса с улицами там существуют?

Не несущая смысловой нагрузки информация - это тэг без value. Все остальное информацию несет. Не для всех. Но я же не стираю нафиг не нужные мне тэги типа количества этажей и материала стен.

А как кладр-бот это делает? Не все, конечно, но 90-95%% - запросто.

Я подозреваю, что подобная схема адресации уникальна по России. Что поделать, если все города развивались самостоятельно, а наш нарисовали академики. Но прижилось настолько, что теперь везде - на картах, в оф.документах, на почте, в больницах и пр. используется только адрес по комплексу.
Дублирующий адрес по улице есть у каждого дома. Но… …используется только в паспорте и, иногда, на почте. Есть прикольные моменты, когда письма внутри города идут пару дней, если адрес указан по комплексу и пару недель (!), если по улице.
Когда я, в свое время, спрашивал по адресации, мне приводили в пример то-ли Варшаву, то-ли Прагу, где используется аналогичная схема.

[offtopic on]
Кста, в этом плане у меня есть претензии к схеме адресации применяемой в OSM. Адрес дома по улице удобнее заносить в addr:streetnumber, т.к. образует дополнительный, уточняющий тег к addr:street.
[offtopic off]

Тег без значения? Джосм и потлатч, в таком случае, их даже не запоминают.
Насчет смысловой нагрузки я немного неправильно выразился. Не отсутствующая, а дублирующая. Равносильно тому, что прописать highway=service, service=yes или amenity=fuel, fuel=yes…

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

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

  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. Хитрые геометрические штуки из серии “а попадают ли эти точки вея в полигон” зачастую становятся не нужны.

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

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

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

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

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