Вкратце дело обстоит так:
Для группировки списка населенных пунктов в дерево (страна/область/район/поселение), используются следующие данные:
subarea в отношениях не используются.
теги addr:country /addr:region/ addr:district /addr:subdistrict (также s_in:*)
геометрическое вхождение в ганица boundary=administrtive admin_level=2/4/6/8 (соответствующие соответственно addr:country/region/district/subdistrict)
для идентификации городских округов сиспользуется offiscial_status=ru:городской округ (в них нет поселений)
Далее идет ставнение с перечнем ОКТМО
При этом происходит
порождение не найденных поселение/районов
растаскивание по этим поселениям/районам населенных пунктов, основываясь на их именах и статусах. Не найденные в перечне или неоднозначные остаются в “undefined subdistrict”/“undefined district”.
При сопоставлении НП из OSM и справочника для полных тезок, у которых совпадает имя и статус (ru:дереня/ruпосёлок), используется oktmo:user.
Тезки из соседней области не должны влиять/мешать.
Соседняя область может всплыть при поиске возможного местоположения ( ?==> ), но на результат сопоставления это оказывает влияния
О тезках
Если НП имеет и точку и границу мы можем получить два НП если
fserges, дык я знаю, что у тебя всё в порядке. Поэтому и спрашиваю Вовика. Это либо проблема его валидатора, либо какой-то очень хитрый косяк в данных ОСМ (потому что я уже проверил всё что мог), который так неожиданно выловился. В любом случае, будет интересно.
В name/alt_name заносят то что правильно писать и так и так. Т.е. в name идёт то что более часто используется (или наоборот, официальное название) а в alt_name - менее используемое но не менее правильное. Я таким сейчас в Чечне пользуюсь так как транслитерация названий на русский язык не всегда однозначна и одно и тоже село даже в официальных документах имеет разные но близкие названия.
Там вообще всё поперек границ, вот Новоивановское http://www.openstreetmap.org/way/206640848.
Я не понял чего оно выперло в Москву. Та граница Москвы верная? А то не в ту сторону утресём.