Работа с постоянной базой (включая работу по постоянному поддержанию ее в акутальном состоянии) и работа с конкретными данными, взятыми целиком на определенный момент времени - две совершенно разные задачи.
И вряд ли целесообразно затачивать OSM под решение только одной из них, полностью игноримруя другую.
Ну, Питер и local.oas - это немного разные масштабы.
Я даже не говорю о том, что, скажем, в Грузии отличающаяся от России система простановки admin_level и, следовательно, чтобы что-то чинить, нужно сначала прочитать не одну страницу на грузинском языке.
И опять же, local.osm достаточно велик для того, чтобы за то время, пока чинишь в одном месте, появились проблемы в десятке других.
Другими словами, рассчитывать на исправность границ не приходится.
Совсем.
Зачем в каждом?
Если есть определенная иерархия объектов, достаточно хранить ссылку на ближайшего “родителя”. Ну либо на весьма ограниченное количество “предков” вполне конкретных уровней.
Кстати, достаточно хорошим решением для поднятия структуры является cladr:code, хотя в последнее время он, почему-то считается “немодным”. Вплоть до того, что некоторые берутся заявлять, что он, якобы, никому не нужен и подлежит удалению из базы.
Если дома адресуются по населенному пункту:
addr:place
если по району/микрорайону/территории:
addr:suburb
если территория в адресе имеет смысл улицы и по сути заменяет улицу (например, площадь):
addr:street
ИМХО по существующей схеме немного не так, если нет улицы совсем — addr:place, при этом значением может быть как НП, так и район (микрорайон) и т. п. Если в одном НП несколько улиц с одинаковым названием, то addr:street + addr:suburb на дом и addr:suburb на улицу.
Да, если если есть номер дома и нумерация домов порядковая, по Васюкам, без привязки к улицам, addr:place используется вместо addr:street. Такая ситуация часто в СНТ или коттеджных посёлках, находящихся внутри населённых пунктов, там адреса почти всегда — порядковый номер.
ЗЫ
addr:place - абсолютно непродуманный тег, поэтому для практического применения он не пригоден, и вряд ли когда-нибудь будет кем-нибудь поддерживаться
А если place=allotments (village, hamlet…) то addr:allotments (village, hamlet…)?
Хорошо, как тогда обозначать номера домов, идущие не по улицам, а по порядку? Мне всё равно, но тег addr:place описан в ВИКИ, я им пользуюсь - другого то нет и в моей местности большая часть домов не имеют в адресе улицы.
Извиняюсь, был в отъезде, а со смарта ответить не удобно.
Да почти любое СНТ, если в них и обозначены улицы, то правильная адресация идёт не по ним. Сложность ещё в том, что адресация часто двойная: официальная, по порядковому номеру участка, и “самопальная”, по неофициальным (или официальным, если СНТ “вплетено” в посёлок) улице, в последнем случае номер может не совпадать с номером участка. И по любому варианту дом должен находится программами, использующими OSM.
Конкретно — ну хотя бы вот эти дома.
В Приозерске есть Дачный поселок, находящийся в границах полигона города. На домах таблички “дачный пос. ##” ИМХО тут addr:city=Приозерск, addr:place=Дачный поселок, addr:housenumber=## http://maps.yandex.ru/-/CVuzmBi4
Так. Извините, но такими темпами можно обсуждать один вопрос годами.
Посему. Не позже чем в эти выходные (10-11 ноября) корпусам в Зеленограде будет вписана буква “к” в addr:housenumber. Мою или wowik-ом или ещё кем.
К этому времени нужно определиться с группировкой зданий. Варианты:
Делаем addr:place=n-й микрорайон (а addr:street сносится)
Оставляем addr:street=n-й микрорайон
Сносим группировку вообще
Голосуйте за данные варианты или предлагайте новые. Я за вариант 1 (addr:place).
Сообщения вида “все предложенные варианты неправильные, а как правильно я не знаю” больше рассматриваться не будут.
addr:place - это неприжившийся псевдоним для addr:city (когда в city написана деревня не всем нравится).
addr:* - части адреса, слепив в правильном порядке которые, получим адрес.
Группировка вне адресной иерархии не должна метится как addr:*, ибо попадет в адрес.
Я бы заменил “addr:street=X-й микрорайон” на какой-нибудь “is_in:*=X-й микрорайон” пока что-нибудь более стоящее не появится.
http://addresses.amdmi3.ru/?zoom=14&lat=45.11842&lon=38.95604&layers=B0T
этот валидатор именно реагирует на addr:place, если просто стоит addr:suburb то ругается
в краснодаре есть много микрорайонов где нет улиц. допустим Березовый. если ставить просто addr:suburb=Березовый. валидатор ругается что стоит просто номер дома. если поставить тег на дома addr:place=Березовый валидатор не ругается
но эт как бы частный случай. может как нить придем к единому мнению? мапить то нуна. и навигатор (софт для использования карт ОСМ) чтоб понимал