[Talk-de] Berliner Stadteil fast komplett gelöscht

Frederik Ramm frederik at remote.org
So Dez 21 11:51:42 UTC 2008


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 frederik at remote.org  ##  N49°00'09" E008°23'33"




Mehr Informationen über die Mailingliste Talk-de