[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