Откаты правок

простота - это здорово, но добавить пару опций (необязательных, естественно) все же не мешало бы:

  • количество выводимых строк в истории чейнджсетов пользователя
  • флаг вывода изменений в файл вместо загрузки на сервер (как мне кажется, изменение поведения программы при перенаправлении вывода - крайне неочевидная штука)
  • в некоторых утилитах это называется “dry-run”: ничего не делаем, на экран выводим список предполагаемых изменений (delete node XXX или change way YYY)

… ну и не отправляет changeset на сервер, если не сделать так


-      request = urllib2.Request(API_ENDPOINT + '/user/details')
+      request = urllib2.Request(API_ENDPOINT + '/api/0.6/user/details')

-    request = MethodRequest(API_ENDPOINT + '/changeset/create', etree.tostring(create_xml), method=MethodRequest.PUT)
+    request = MethodRequest(API_ENDPOINT + '/api/0.6/changeset/create', etree.tostring(create_xml), method=MethodRequest.PUT)

-  request = MethodRequest('{0}/changeset/{1}/upload'.format(API_ENDPOINT, changeset_id), etree.tostring(osc), method=MethodRequest.POST)
+  request = MethodRequest('{0}/api/0.6/changeset/{1}/upload'.format(API_ENDPOINT, changeset_id), etree.tostring(osc), method=MethodRequest.POST)

-  request = MethodRequest('{0}/changeset/{1}/close'.format(API_ENDPOINT, changeset_id), method=MethodRequest.PUT)
+  request = MethodRequest('{0}/api/0.6/changeset/{1}/close'.format(API_ENDPOINT, changeset_id), method=MethodRequest.PUT)
     response = opener.open(request)

мда, вот так мапишь, мапишь, а ты, оказывается, вовсе даже и не осмер :-((

Ау, тут есть ещё модераторы? Почему этот оффтор ещё не перенесли в отдельную, профильную тему?

Прежде всего, спасибо, что воспользовался и нашёл ошибку с путями к API. Поправил.

Флаги я не хочу делать, потому что это бессмысленное усложнение. Я люблю эвристику и когда инструмент делает то, что нужно, без лишних вопросов. Например, количество выводимых строк — есть же удобный веб-интерфейс, если нужно закапываться глубоко в историю. А для ситуаций типа «знакомый просит откатить его правку» достаточно последних строк.

Второе и третье пожелания, кажется, одинаковые: я тестирую методом ./simple-revert | cat. Сохранение и вывод на экран — опять же, продвинутые фичи, и если хочется всё контролировать, то есть же более сложный плагин reverter. Хотя не знаю, умеет ли он делать «мягкие» откаты, не изменяя поля, не тронутые в ченджсете.

Короче, эти скрипты — промежуточный вариант на пути к нормальному веб-интерфейсу. Который я в ближайшие 3-4 года, наверняка, напишу. Поэтому я делал их максимально простыми: лучше частично и сейчас, чем… ну, понятно. Откатывать правки maps.me получается отлично, для последних ченджсетов из истории тоже должно работать.

Что-то главным в ОСМ становится добыча данных из стертого-порушенного.
Вот в соседней ветке случилась надобность по мягкому откату затертых 3-4 года назад грузинских названий
Пришлось сделать инструмент для восстановления name:ka

Ага, немец malenki недавно инспектировал 4000 удалённых точек place=* в Германии, тоже специальный скрипт писал. Вот бы такие случаи формализовать, чтобы хотя бы спроектировать инструмент для их решения.

Это я видел. Вот и говорю — тенденция, однако.

drovalet продолжает:

http://www.openstreetmap.org/way/399162425

http://www.openstreetmap.org/way/399162426

http://www.openstreetmap.org/way/399162429
http://www.openstreetmap.org/way/399162430
http://www.openstreetmap.org/way/399162431

Вроде комментирует на русском, не знаю что ему ещё говорить

Пришёл ответ 26.01:

Ну, совершенно очевидно, что это индивидуум из породы тех мапперов, которым на всех насрать, но не из агрессивных, потому что хренами ответно не обкладывает.

Пишите в DWG или _sev-у. Могу и я, но лучше - кто писал дровалёту в личку.

А с каких пор мы на highway вешаем тег addr:postcode??? Что то у нас по Воронежу все улицы имеют почтовый индекс, что не есть верно…

addr теги вешают на что-ни-попадя… логикой не всегда обьяснимо

С 2010 когда кексина ботом проставлял почтовые индексы на дороги потому что не было известно дома хоть какие обрисованы в городах или нет.

Сейчас если у всех (или почти всех) домов указаны почтовые индексы, то можете удалять addr:postcode с дорог. Т.к. на домах он точнее.

Если вам очень повезло и у вас есть границы почтовых отделений, то есть специальный тег: http://wiki.openstreetmap.org/wiki/Tag:boundary%3Dpostal_code

А у нас в России есть такие границы? На сайте почты России указаны только отдельные адреса, а как по ним рисовать геометрию не знаю.

freeExec отмечал http://www.openstreetmap.org/relation/4427080 http://www.openstreetmap.org/relation/4427146

Я тоже не встречал источников, буду не против если кто объяснить куда смотреть и что делать.

Индексы в общем случае присваиваются адресам (зданиям, сооружениям, участкам с адресом), а не территориям.

Ну вот, на основе этих адресов и растянул зону.

Такой “зоны” не существует - внутри множества зданий с одним индексом может быть здание с другим. И при присвоении новых адресов, физически находящихся внутри некоторой области, они все могут получить другой индекс по каким-то соображениям, так что практического значения у рисования такой условной области просто нет, кроме условной визуализации.

Всё может быть и при желании можно вырезать. Вон с военными городками, находят в одном районе области адрес присвоен из другого. Но это же не повод забить на границы.