Списки населенных мест с валидацией границ и адресов

Логически это верно, но утверждать что полученная таким образом граница - спорно. Ведь в идеале границы поселений будут использованы в других проектах, скажем Википедии и поэтому хочется быть более-менее уверенным в том что делаем …

Не понял это был ответ на какой вопрос. Какие есть межселенные территории? Ну, например, такие - http://www.openstreetmap.org/relation/3384181 или такие http://www.openstreetmap.org/relation/1458624

на этот

Ну да, рядом с первыми, как мне помнится, были еще одни с именем, а про вторые уже и забыл

Для удобста поиска НП из ОКАТО добавлено указание на его возможное положение.
http://wowik.000space.com/places/ru-vlg/19642412.htm ( после такой стрелочки ?==> )

  1. Может наити одноименную станцию/разъезд для поиска местоположения посёлков при станции/разъезде
  2. Может найти НП в соседнем поселении, а то и районе, затесавшимся туда из-за неверных границ либо тегов addr:*

Как порекомендуете обозначить станцию Траки. С railway=station, building=train_station и railway=platform (или может лучше использовать схему public_transport?) всё более-менее понятно. Но как притыкнуть сюда place? Вроде как несколько жилых домов там стоит, т.е. обозначать территорию станции просто через place=hamlet? (в кадастре обозначен только один домик как “земли поселений”, больше опереться не на что) Плюс аналогичный случай со станцией Цивильск, можете ли проверить, правильно ли я отметил эту станцию?

  1. ж.д объект (станция/разъезд) и населенный пункт - два разных объекта
  2. здание вокзала - третий

C модерновым public_transport я еще не заморачивался и маплю в традиционном стиле так:

  1. На путях ставим railway=station + name=Траки.
  2. Платформы railway=platform
  3. Здание вокзала building=train_station
  4. Промежду жилых домиков точка place=hamlet + name=Траки.
  5. Вокруг жилых домиков вей place=hamlet + name=Траки.

Ясно, благодарю. Здание вокзала как я понимаю лучше включать в территорию НП?

Спрошу заодно ещё один вопрос: что обозначает первый столбец со значениями region/district/subdistrict? Вроде если добавлять информацию в отношение, то нужно использовать роль subarea, или же этот столбец для чего-то другого? Ну и плюс возможно ли добавить для разделения синонимов проверку по более высоким территориальным единицам? (т.е. если нет сельского поселения проверяем район, нету района проверяем республику) Просто таких случаев достаточно много, например, ранее упоминавшиеся Чурачики, плюс видел даже случай, когда посёлок в Чувашии не определился из-за синонима в Марий-Эл, что было достаточно странно.

Вкратце дело обстоит так:
Для группировки списка населенных пунктов в дерево (страна/область/район/поселение), используются следующие данные:

  1. subarea в отношениях не используются.
  2. теги addr:country /addr:region/ addr:district /addr:subdistrict (также s_in:*)
  3. геометрическое вхождение в ганица boundary=administrtive admin_level=2/4/6/8 (соответствующие соответственно addr:country/region/district/subdistrict)
  4. для идентификации городских округов сиспользуется offiscial_status=ru:городской округ (в них нет поселений)

Далее идет ставнение с перечнем ОКТМО
При этом происходит

  1. порождение не найденных поселение/районов
  2. растаскивание по этим поселениям/районам населенных пунктов, основываясь на их именах и статусах. Не найденные в перечне или неоднозначные остаются в “undefined subdistrict”/“undefined district”.

При сопоставлении НП из OSM и справочника для полных тезок, у которых совпадает имя и статус (ru:дереня/ruпосёлок), используется oktmo:user.

Тезки из соседней области не должны влиять/мешать.

Соседняя область может всплыть при поиске возможного местоположения ( ?==> ), но на результат сопоставления это оказывает влияния

О тезках
Если НП имеет и точку и границу мы можем получить два НП если

  • place не совпадают,
  • точка не попала в границы.

Что случилось с Сортавальским районом, куда вывалились 18 НП? Я все-таки что-то сломал или это опять не попало в вырезку?

На утреннем дампе всё нормально (проверил по бегущему у меня отчёту).

Да. После перехода на осмапдате и самостоятельную нарезку не ублал старое шаманство. Теперь лучше.

wowik, можешь посмотреть почему
здесь выпадает Шадымо-Рыскинское сельское поселение,
а здесь Берсеневское сельское поселение?

Да, что-то в другие районы попрятались.
Шадымо-Рыскинское в Рузаевский, Берсеневское в городской округ Саранск.

Угу. А есть предположения почему?

У меня вроде они сопоставились правильно:

http://atd.osm.rambler.ru/r1537977.html

http://atd.osm.rambler.ru/r1538218.html

Здесь надо уже wowik-у смотреть …

fserges, дык я знаю, что у тебя всё в порядке. Поэтому и спрашиваю Вовика. Это либо проблема его валидатора, либо какой-то очень хитрый косяк в данных ОСМ (потому что я уже проверил всё что мог), который так неожиданно выловился. В любом случае, будет интересно.

Какая-то бага у меня, похоже. На Мордовии что-то колбасит. Отлаживаю.

P.S. Отладил. Ложное попадание точки в строго вертикальное ребро границы.

Вау, круто! Спасибо.

Начал печатать ошибки, которые по ходу дела обнаруживаются при разбое данных.
Например, отношение type=boundary без boundary=xxx .

Добавил еще диагностирование несоответствия place=xxx у точки и границы.

Смотреть можно по ссылке “Ошибки” на странице региона.

Примерчик из Калужской области: http://wowik.000space.com/places/ru-klu/err.htm

Пока сделано для RU, UA и BY

С регистром как дела обстоят?
Я так понимаю в верхний не переводится при проверке.
Мне не нравятся вот такие октмошные названия: “кирпичного завода”.
http://wowik.000space.com/places/ru-mos/46643407.htm

alt_name проверяется? Может хоть туда эти маленькие буквы загнать…

p.s. однако: “кирпичного завода” но, “Малиновские Луга”.
http://wowik.000space.com/places/ru-mos/46643408.htm
Всё таки надо всё в верхний переводить при проверке.