Hallo, Sascha Pomplun wrote: > Mir ging es auch hauptsächlich um die Frage, wie man das selber wieder > reparieren kann. Mit Potlatch kommt man ja leider nicht immer sehr weit und > ich weiß nicht wie ich an die IDs der andere verlorenen Objekte komme, um > sie wieder auf visible="true" zu setzen.
Im konkreten Fall bin ich so vorgegangen: * die taeglichen diffs der letzten Tage nach "Dischord" durchsuchen (das setzt voraus, dass man sich die regelmaessig holt und abspeichert; auf planet.osm.org sind nur die diffs der letzten 7 Tage oder so) * aus dem damit ermittelten diff mittels des Tools "oscgrep" (im SVN) die Aenderungen des Benutzers raussuchen, etwa so: zcat 20081209-20081210.osc.gz |perl ~/oscgrep.pl -a delete 'user="Dischord' * mit kleinem Shellbefehl die betr. Ways vom API holen: zcat 20081209-20081210.osc.gz |perl ~/oscgrep.pl -a delete 'user="Dischord'|grep "id="|cut -d\" -f2|while read zeile; do wget -Ow$zeile http://www.openstreetmap.org/api/0.5/way/$zeile; done * die resultierenden w...-Dateien einzeln anschauen. Bei denen, deren letzter Eintrag visible=false ist, diesen Eintrag löschen und alle bis auf den vorletzten ebenfalls (so dass nur noch die unmittelbar vor der Löschung aktuelle Version drin steht). Die anderen w...-Dateien löschen. * und nun die w...-Dateien hochladen (das Tool lwp-request ist im Paket libwww-perl): for i in w*; do ID=`echo $i |cut -c2-`; lwp-request -smPUT -C meinusername:meinpassword http://www.openstreetmap.org/api/0.5/way/$ID < $i; done Fuer die Relationen vergleichbar. Wie gesagt, ich habe auch ein Skript, mit dem ich eine groessere Menge von Objekten auf den Stand vor der Aenderung durch User X zuruecksetzen kann, aber das waere hier mit Kanonen auf Spatzen geschossen gewesen (ich traue dem Skript selber nicht und muss es immer erst mit lauter print-Anweisungen laufen lassen, das kostet dann bei so kleinen Sachen ueberproportional viel Zeit). Bye Frederik -- Frederik Ramm ## eMail [email protected] ## N49°00'09" E008°23'33" _______________________________________________ Talk-de mailing list [email protected] http://lists.openstreetmap.org/listinfo/talk-de

