Импорт деревень от юзера Bedouin

Вернувшись с майских праздников полез править свой родной Осташковский район Тверской губернии, и обнаружил кучу появившихся внезапно деревень, явно наимпортированных откуда-то. Все деревни имеют примерно такой вид:


То бишь тип всегда place=hamlet и name с префиксом “дер.” или “пос.” При ближайшем рассмотрении выяснилось ещё и что каждая деревня присутствует по три раза - т.е. три разных объекта с одинаковыми координатами, что как-то совсем не есть хорошо. Пример - всё та же деревня Бухвостово:
http://openstreetmap.org/browse/node/388624179
http://openstreetmap.org/browse/node/388632556
http://openstreetmap.org/browse/node/388649879

А на месте города Осташков так вообще появилось аж 9 новых населённых пунктов - 6 штук “пос. Осташков” и 3 штуки “дер. Осташков”!
История показывает что автор сего импорта - юзер Bedouin, в комментариях к изменениям ничего осмысленного не написано (в том числе не указано откуда взяты данные для импорта). Интересующую меня область задели следующие коммиты:
http://openstreetmap.org/browse/changeset/1048925
http://openstreetmap.org/browse/changeset/1048798
http://openstreetmap.org/browse/changeset/1048765
но похоже, что их было ещё больше.

Вот теперь думаю - радоваться или плакать… С одной стороны хорошо, что теперь отмечены деревни в тех местах, куда ещё нескоро кто-либо из опенстритмапперов доберется, с другой же меня напрягает, сколько всего придётся теперь исправлять:

  1. каждая деревня по 3 раза - ну это совсем никуда не годится.
  2. деревни заимпортировались даже там, где они уже были отмечены, причём порой более точно. Тоже придётся убивать лишние…
  3. префикс в имени (дер./пос.) - тут, как говорится, “на вкус и цвет…”, но признаться, не припомню, чтобы на бумажных картах писалась статусная часть населённого пункта. Да и в OSM-е, похоже, это также общепринятая практика (по крайней мере не видно, чтоб писали “г. Москва”, “г. Санкт-Петербург”).
  4. place=hamlet везде - опять же “вкус и цвет”, сам я предпочитаю для деревень использовать village, ибо на карте виднее, да и в школе учили, что village - это деревня, а hamlet - принц Датский. Да и для городов hamlet явно не годится.

Хотелось бы услышать какие-нибудь комментарии (в первую очередь от автора), а также советы, что с этим делать…

имхо, village - большая деревня, hamlet - маленькая, строго тут разделить сложно.
а с автором лучше связаться через сообщения OSM, не факт, что он на форум ходит

Dmitry ‘MAD’ Artamonow, сделать выбоку по user + time из дампа, сгенерировать *.osc файлик и откатиться

да уж, явно не лучшая мысль была вот так взять и наимпортировать :frowning:
не учитывалось то что некоторые деревни уже были обозначены и теперь задублировались, но больше всего умиляет - дер. Магазин Автозапчастей :frowning:

То бишь грохнуть всё? Можно конечно, но вообще не хотелось бы брать на себя модераторские функции, да и времени всё-равно нет.

Хотя про технологию хотелось бы узнать поподробнее - допустим, есть у меня некий changeset в виде XML, скачанный с URL вида - http://openstreetmap.org/api/0.6/changeset/123456789/download . Чем и как его преобразовать в *.osc (как я понимаю - тоже некий XML) и как этот .osc затем запихивать обратно в OSM? Если не трудно, объясните на пальцах или киньте ссылку почитать (можно по английски).

OSC - http://wiki.openstreetmap.org/wiki/OsmChange - формат хранения изменений одной версии относительно другой.
аплоадить его в осм умеет http://wiki.openstreetmap.org/index.php/Bulk_import.pl

я его использую для массовых правок по дампу.
например после того как рендереры научились правильно обрабатывать addr:housenumber стало бесполезным дублирование номера в поле name для зданий.
соответственно был взят свежий дамп, прогнан простеньким скриптом для получения *.osc и результат был залит на осм. т.к. комьюнити общается довольно тесно - проблем с тем что кто то успел поправить данные и я их повредил удалось избежать

Давайте примем решение: откатываем или нет? В принципе много новых полезных объектов появилось. С другой стороны точность расположения и актуальность неизвестны.

Попробую удалить дубликаты хотя бы. И убрать "дер. ". Дальше будем думать.

Я за ручное редактирование по трекам. Рисую только там, где сам был.

Я тоже. Тем не менее я не против качественных импортов.

wildMan, а есть готовые инструменты для выборки по дампу?

Поддерживаю в таком варианте.
С автором связывался. Насчет дубляжа - “глюканул JOSM”. Насчет остального - молчание.
Да, ежели кто будет резать скриптом - я частично поисправлял то, что сильнее всего резало глаз на территории моих интересов. Сорри, если помешает автоматизации.

http://www.everfall.com/paste/id.php?zjqzgb3z3xz9 примерно так
это заготовка которую подгоняю под конкретные задачи
основные блоки обработки processNode, processWay, processRelation:

    def processWay( self, src_item ):
        processed = False
        item = OSM_Item_Way( src_item.id, src_item.user, src_item.timestamp )
        # удаление мусора из тэгов
        if 'history' in item.tags:
            del( item.tags['history'] )
            processed = True
        if not processed:
            item = None
        return item

данный пример удаляет все теги history=*

Хмм, некто Igor_Blg сегодня уже удалил дубликаты. Я вовремя заметил. Завтра скачаю новый дамп и устраню “дер.”.

добрый день. я просто недавно тут, порядков особо не знаю :slight_smile: потихоньку рисую свое Бологое и знакомлюсь с josm. дубликаты удалял в основном по своей Тверской области (на работе время свободное появилось :slight_smile: ) через validator. скачивал квадрат, делал проверку и в ошибках - дублированные узлы одним нажатием на исправить дубликаты правятся.

Ясно. Значит нет уверенности, что вся работа Bedouin проверена. Попробую всё-таки свежий дамп качнуть завтра и скриптом обработать.

Как продвигаются дела? Есть надежда на фикс в обозримом будущем?
Кстати, припоминаю, что префикс “дер.” периодически используют и другие пользователи. Может, и их заодно?

я попробовал исправить квадрат 58,33,60,35 на удаление дер. и дубликатов, посмотрите.

Я бы наоборот, ввел бы за правило прописывать статусную часть для населенных пунктов так же как это делается для улиц.

Но уж точно не префиксом!

И как различать: село | посёлок | деревня?