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

Обрабатывал адреса у себя в области и нашёл десяток населённых пунктов, где их границы налазили на границы МО. Т.е. в итоге правило геометрической вложенности не работало, хотя валидатор говорит всё ОК. Подозреваю, что сначала ищутся точки в пределах нужного МО, а затем охватывающих их полигон. В итоге полигон 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 км”.

Мапим не под валидатор а под реальное положение дел. Тем не менее “красный” это повод задуматься и свериться со здравым смыслом. Открываем вики:

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

Но как показывает реальная практика использования в ОСМ place=isolated_dwelling ставится на отдельный крепкий дом, с тегом name типа “Дом”, “Изба”, “Ферма”, “Кордон”, “Пасека”, “Зимовье” или просто пустое имя. Зачем такие отдельностоящим домам давать признак населённого пункта с таким странным name? Только для того чтобы в рендере этот дом был бы виден издалека? Но это маппинг под рендер.

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

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

Поэтому ставя place=isolated_dwelling и видя в валидаторе “красный” желательно задаться вопросом - это недоработка официальных органов которые не хотят (или не считают нужным) утвердить данный пункт как официальный либо это не населённый пункт предназначенный для круглогодичного проживания. Для меня критичным является степень “официальности” названия.

Судя по всем дамп России от ГИС-Лаба сломан. Валидатор отбраковывает этот вей - http://www.openstreetmap.org/way/477364053
Валидатор видит что вей невалиден и просто отбрасывает его. Нужно смотреть по точкам (а там их 132) что не так и корёжить дамп ручками. Это требует какое-то время, поэтому гляну не сегодня/завтра (праздники).