Вместо стандартных 4-х часов валидатор работал почти 9 часов. Но возможно причина не только в кривизне оптимизации а в том что границы аж двух регионов оказались сломаны - Тверской области и Смоленской области!
А алгоритмы частично оптимизированы под то что границы регионов живые, в случае разломанных границ валидатор идёт по неоптимизированной ветке а там реально всё медленнее. Но по любому после окончания оптимизаций эта проблема не будет стоять так остро, просто будет некоторое замедление работы.
И да, почините, пожалуйста, границы. Иначе валидатор будет слишком долго работать …
У меня дамп вчерашний, утренний. В нём граница России не сломана, но ничто не мешало сломать её позже. Её проще проверить в JOSM - результат проверки целости границы будет актуальным (хотя и придётся подождать пока границы загружаются).
Поскольку из-за массово порушенных границ валидатор навыдавал гору ошибок которые, как я надеюсь, неактуальны, то решил не выкладывать результаты текущего прогона. Сегодня попрофилирую самый медленный алгоритм, и или найду багу у себя или пойму что поломанные границы настолько критичны для текущей версии алгоритма. Завтра скачаю утренний дамп и на нём попробую получить более чистый прогон. Заодно и поймём насколько удалось восстановить границы.
Из мелочей - теперь обрабатываются isolated_dwelling, а admin_level=9 почему-то всё равно обрабатывается с ошибками - постараюсь сегодня ещё раз глянуть туда.
Все там режется правильно, просто обрезка осм-данных по полигону задача не тривиальная.
Единственный фокус - нужно обрезать с нахлестом. Это гарантирует попадание всех нужных данных.
Может не совсем по теме, но я правильно понимаю, что для того чтобы проверить принадлежность НП региону (в общем случае любой node любой area), нужно решить задачу локализации точки в многоугольнике?
Все равно было бы неплохо регулярно выкладывать данные, пусть часть и побита, но часть же должна обновиться нормально.