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

Валидатор обновился на утренний дамп. Принципиальных изменений нет, просто прогон на новых данных. Из нового - попробовал перейти на pbf → osmconvert → osm. Всё вроде нормально, но получилась ерунда с кавычками, нужно разбираться на каком этапе это происходит.

Из добавленного вчера не опознались два СП:

Уницкое тут: http://atd.osm.rambler.ru/r570637.html
Отрадновское тут: http://atd.osm.rambler.ru/r959859.html

в данных на вид всё нормально, остальные СП добавленные одновременно с этими нормально обработались.

Я в этом прогоне в спешке забыл включить проверку границ на замкнутость. Глянул на Отрадновское и обнаружил что Мышкинский район разорван. Соответственно быстрый метод на вложенность дал неверный результат. В общем нужно править Мышкинский район а мне включить проверку границу в прогон по умолчанию.

Уницкое пропало из-за сломанности границ Кесовогорского района.

Имхо, замкнутость границ соседних районов вообще не должна влиять на текущий.

Кажется ещё не находит ГП с полными названиями: http://atd.osm.rambler.ru/r389669.html

Хм… а тогда чего он osmID выводит раз не нашёл. Скорее всего что-то да ему не понравилось.
А вот с ё непонятки. На странице http://atd.osm.rambler.ru/r1760248.html валидатор ожидает “Озерское”, а имеется “Озёрское сельское поселение”, с ё указано на сайте района, так что тут гадать нечего.

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

Тут рука у меня дрогнула и не захотел забивать префикс "Городское поселение Город " как валидный. Вроде бы и корректное название, но его длина смущает, хотя и не является избыточной как “муниципальное образование город Курган”. Конкретно в данном случае проблема решается добавление одной строчки в функцию нормализации имени. Если скажете что это нормальное написание, добавлю эту строчку сегодня.

Совпадение это когда коду объекта в ОСМ сопоставился код ОКТМО (грубо, так как есть некоторое количество не имеющие кодов ОКТМО, например, федеральные округа).

Ну это значит я у себя не доглядел :slight_smile: Я стараюсь следить за “ё” но сказать что проверил все поселения - не могу. Исправил. Спасибо!

Я думаю это единственное правильное написание (только регистр всей статусной части должен быть нижний):

  • без сокращений
  • настоящее название
  • отличается от “XXX” и “город XXX” чтобы в адресах не было “город XXX - город XXX - улица YYY”
  • на карте вроде как не рисуется, так что в этом плане проблем не сулит (хотя если рисутеся, опять таки будет понятно к чему относится, а не второй “город XXX” где-то в чистом поле

только не понял зачем тут что-то добавлять, когда это название по идее должно появиться автоматически из ожидаемых названия и статусной части. Если добавлять, то очевидно что понадобятся также “городское поселение посёлок” и т.д.

грош цена такому валидатору, под который нужно еще убеждать автора в правильности данных

ОК, поправил. За регистром я пока смотреть не буду, пока основную структуру довести бы.

Кстати, а не ли возможности прогнать что-то вроде причёсывалки названий улиц на названия муниципальных образований (хотя бы привести регистр к единому виду) и по official_status (там вообще зоопарк). Такой бот не разрушает никаких данных но стандартизирует данные для последующей автоматической обработки.

Не очень понятна мысль, если честно. Валидатор находится в состоянии беты и далёк от идеала, все вопросы сразу не решаются а решаются в соответствии с внутреними приоритетами. Дойдут руки и до Краснодарского края. Решений которые устраивают всех не бывает (вот Zkir не любит “ё” и всё тут), поэтому будут те или иные компромиссы. Сейчас я в эти дебри даже лезть не хочу.

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

Значок ссылки на википедию можно уменьшить раза в четыре : )

Да и ещё добавить favicon.ico а то трудно найти нужную закладку.

И дату проверки на глагне хотелось бы видеть, всего-то пара строчек кода.

В воскресенье хорошо перекорёжил код, в основном под будущие изменения. В частности добавил оптимизаций в основной алгоритм который пока отнимает больше всего времени. Я ожидал ускорения на 20-30% но на тестовой выборке в 1000 нп скорость увеличилась всего на 5%. Потом оптимизировал ещё. Сегодня запустил валидатор на утреннем дампе. В итоге оказалось что всё стало работать безумно медленно. Валидатор работал на 30% времени дольше чем обычно и до конца ему было работать и работать, я уже ушёл с работы. Такой вот неожиданный результат “оптимизаций”, но в бете это ожидаемо.

Надеюсь что завтра утром валидатор отработает и я опубликую его результаты (если конечно ещё проблем не обнаружится). И потом буду профилировать работу чтобы понять чего же это я так наоптимизировал :frowning:

“Богатыри - не мы”. Сколько ни пробовал ради общего развития изучать основы программирования - дальше “Хеллоу, Вёрлд!” не продвинулся. Извините за офтоп…

fserges: ты бы исходники выложил - глядишь можно было и нужную фичу самому сделать тебя не дёргая, и попрофайлить.