Технически эта задача решается просто - создать дополнительную таблицу куда заносить такие неофициальные населённые пункты. Но организационно не всё понятно. Каковы критерии внесения таких деревнь-призраков? Так можно надобавлять много чего, выселки, пригороды, дачи, части деревни и т.п. Это чревато определённой кашей.
Я бы предложил просто по аналогии с official_status=ru:деревня ввести параллельный unofficial_status=ru:деревня чтобы выделять официально не существующие НП от официально существующих в данном поселении. А валидатор встретив такой (или другой, его нужно будет определить) тег просто игнорирует запись.
Почему решение через теги предпочтительнее? Сегодня один валидатор, завтра другой, потом третий. Один человек парсит данные, другой. И каждый будет натыкаться на такие НП с которыми непонятно что делать. А увидев некий тег-признак существующего но не оформленного официального НП либо игнорирует такой НП либо использует.
В общем это один из вопросов к которому стоит вернуться в ближайшее время.
Так пока ещё бета - я постоянно правлю код по живой базе и какая-нибудь неудачная правка и прогон заваливается. Вот когда всё устаканится тогда да, можно будет говорить про стабильность расписания.
Ну а проверки геомерии осмысленно делать “на лету” и в данном случае действительно лучше просто ссылаться на внешние ресурсы которые заточены именно на такой тип задач. Проверка геометрии это задача стандартных верификаторов, которым всё равно какие отношения/линии проверять. А валидатор АТД в первую очередь нацелен именно на полноту/адекватность данных АТД, хотя геометрическая составляющая тоже велика.
Да, похоже какая-то бага в базовом алгоритме, это обычный эксклав, границы не сломаны. Посмотрю когда будет времени немного побольше - там ненароком и сломать что-то недолго.
Upd: локализовал функцию возвращающую неверное значение, надо будет потрассировать вызов в какой-нибудь относительно свободный момент времени. Или индекс неверно сформировался или начальная точка контура неверно выбралась.
Нужно сократить заголовки, особенно в узких и/или неиспользуемых колонках. Например, “Численность населения” → Нас., Википедия → [иконка википедии], а особенно “ошибки геометрии” и “онлайн проверка” чтобы пустые колонки не разъезжались занимая место по горизонтали и не приводили к переносам в других колонках на узких мониторах. Ну и мелкую иконку википедии надо рядом положить, а не тянуть с ucoz-помойки. Да, и в табличках сверху (где языки и статистика) нужно сделать хотя бы какой-нибудь фон для ячеек.
Иконка бы вроде локальная (http://atd.osm.rambler.ru/res/wiki-logo.png).
А вот заголовки таблицы да, лучше их сделать в две строки. А для колонок “157 из 970” я бы сделал форматирование по-правому краю, а ОКТМО по центру.
В колонке “OSM ID” сделть грид на 3 ячейки и размещать точки, линии, отношения на своём месте.
http://atd.osm.rambler.ru/r383513.html
Зуевское городское поселение сельское поселение Зуевка 0 из 8 33614408 …
Зуевское сельское поселение городское поселение 0 из 1 33614101
а должно быть наверно наоборот.
Еще валидатор не понимает схемы когда внутри полигона place=xxx есть точка place=xxx, в которой хранится вся инфа (название и т.п.) Если указать на полигоне name, такое же как на точке - то все будет ок.
Это и есть правильная схема. А просто точка с place без name неправильно.
А вот то что наборы тегов с полигона и точки объединяются у меня есть сомнения.
Сколько уже маплю, до сих пор мне непонятно зачем дублировать name (как и остальную информацию) на полике/точке. есть полигон, есть внутри точка - сопоставили. ну или релейшен придумать. А то как костыль какой-то выглядит.
Так ошибки очень тяжело искать. Т.к. некоторые типы place допускают вложенность друг в друга (типа suburb внутри city и т.п.), то при малейшей ошибке такое сопоставление легко будет ошибочным, и это будет трудно обнаружить. Дополнительный контроль по name будет естественным дополнением, его сделать легко и просто.
Да, это ошибка связанная с ограниченностью проверки типов объектов. Технически это решается просто, но тут вопрос идеологический, его обсуждение требует времени которого у меня сейчас нет. В общем пару недель это ошибка повисит, потом я её исправлю.