Юніт-тести для OSM

Є одна думка, яка не дає мені спокою останні кілька днів. Хочу поділитися із вами.

Одною із проблем, яка витікає із можливості редагувати карту будь-кому бажаючому, є те, що приходить хтось без досвіду, вносить невеличку правку, а остання бере і ламає те, що до цього працювало.

Так-от, чи не зробити в осмі щось типу юніт-тестів, які б виступали свого роду safety net для нових змін? Напр, пробує користувач закомітити зміни в базу осм, а перед цим проганяються автоматичні перевірки на те, що рілейшени залишилися робочими, що цілісність дорожньої мережі не деградувала тощо. Якщо щось поламалося - користувачу повідомлення, зміни не збережені.

Походив по вікі, погуглив - не знайшов обговорень на цю тему. Малоймовірно, що досі ніхто не пробував щось таке зробити…

Що ви думаєте з цього приводу? Може десь це вже обговорювалося? Як це можна було б реалізувати?

:smiley: :smiley: :smiley:

Андріє, припиніть користуватися цим Потлачем, і переходьте на нормальний редактор, JOSM, будуть вам юніт-тести :slight_smile:

В JOSM є власне те, про що ви пишете, називається валідатор. І можна дописувати туди нові тести, передавати їх розробникам для включення в основну гілку.

Звичайно, складні тести брали б забагато часу, тому, наприклад, не проодиться тест на цілістність дорожнього графу, але елементарних помилок потлачерів на кшталт веїв, які перетинаються, або “недотягнутої” до перетину дороги, або поламане відношення, з JOSM зробити досить тяжко, бо він дуже кричить про ті помилки.

Для більш складних перевірок є валідатори, наприклад, Zkirа: http://peirce.gis-lab.info/qa Але ними вже треба керуватися обережно, щоб не виправляти помилки заради виправлення, наносячі на мапу неіснуючі речі.

Тю, дійсно. Забув про протести джосма перед апловдом змін.