Валидатор населённых пунктов и границ (http://atd.openstreetmap.ru)

хм, мне помнится что Дежин высказывался что выслать может и уже кому-то высылал. т.е. исходники несекретны…
ну а читаемость и функциональность “братья навек”, тут ничего не поделаешь.

если ничего не путаю, когда накрылся валидатор Дежина, сохранилась небольшая часть
то что сохранилось использовалось еще где-то и в итоге попала на GitHub
https://github.com/nextgis/osm_adm

Обрабатывал адреса у себя в области и нашёл десяток населённых пунктов, где их границы налазили на границы МО. Т.е. в итоге правило геометрической вложенности не работало, хотя валидатор говорит всё ОК. Подозреваю, что сначала ищутся точки в пределах нужного МО, а затем охватывающих их полигон. В итоге полигон place с границей МО не сравнивается :frowning:
У wowik кстати тоже всё зелёным без ошибок.

http://wowik.000space.com/places/ru/err.php?err=35
Часть ошибок у меня косвенно вылазит чуть позже в виде того, что объект имеет родителя в которого реально не попадает. Например входит в НП некоторого района (тем самым наследует его явно и неявно заданные addr:*), а в сам район не попадает.

В своё время я обращал внимание любителей наносить границы поселений, что нанесенные границы бьют НП, часто из-за грубости привязки да и самих карт поселений.
В некоторых случаях в Сибири и Кавказе был сдвиг на на сотни метров, что хорошо было видно при сравнении с кадастром.

Я считаю, что с небольшими перекрытиями границ смысла бороться нет, по крайней мере пока в перекрытие не попадают значимые объекты.
Тяжело и лениво рисовать границы НП в точности по границам районов/поселений/соседей и т.п. мы ж утоним в убитых полигонах!

Как тогда по-проще получить куда попадает большая часть place в postgis?

Не представляю. Базу не использую.
Куда попадает неточечный объект я проверяю по попаданию какой-нибудь одной точки, лежащей внутри объекта. Это и быстро, и в приближении непересекающихся границ абсолютно точно.
А уже отдельным проходом можно проверить результат, но это уже не поиск по всем возможным родителям, а проверка правильности конкретного найденного.

Тоже не плохо, попробую.

Обновился ОКТМО в очередной раз. На этот раз изменения очень локальные - ещё 3 муниципальных района в Калининградской области стали городскими округами (осталось всего 3, я так понимаю это вопрос ближайшего времени), появилось Ново-Бенойское СП в Чечне (уже отрисовано в ОСМ). Ввиду этого было/стало делать не буду - там всё очевидно. Сегодня валидатор построился по старому справочнику, завтра будет по новому.

М-да, и еще один посёлок переделали в хутор.

По причинам описанным в теме Населённые пункты входящие в несколько регионов/федеральных округов с прошлой недели валидатор выделяет посёлок Центральный как объект высшего порядка АТД РФ (он не входит ни в один из федеральных округов, т.е. не является частью ни одного из макрорегионов России).

Поскольку алгоритмического способа (прописанного в Вики) разрешения этой ситуации не существует то придётся оставить как есть - валидатор будет выделять Российскую Федерацию и посёлок Центральный.

Валидатор в данном случае эмулирует работу абстрактного конвертера который пытается построить иерархию АТД некой страны используя данные ОСМ, поэтому получит сходный результат.

Пропустил я момент, когда перестали валидироваться некоторые типы н.п.: http://atd.osm.rambler.ru/r3358491.html
Может им ОКТМО добавить, или когда-то починится?

Почему валидатор выдает ошибку “Контур не задан” для отношения https://www.openstreetmap.org/relation/7013876#map=10/51.4343/102.4262

Это сельское поселение Харбяты http://atd.osm.rambler.ru/r194275.html
Ошибка эта появляется потом и выше: Харбяты->Тункинский район-> Бурятия → Сибирский федеральный округ

И еще что нужно сделать, чтобы нашлось Кыренское поселение. У него отличия от других (которые нашлись) вроде только в том, что остальные названы: “сельское поселение Аршан”, а это “Кыренское сельское поселение”.

Страница валидатора http://atd.osm.rambler.ru/r194275.html

Само отношение: https://www.openstreetmap.org/relation/7013874#map=10/51.5767/101.9956

Заранее спасибо.

Я заметил что iWowik только что правил поселения, может они уже исправлены? Кыренское в последнем отчёте уже сопоставилось, сельское поселение Харбяты по ночным данным ещё выдаёт ошибку “Контур не замкнут”. Я бы подождал день чтобы убедиться что ошибка осталась. Верификатор границ (http://analyser.openstreetmap.fr) почему-то не видит это отношение, я не готов сказать есть там сейчас ошибка или нет. Вероятность ошибки валидатора минимальна, но теоретически могут быть проблемы с дампом, а их искать не очень легко.

НП которые будки и казармы это “больное место”. Где проходит грань между статусной частью и названием НП? Деревня Ивановка - здесь очевидно. Посёлок Петровка - ОК, посёлок при ж/д станции Сидоровка … хорошо, принимаю.

А где статус и название НП в случае таких объектов: ж/д остановочная платформа 1046 км, ж/д путевой пост №45, ж/д блокпост №45, ж/д казарма 1045 км, железнодорожная водокачка №1, ж/д площадка посёлка Мишкино?

Если ответ покажется очевидным то вот примеры без ж/д в начале: база отдыха комбината “Искож”, дом отдыха “Сокол”, Кордон №5, лесоучасток Каменный перебор, отдельный дом Любимово, турбаза “Ладога”.

Поэтому в валидаторе использован такой подход. Использован стандартный тип НП (подсмотрен в ОКАТО/ОКТМО) как статус, всё остальное - название. ж/д оказалось пограничным случаем. Т.е. “ж/д путевой пост №45” рассматривается как полное название (точнее official_name), в котором невозможно явно выделить статус/название. Поэтому валидатор ожидает такое:

Правильно ли это - не могу сказать, но писать:

рука не поднимается …

Предлагайте лучшие варианты!

А как быть в случае, когда где-нибудь на отшибе люди живут постоянно?

В перечень официальных населенных пунктов оно не входит. Помечено place=isolated_dwelling

В валидаторе они красным подсвечены. С ними желательно что-то делать или оставлять как есть?

isolated_dwelling, сколь знаю, как раз и предназначался для обозначения таких отдельных мелких жилых территорий.

Я могу пока предложить только за казарму. Как я понял казарма в данном случае может быть только железнодорожная, и там где просто Казарма и там где ж/д казарма. Это похоже уже на устойчивую статусную часть. Далее идёт километровая метка. Поэтому в целях полной унификации можно их всех привести к формату, например,
official_status=ru:железнодорожная казарма
name=101 км
По жд вариантам с километровой меткой где также очевидно всё - сделать также.
Для других случаев для определения выделять в статус или название можно провести анализ ОКТМО сродне taginfo на частоту встречаемости. И посмотреть результаты. И там уже что-то предпологать. Как вариант, все единичные уникальные варианты - ru:населённый пункт, name=полное название.

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

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

Ж/д казармы вынесены в отдельный тип НП, т.е.

отрабатывается.

Но это скользкий путь. Как известно, существует … да, вы правильно поняли, населённый пункт “Железнодорожная казарма”, в Брянской области, Комаричском районе. Как такой НП тегировать

Поэтому всё же предпочту не ломать текущую схему где используется official_name - не придётся ломать голову и выделять name в НП типа “ж/д комбинат 386 км”.