(!) It’s a draft written in Russian. I don’t like machine translation, so the English version needs to be worked on separately.
(!) This material can cause conflicting feelings
Большие правки бесят. Но больше bbox-ов меня бесит реакция вахтёров на них. За три года я увидел лишь одну адекватную попытку бороться с проблемой… Но давайте по порядку.
Я бы разбил большие правки на:
Правки больших отношений/линий
Они неизбежны. Хорошая новость: таких объектов мало, а значит таких правок будет мало.
Правки пересекающие 180-ый меридиан
… возникают при откате этимологии массовых правках на территориях разделённых им. Или при редактировании объектов около него.
В осмовском bbox правая граница больше левой. А что если мы вспомним, что живём на шаре? Какую рамку мы бы хотели увидеть? Подсказка:
Ну не, переделывать bbox мы не хотим. А что если бы OSM API выставляло бы пакету правок тег с адекватным bbox? Тогда бы инструменты просмотра правок могли бы отбрасывать такие правки и они бы не мешалась.
Правки только тегов
Есть компания RocketData, которая занимается импортом POI и поддержанием их актуальности. Мечта! Но неет, сообщество это бесит. Лучше мы будем изучать тысячи маленьких правок. Удачи.
Наши инструменты для вахтёрства не позволяют нормально изучить такие правки. Делите пакеты правок, иначе забаним. Это же ведь проще чем написать нормальные инструменты.
Проблема не ограничивается рокетдатой. Есть ещё исправления опечаток, нормализация названий улиц и т.п. Я и сам вахтёрю и меня такие правки бесят. Почему?
-
Потому что они засоряют https://osm.org/history А фильтров там никаких нет.
-
Их сложно проверить. А ведь, эти правки даже не меняют никакой геометрии!
Казалось бы, нужен инструмент, который выводит какие теги изменились. И кажется это есть только в OsmCha:
Правда почему-то это работает только для небольших правок….
Мнение: массовые исправления тегов в одной большой правке — нормально. Опять же, OSM API могло быть указывать в тегах пакета правок, что он изменил только теги объектов.
Аналогия для программистов:
Представьте компанию, кодовая база которой измеряется терабайтами. В компании много отделов, в каждом используют различные бибилотеки. И вот вам нужно срочно обновить везде библиотеку, в которой нашли уязвимость. Или наоборот откатить сломанную версию.
А теперь у вас есть куча репозиториев с кодом, в каждом из которых нужно внести отдельное изменение. Наверное круто было бы иметь монорепозиторий и одним коммитом обновить библиотеку? Так компании так и делают https://habr.com/ru/companies/yandex/articles/482926/
Так и в осм. У какой-то сети магазинов изменился сайт? сделайте отншение всех магазинов сети Измените его везде одной правкой. Какая разница, когда открыв свой район в osm.org/history вы увидете одну большую правку или одну предназначенную для вашего города?
4. Случайное редактирование в удалённых друг от друга местах
Например. Прилетаете вы со StreetComplete, Organic Maps на другой континент и вам сразу хочется что-нибудь замапить. Но взамен вы за это получите упрёк в комментариях к правке: https://github.com/streetcomplete/StreetComplete/issues/4582
Правильная реакция: прийти на GitHub к разработчику, поставить 👍 к проблеме и оставить маппера в покое.
Бывает иначе. Решали когда-нибудь задания в MapRoulette? Тогда вы знаете как надоедает постоянно отправлять свои правки. Поэтому вы решаете несколько близких заданий за раз. В какой-то момент вас отправляет на несколько километров. Вы редактируете и отправляете правку.
Хотя JOSM при отправке предупредит. Только что дальше делать-то? Удобно разбить правку в iD и JOSM нельзя.
Единственный редактор, который научился разбивать правки — EveryDoor. И хоть он работает только с точками, я не вижу проблемы в других редакторах, чтобы сделать хоть какое-то разбитие пакета правок. Хотя бы, чтобы разбить случайные правки в Чили и на Камчатке.
Мнение: пока в редакторах нет функции разбиения больших правок или хотя бы предупреждения, что вы затронули большую территорию — отстаньте от мапперов и идите на GitHub к разработчикам.
else
Остальные большие правки это либо нарочно большие правки, либо откаты больших правок:)