хм, мне помнится что Дежин высказывался что выслать может и уже кому-то высылал. т.е. исходники несекретны…
ну а читаемость и функциональность “братья навек”, тут ничего не поделаешь.
если ничего не путаю, когда накрылся валидатор Дежина, сохранилась небольшая часть
то что сохранилось использовалось еще где-то и в итоге попала на GitHub https://github.com/nextgis/osm_adm
Обрабатывал адреса у себя в области и нашёл десяток населённых пунктов, где их границы налазили на границы МО. Т.е. в итоге правило геометрической вложенности не работало, хотя валидатор говорит всё ОК. Подозреваю, что сначала ищутся точки в пределах нужного МО, а затем охватывающих их полигон. В итоге полигон place с границей МО не сравнивается
У wowik кстати тоже всё зелёным без ошибок.
http://wowik.000space.com/places/ru/err.php?err=35
Часть ошибок у меня косвенно вылазит чуть позже в виде того, что объект имеет родителя в которого реально не попадает. Например входит в НП некоторого района (тем самым наследует его явно и неявно заданные addr:*), а в сам район не попадает.
В своё время я обращал внимание любителей наносить границы поселений, что нанесенные границы бьют НП, часто из-за грубости привязки да и самих карт поселений.
В некоторых случаях в Сибири и Кавказе был сдвиг на на сотни метров, что хорошо было видно при сравнении с кадастром.
Я считаю, что с небольшими перекрытиями границ смысла бороться нет, по крайней мере пока в перекрытие не попадают значимые объекты.
Тяжело и лениво рисовать границы НП в точности по границам районов/поселений/соседей и т.п. мы ж утоним в убитых полигонах!
Не представляю. Базу не использую.
Куда попадает неточечный объект я проверяю по попаданию какой-нибудь одной точки, лежащей внутри объекта. Это и быстро, и в приближении непересекающихся границ абсолютно точно.
А уже отдельным проходом можно проверить результат, но это уже не поиск по всем возможным родителям, а проверка правильности конкретного найденного.
Обновился ОКТМО в очередной раз. На этот раз изменения очень локальные - ещё 3 муниципальных района в Калининградской области стали городскими округами (осталось всего 3, я так понимаю это вопрос ближайшего времени), появилось Ново-Бенойское СП в Чечне (уже отрисовано в ОСМ). Ввиду этого было/стало делать не буду - там всё очевидно. Сегодня валидатор построился по старому справочнику, завтра будет по новому.
По причинам описанным в теме Населённые пункты входящие в несколько регионов/федеральных округов с прошлой недели валидатор выделяет посёлок Центральный как объект высшего порядка АТД РФ (он не входит ни в один из федеральных округов, т.е. не является частью ни одного из макрорегионов России).
Поскольку алгоритмического способа (прописанного в Вики) разрешения этой ситуации не существует то придётся оставить как есть - валидатор будет выделять Российскую Федерацию и посёлок Центральный.
Валидатор в данном случае эмулирует работу абстрактного конвертера который пытается построить иерархию АТД некой страны используя данные ОСМ, поэтому получит сходный результат.
Пропустил я момент, когда перестали валидироваться некоторые типы н.п.: http://atd.osm.rambler.ru/r3358491.html
Может им ОКТМО добавить, или когда-то починится?
Это сельское поселение Харбяты http://atd.osm.rambler.ru/r194275.html
Ошибка эта появляется потом и выше: Харбяты->Тункинский район-> Бурятия → Сибирский федеральный округ
И еще что нужно сделать, чтобы нашлось Кыренское поселение. У него отличия от других (которые нашлись) вроде только в том, что остальные названы: “сельское поселение Аршан”, а это “Кыренское сельское поселение”.
Я заметил что iWowik только что правил поселения, может они уже исправлены? Кыренское в последнем отчёте уже сопоставилось, сельское поселение Харбяты по ночным данным ещё выдаёт ошибку “Контур не замкнут”. Я бы подождал день чтобы убедиться что ошибка осталась. Верификатор границ (http://analyser.openstreetmap.fr) почему-то не видит это отношение, я не готов сказать есть там сейчас ошибка или нет. Вероятность ошибки валидатора минимальна, но теоретически могут быть проблемы с дампом, а их искать не очень легко.
НП которые будки и казармы это “больное место”. Где проходит грань между статусной частью и названием НП? Деревня Ивановка - здесь очевидно. Посёлок Петровка - ОК, посёлок при ж/д станции Сидоровка … хорошо, принимаю.
А где статус и название НП в случае таких объектов: ж/д остановочная платформа 1046 км, ж/д путевой пост №45, ж/д блокпост №45, ж/д казарма 1045 км, железнодорожная водокачка №1, ж/д площадка посёлка Мишкино?
Если ответ покажется очевидным то вот примеры без ж/д в начале: база отдыха комбината “Искож”, дом отдыха “Сокол”, Кордон №5, лесоучасток Каменный перебор, отдельный дом Любимово, турбаза “Ладога”.
Поэтому в валидаторе использован такой подход. Использован стандартный тип НП (подсмотрен в ОКАТО/ОКТМО) как статус, всё остальное - название. ж/д оказалось пограничным случаем. Т.е. “ж/д путевой пост №45” рассматривается как полное название (точнее official_name), в котором невозможно явно выделить статус/название. Поэтому валидатор ожидает такое:
Я могу пока предложить только за казарму. Как я понял казарма в данном случае может быть только железнодорожная, и там где просто Казарма и там где ж/д казарма. Это похоже уже на устойчивую статусную часть. Далее идёт километровая метка. Поэтому в целях полной унификации можно их всех привести к формату, например,
official_status=ru:железнодорожная казарма
name=101 км
По жд вариантам с километровой меткой где также очевидно всё - сделать также.
Для других случаев для определения выделять в статус или название можно провести анализ ОКТМО сродне taginfo на частоту встречаемости. И посмотреть результаты. И там уже что-то предпологать. Как вариант, все единичные уникальные варианты - ru:населённый пункт, name=полное название.
Валидатор по-прежнему видит сломанные границы, хотя визуально проблем не вижу. Очень похоже на сломанный дамп (который берётся в ГИС-лабе). К сожалению проверка этого - ручная операция которая требует некоторое время, которого у меня пока нет. Постараюсь разобраться с этим в понедельник/вторник.
ОК, по казармам могу сделать исключение - сделаю как написано. На сайте должно будет обновиться ко субботе так как данным нужно будет протечь через обновления.
Но это скользкий путь. Как известно, существует … да, вы правильно поняли, населённый пункт “Железнодорожная казарма”, в Брянской области, Комаричском районе. Как такой НП тегировать
Поэтому всё же предпочту не ломать текущую схему где используется official_name - не придётся ломать голову и выделять name в НП типа “ж/д комбинат 386 км”.