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

Технически эта задача решается просто - создать дополнительную таблицу куда заносить такие неофициальные населённые пункты. Но организационно не всё понятно. Каковы критерии внесения таких деревнь-призраков? Так можно надобавлять много чего, выселки, пригороды, дачи, части деревни и т.п. Это чревато определённой кашей.

Я бы предложил просто по аналогии с official_status=ru:деревня ввести параллельный unofficial_status=ru:деревня чтобы выделять официально не существующие НП от официально существующих в данном поселении. А валидатор встретив такой (или другой, его нужно будет определить) тег просто игнорирует запись.

Почему решение через теги предпочтительнее? Сегодня один валидатор, завтра другой, потом третий. Один человек парсит данные, другой. И каждый будет натыкаться на такие НП с которыми непонятно что делать. А увидев некий тег-признак существующего но не оформленного официального НП либо игнорирует такой НП либо использует.

В общем это один из вопросов к которому стоит вернуться в ближайшее время.

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

всё еще актуально :slight_smile:

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

Upd: локализовал функцию возвращающую неверное значение, надо будет потрассировать вызов в какой-нибудь относительно свободный момент времени. Или индекс неверно сформировался или начальная точка контура неверно выбралась.

fserges, спасибо за ответы!

Вот ешё бы с буквой “ё” разобраться http://atd.osm.rambler.ru/r3351846.html :roll_eyes:

fserges, пуллреквесты принимаешь?
Я тут себе css накидал, дабы новый валидатор был чть больше похож на прежний:

body { background-color: white}

table, th, tr, td {
    border: 3px solid white;
    border-collapse: collapse;
}

img[src*="wiki"] {
    display: block;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background: url(http://wecwf.ucoz.ru/icon/wiki.png) no-repeat;
    width: 16px;
    height: 16px;
    padding-left: 20px;
}

table, th {font: 15px/20px arial,sans-serif}

th {color: gray}

Немного изврата с затиранием стилей, но общая мысль, надеюсь, ясна :slight_smile:

Конечно принимаю! Попробую сегодня прикрутить. Стиль прежнего валидатора мне нравился :slight_smile:

Валидатор обновился, никакие из алгоритмов не правились. С css-кой и ошибками позанимаюсь немного позже.

Спасибо, css поправил на предложенные выше. Дальнейшие соображения по поводу улучшения представления страниц приветствуются :slight_smile:

Нужно сократить заголовки, особенно в узких и/или неиспользуемых колонках. Например, “Численность населения” → Нас., Википедия → [иконка википедии], а особенно “ошибки геометрии” и “онлайн проверка” чтобы пустые колонки не разъезжались занимая место по горизонтали и не приводили к переносам в других колонках на узких мониторах. Ну и мелкую иконку википедии надо рядом положить, а не тянуть с 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 будет естественным дополнением, его сделать легко и просто.

Да именно так, отсутствие name легко приводит к ошибкам. А проверка согласованности тегов на точке и линии будет сделана немного позже.

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

fserges, выложи куда нибудь код html и css. Я поправлю. А то сейчас ты вкрутил мои грязные хаки, что совсем не обязательно :slight_smile:
P.S. Лучше сразу на GitHub