Универсальный валидатор (рутинг, адресация) на базе конвертации в СГ

Вот это новость!
Данные, конечно, содержат массу ошибок. Так именно их и нужно выявлять, а не сначала отсекать ошибки конвертером, а только потом валидировать, что останется.

Это очень серьезный недостаточк данного валидатора.
И рано или поздно, от него нужнор будет избавиться.

Это - еще один недостаток используемого подхода.

Это так.
Но, увы, значительная часть ошибок отсекается конвертером и потому не диагностируются валидатором. А другая часть - наведенные ошибки, котороых нет в OSM, но которые появляются либо за счет нарезки данных на мелкие кусочки, а часть - за счет потери информации при конвертации.

Чтобы валидировать адресный реестр и дорожный граф, которые валидирует данный валидатор, их нужно сперва построить, потому что сырые осм-данные в их в однозначном виде не содержат. Я думал это уже не секрет.

А это новость для меня. :slight_smile: Что конкретно отсекается?

Кирилл, не обращай внимания, последние полгода andriano кроме троллинга в полезном замечен не был.

Напишите валидатор лишенный этих недостатков. А мы пока этим попользуемся.

…да и насчет троллинга есть разные мнения о его полезности.

Отсекается все, что конвертер не сумел распознать как валидные данные. В том числе те данные, которые содержатся в OSM, но не требуются для целевой программы т.е. Ситигида.

Строго говоря, валидация после отсечения невалидных данных - это немного странно.

PS. Заодно попытайся объяснить, почему с точки зрения проверки адресации есть разница между пешеходной улицей и проезжей?

Я, кстати, тоже им пользуюсь. И именно поэтому сталкиваюсь с его недостатками.

Странный наезд, такое ощущение что ты думаешь, что тебя обманули. А ведь в топике написано валидация на базе конвертации в СГ, а не валидация данных ОСМ.

Глупости, ничего тут странного.
Ошибки бывают разного уровня (например, лексические-синтаксические-семантические в языках), и проверяются они на соответствующих уровнях.

Без конкретных данных не поймешь в чем ошибка. andriano это тебе.
Теперь по теме.
Вижу на странице ошибок:http://peirce.gis-lab.info/qa/RU-SA

Изоляты - все дороги (residential/unclassified и выше)

  1. http://www.openstreetmap.org/edit?lat=63.7198722&lon=124.023366&zoom=17 там вообще дорог нет .
    12 http://www.openstreetmap.org/edit?lat=62.4834962&lon=138.9690504&zoom=17 тайга матушка.
    5 http://www.openstreetmap.org/edit?lat=66.3432909&lon=143.1504328&zoom=17
    9 http://www.openstreetmap.org/edit?lat=59.3385806&lon=111.5302386&zoom=17
    думаю координаты тупят просто. Оптимальное решение давать еще ID (номер) объекта
    Города без населения
    Название
    Покровск
    Ленск
    Мирный
    Вилюйск
    Айхал
    Петропавловск
    Нерюнгри
    Депутатский

Как ни страно везде было население правда написано через одно место 10 540 с пробелом.Оптимально перегонять из формата тексового в формат цифири.
А в остальном ошибки которые надо править и это правильно.

Валидатор подавился адресацией в Витебской области, java-версия где то что то пропустила при проходе. Просьба посмотреть что там не так…

http://peirce.gis-lab.info/qa/UA-E/addr/4
Шо не так с улицами Донецкой и Кирова в Харькове?
Валидатору не нравится привязка улиц к addr:suburb? Но в городе есть и другие улицы с привязкой к suburb, например, Бакулина. На них валидатор не ругается. Привязка улиц к suburb сделана чтобы “развести” одноимённые улицы.

Может, точки с place=suburb слишком далеко от веев улиц?

Вот, правильно! С изолятов и начнем! :slight_smile:

У Донецкой неправильный name в отношении: http://www.openstreetmap.org/browse/relation/2391454/history
У домов по Кирова наверное нужно удалить addr:suburb с домов оставив его только на отношении, при этом на линиях улиц оставив addr:suburb:)

Ну, ИМХО, для начала можно сделать мини-валидатор, ругающийся на перекрещивание (без узла) веев, имеющих тег highway (оба вея должны иметь тег highway) и не имеющих тег layer (хотя бы один вей должен иметь тег layer).
Кроме того, валидатор должен ругаться на узлы, находящиеся на конце или начале вея с тегом highway (пожалуй, кроме service, footway, path) и не привязанные к другому вею с тегом highway и не имеющие тега noexit=yes.

Согласен. Поправил.

Не согласен. Вроде мешать не должно. Там addr:suburb прописан и в тегах релейшена, и в тегах веев, и в тегах домиков.
При конвертации в польский формат теги addr:suburb либо затрутся тем же тегом из релейшена, либо останутся на месте.

Мне кажется что так уверенно утверждать нельзя, osm2mp очевиден и понятен только его автору.
Тогда поставьте домам и addr:street если жалко удалять addr:suburb. Должно быть либо и то и то, либо ничего.

Открывайте http://keepright.ipax.at и наслаждайтесь.

Спасибо. Добавил в закладки.

Пока не охота с геометрией возиться :wink:

А что? Тупики следующим делом!

Пока попробовал вчерне распечатать
разбивку по кластерам дорог разного уровня. Проблемы всё те же — надо отсекать соседние регионы (где-то в ветке про всё это было)
Брянская область
Kурская область
Нижегородская область
Псковская область
Смоленская область

сомневаюсь :frowning:

Пожалуй, вы правы. Вообще-то, я прописал домикам addr:suburb только потому, что сомневался, что лёшин конвертер будет переносить addr:suburb из тегов релейшена в тег домика. Но Лёша писал, что вроде бы уже наладил перенос всех адресных тегов, а не только названия улицы. Так что, скорее всего, addr:suburb с домиков и веев можно убирать, а оставить только в релейшене.