Щогодинна валідація

Основна сторінка:
http://pavlo-dudka.github.io/osm-pg-tests
RSS-стрічка:
http://pavlo-dudka.github.io/osm-pg-tests/test.rss

Код валідатора:
https://github.com/pavlo-dudka/osm-pg-tests
GitHub Pages:
https://github.com/pavlo-dudka/osm-pg-tests/tree/gh-pages

Ліричний вступ…
Все почалося з того, що Lindroid поцікавився чи запрацює колись валідатор Котяры “Где не хватает дорог”.
Оскільки не працював він досить довго, то я спробував виконати валідацію самостійно. Спочатку в ручному режимі, потім в автоматизованому.
Так з’явився валідатор Бездоріжжя України(карта, таблиця).

Потім мені зустрілося чимало доріг, що перетинаються, але не мають спільної точки і так з’явився Валідатор Перетинів(карта, таблиця).
А потім і Круті Розвороти(карта,таблиця), Висячі Точки(карта,таблиця)(показує кінцеві точки ліній, які знаходяться в околі 5м іншої лінії).

У відповідь на поламаний мультиполігон Дніпра з’явився Валідатор Мультиполігонів(карта,таблиця)(перевіряє тільки полігони з тегами landuse,natural,waterway,place; можна додати й інші). Показує крайні точки ліній мультиполігону, які(тобто точки) включені тільки в одну лінію.

09.06.2013 додано Валідатор street/associatedStreet-зв’язків(карта,таблиця), що перевіряє чи співпадають name:-теги зв’язку і name:-теги ліній з роллю street, а також чи співпадають name зв’язку і addr:street(якщо задано) ліній з роллю address або house.

17.01.2014 додано Інший валідатор street/associatedStreet-зв’язків(карта,таблиця), що шукає зв’язки поруч з якими є об’єкти з ідентичним name/addr:street, що не включені в зв’язок.

12.02.2014 додано Ще інший валідатор street/associatedStreet-зв’язків(карта,таблиця), що відображає associatedStreet-зв’язки, частина об’єктів яких знаходиться поза межами міста.

16.04.2014 додано Ще інший валідатор street/associatedStreet-зв’язків(карта,таблиця), що відображає об’єкти включені в більш ніж один associatedStreet-зв’язок.

16.09.2014 додано Валідатор кінцевих точок(карта,таблиця), що відображає тупики ліній високого рівня(від secondary), а також точки де закінчуються або починаються oneway-лінії.

18.09.2014 додано Валідатор міст та смт(карта,таблиця), що відображає міста та смт для яких не знайдено лінії чи звязку кордону.

20.11.2014 додано Валідатор річок(карта,таблиця), що відображає річки та струмки з ненульовим layer, за виключенням tunnel=culvert та bridge=aqueduct.

04.12.2014 додано Валідатор дорожніх островів: tertiary(карта,таблиця), unclassified(карта,таблиця), service(карта,таблиця), track(карта,таблиця), що відображає групи доріг, до яких немає доступу з інших доріг.

03.03.2015 додано Валідатор входження населених пунктів до районів(карта,таблиця), що відображає населені пункти, які знаходяться в “чужому” районі.

Валідаторів немало, відкривати кожне посилання окремо незручно.
Тому з’явилась RSS-стрічка:
http://pavlo-dudka.github.io/osm-pg-tests/test.rss
По цьому ж посиланню можна переглянути короткий звіт усіх валідацій. (Для хрому потрібен extension)

Валідація відбувається щогодини. Це основний плюс валідатора.
Розпочинається на п’ятій хвилині кожної години і завершується десь на тридцятьп’ятій.

Приймаються відгуки і побажання.
Запрошуються усі бажаючі повиправляти помилки osm-даних :slight_smile:

Усе супер, тільки прошу додати кнопки масштабування ще й до Зиґзаґів, а то на телефоні неможливо змінити масштаб :slight_smile:

дивно, у мене на телефоні все ок
можливо недозавантажилась сторінка?

Працює, підтверджую

Було б гарно, якщо в стрічці новин (RSS) була б присутня дата й час для кожного рядка

Так як зараз?

Фраза
MULTIPOLYGONS - 70 error(s) found at 07.08.2013 13:20:15.98
не означає, що перевірка не відбувалась після вказаного часу.
Перевірка відбувалась, але жодних змін не помічено: ні виправлень, ні нових помилок.

ALMOST.JUNCTIONS - 0 error(s) found

та й все

PS. Подивився XML - час дата є %), а от ні в Feedly, ні в інших RSS-агрегаторах часу не бачу

Додано Валідатор street/associatedStreet-зв’язків, що перевіряє чи співпадають name:-теги зв’язку і name:-теги ліній з роллю street, а також чи співпадають name зв’язку і addr:street(якщо задано) точок/ліній/звязків з роллю address або house.

А можна десь сорці глянути, що генерують geojson-и з помилками? Як взагалі побудована щогодинна валідація?

чудово, вже виправив у себе кілька помилок :slight_smile:

З часом опублікую.
Ось для прикладу запит, що шукає помилки street-звязків:


http://dl.dropboxusercontent.com/u/14107903/test/sql/osm.street.relations.sql
"c:\Program Files\PostgreSQL\9.2\bin\psql.exe" -A -t -U postgres -w -d osm -p 5432 -f osm.street.relations.sql -o street.relations.geojson

Наступний код завантажує pbf України годинної давності, він завантажується в базу даних PostgreSQL, потім запитами створюються geojson-файли, файли копіюються в мій DropBox, саме вони й відображаються на простій html-сторінці з Leaflet-картою.


if not exist UA.osm.pbf (wget.exe http://data.gis-lab.info/osm_dump/dump/latest/UA.osm.pbf)
rename ua.osm.pbf ua.0.pbf
osmupdate.exe UA.0.pbf ua.osm.pbf --hour -v -B=ua.poly --keep-tempfiles
if exist UA.osm.pbf del ua.0.pbf
if exist ua.0.pbf rename ua.0.pbf ua.osm.pbf

Попередньо потрібно скачати UA.poly і osmupdate

Код валідатора викладено на GitHub.
Результати валідації щогодини комітяться туди ж.
Всі веб-сторінки теж там.
На dropbox’і все існуватиме як і раніше, але з часом я це відключу.

Додано дуже простеньку “основну” сторінку:
http://pavlo-dudka.github.io/osm-pg-tests

Посилання на окремі сторінки валідатора також оновлено в першому повідомленні цієї теми.

Користуючись нагодою дякую andygol і ~Jhellico, які утримують кількість знайдених помилок близькою до нуля :slight_smile:

Не працює в Opera 12((

Дещо поправив. Схоже, що тепер працює.

Вчора додав можливість перегляду деяких помилок знайдених валідатором Zkir’a в рамках мого валідатора: http://pavlo-dudka.github.io/osm-pg-tests .
Робилося це тому, що на http://peirce.zkir.ru/qa дані по Україні розбиті на 5 частин, а тут все буде разом.

Дякую, у мене також все працює.

додано валідатор street/associatedStreet-зв’язків, що шукає навколишні об’єкти з ідентичним name/addr:street, що не включені в зв’язок

dudka, дякую. Було б добре, якби валідатор також повідомляв про ті вулиці, де зв’язок відсутній взагалі, але поруч є будинки з addr:street.

Зможу зробити і таку перевірку. Але давайте спочатку подивимося чи знайдуться бажаючі доповнити існуючі зв’язки іншими об’єктами. Хоча б у своїх містах.

dudka що значить інформація на сторінці street.relations.o?

http://pavlo-dudka.github.io/osm-pg-tests/test.html?street.relations.o
Це звязки, які принаймні двома точками належать вказаному в деталях місту, але при цьому хоча б двома точками знаходяться поза його межами.

Є кілька досить критичних помилок, наприклад http://www.openstreetmap.org/relation/2085011
Переважна більшість - лінія вулиці виходить на кілька сотень метрів за межі міста.

Не афішував, оскільки, можливо, серед знайдених звязків є й такі, що цілком коректні.

Чи правильно те, що проспект імені Газети Правда виходить у Ювілейне? чи існують у Ювілейному будинку, що адресуються по проспекту? якщо так - то мабуть варто розділити звязок на два. якщо ні - то може проспект закінчується раніше(в межах Дніпропетровська)?