DE:OSM History Viewer

From OpenStreetMap Wiki
Jump to navigation Jump to search

OSM History Viewer (verfügbar auf http://osmhv.openstreetmap.de/) ist ein Debugging-Werkzeug, mit dem man

  • Changesets visualisieren und
  • die Versionsgeschichte einer Relation untersuchen kann.

Features

Changeset-Visualisation

So sieht das Changeset 6798641 im OSM History Viewer aus (hier die Live Version!).

Mit dem OSM History Viewer kann man die Änderungen eines Changesets im Vergleich zum Zustand davor visualisieren lassen. Es zeigt alle Tags an, die gelöscht oder hinzugefügt wurden und stellt grafisch dar, wie Nodes und Ways verschoben, verändert, erzeugt oder entfernt wurden. Später wird es auch möglich sein, die Änderungen einer Relation anzusehen.

Um die Änderungen darzustellen, werden erst alle Wege, die vom Changeset verändert wurden, in „Segmente“ aufgeteilt. Ein Segment repräsentiert eine Verbindung zwischen zwei Knoten. Dann wird bei jedem Segment nachgeschaut, ob dieses im Zustand vor und in dem nach dem Changeset so existierte. Wenn es nur vor dem Changeset da war, wird es rot markiert. Wenn es erst hinterher existiert hat, wird es grün markiert. Wenn es vor und nachher da war, sich also nicht verändert hat, wird es blau markiert. Die Veränderungen so darzustellen hat die folgenden Auswirkungen:

  • Wenn man einen Weg verschiebt, wird der alte Verlauf rot dargestellt, der neue ist grün.
  • Wenn man nur einen Node eines langen Weges verschiebt, wird nur der Abschnitt des Weges als verändert dargestellt, der sich tatsächlich verschoben hat.
  • Wenn man einen Weg aufsplittet oder zwei Wege kombiniert, werden sie als unverändert (blau) dargestellt, da sich der Verlauf in der Karte nicht geändert hat.
  • Wenn man nur die Tags eines Weges verändert, wird dieser auch blau dargestellt.
  • Wenn irgendwas auf der Karte braun ist (also grün und rot vermischt), wurde vielleicht ein Node nur geringfügig verschoben. Beim Hereinzoomen sieht man vielleicht, dass die rote Linie ein wenig neben der grünen liegt.

Diese Methode der Darstellung hat den großen Vorteil gegenüber der einfachen Darstellung des Inhalts eines Changesets, dass man genau sehen kann, was sich tatsächlich auf der Karte verändert hat (und eben nicht, was sich an den Daten in der Datenbank verändert hat).

Relation-Täteranzeige

Mit der „Täteranzeige“ kann man herausfinden, welcher Teil einer Relation durch welchen Benutzer mit welchem Changeset hinzugefügt wurde. Dazu werden die Objekte der Relation (und all ihrer Sub-Relationen) in Segmente (Verbindungen zwischen zwei Punkten) zerlegt. Die Versionsgeschichte wird dann danach durchsucht, zu welchem Zeitpunkt das Segment zum ersten Mal Teil der Relation war. Auf diese Weise kann man dann sehen, wer daran „schuld“ ist. Die segmentbasierte Methode hat den großen Vorteil, dass Leute, die einen Weg splitten, nicht als Hinzufüger des neuen Wegteils erscheinen (obwohl sie diesen technisch gesehen der Relation hinzugefügt haben). Allerdings wird der „falsche“ Täter angezeigt, wenn jemand einen Weg, der zu einer Relation gehört, korrigiert hat, indem er ihm Nodes hinzugefügt oder Nodes verschoben hat.

Einfache Verwendungsmöglichkeiten

Greasemonkey-Script

Auf [1] gabt es ein Greasemonkey-Script, das den Relation- und Changeset-Seiten auf www.openstreetmap.org Links zum OSM History Viewer hinzufügt.


Bookmarklet

Nutze ein bookmarklet um den Changeset Viewer komfortabel aufzurufen: Rufe das neue Bookmark auf (oder öffne es mittels keyword) während Du eine changeset Seite besuchst wie changeset 6798641, dann leitet es Dich auf die Analyse-Seite für das Changeset. (Credits an Eugene).

javascript:a=document.location.href.split('/');if(a[2]+a[3]=='www.openstreetmap.orgchangeset'){document.location.href='%20http://osmhv.openstreetmap.de/changeset.jsp?id='+a[4].split('?')[0]}else{alert('This%20is%20not%20a%20valid%20OSM%20changeset%20page.')}

Verwende den folgende Code um die OSMHV Analyse-Seite in einem neuen Fenster/Tab zu öffnen (erlaubt den Wechsel zwischen dem Changeset und OSMHV):

javascript:a=document.location.href.split('/');if(a[2]+a[3]=='www.openstreetmap.orgchangeset'){(function(){window.open('http://osmhv.openstreetmap.de/changeset.jsp?id='+a[4].split('?')[0]);%20})();}else{alert('This%20is%20not%20a%20valid%20OSM%20changeset%20page.')}

TODO: Bookmarklet für das "relation blame" Feature.

Quellcode

Der Quellcode ist unter der AGPL 3 auf [2] verfügbar. Das Projekt wird von Candid Dauth verwaltet.

Bugs

Bugs werden auf der englischen Version dieser Seite gepflegt.