History bei geteilten Ways

Das Geht doch ganz einfach,
man nimmt sich die Nummer des Änderungssatzes und macht einen lokalen Revert in JOSM und schon sieht man was da vorher war.

Dazu müsste man erstmal wissen, dass da vorher überhaupt was war. Oder macht man das einfach immer auf Verdacht?

–ks

Das sollte ja recht leicht machbar sein: http://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_API_by_Example#OSM_data_at_a_certain_date

Für sehr kleine Werte von „recht“. Zurück auf Anfang: Ich will nicht wissen, ob es irgendwie geht. Sondern mir fällt an einem Way ein Tagging auf, das ich falsch finde, und darauf möchte ich den Ersteller aufmerksam machen. Wenn ich jetzt erst eine Viertelstunde lang overpass wälzen muss, um den herauszufinden, dann lasse ich es lieber. Dann müssen sich andere auch nicht über meine entsetzliche Grünschnäbeligkeit aufregen, und wir sparen unterm Strich eine Menge Magensäure und Stresshormone ein.

–ks

Ich verstehe nicht so recht dein Problem: du passt im Beispiel das Datum an, wählst einen Kartenausschnitt und guckst dir in Josm das Ergebnis an. Wo kommt die Viertelstunde her?

Der link zeigte ja gerade auf die passende query und das Lenkrad rechts oben führt dich direkt zu Overpass Turbo.

Dann schildere ich noch mal mein Problem: Ich möchte herausfinden, wer ein bestimmtes – meiner Ansicht nach falsches – Tagging an einen Weg gesetzt hat. Bis jetzt schaue ich mir die History dieses Weges an, und die früheste Version, in der dieses Tagging vorkommt, wird wohl die schuldige sein.

In diesem Fall war sie das nicht, weil diese früheste Version aus einem auch schon falsch getaggten Quell-Way entstanden ist (was man, wie gesagt, der History nicht ansieht, sondern auch nur vermuten kann). Freilich kann ich mir jetzt das Datum dieser Teilung raussuchen und mir den Zustand kurz davor anschauen. Aber wenn ich dann rausfinde, dass ein Jahr vorher wieder eine Teilung geschehen ist und ich noch weiter zurück muss? Wie viele Abfragen muss ich da unterm Strich händisch kaskadieren – oder nehme ich auf Verdacht gleich ein Datum fünf Jahre davor und schaue. ob das Tagging da auch schon so gewesen ist?

Das ist keine geschlossene Lösung, das ist mühsames Einkreisen des Problems. Der User, der die Teilung vorgenommen hat, kann das freilich aus seiner Erinnerung kramen und mich mit Häme über meine anfängerhafte Blödheit überschütten. Das hilft mir aber nicht dabei, diese zu überwinden, also: Wie kriege ich in einer Minute raus, wer ein bestimmtes Tag an einen Way gesetzt hat?

–ks

@kreuzschnabel
Du könntest alle Wege die sich an einem Knoten treffen auf dieser Seite http://osm.mapki.com/history/ einwerfen und dann prüfen, wann eine bestimmte Eigenschaft, eingetragen oder entfernt wurde.

http://osm.mapki.com/history/way.php?id=25187254

Das kann sich aber zu einer Sisyphusarbeit ausdehnen, falls ein Weg mehrfach getrennt wurde oder Knoten und Wege recycled wurden.
Damit emine ich so etwas http://osm.mapki.com/history/node.php?id=2

Ich sagte schon: Ich schaue mir die History des Weges an. Diese Seite macht auch nichts anderes (und es geht sehr viel einfacher mit Strg-H in JOSM). Das hilft mir aber nicht, wenn die älteste Version eben nicht neu angelegt wurde, sondern nur durch Teilung eines vorher durchgehenden Ways entstanden ist, an dem das falsche Tag auch schon dran war.

–ks

Denkbar wäre auch eine etwas schlauere API.

Derzeit können wir ein Objekt nur ändern, indem wir eine neue Version davon hochladen.

Was, wenn die API auch kompliziertere Befehle verstehen würde wie:

  • Füge den Node #12349876 an Position #34 in die Node-Liste von Way #44232 ein
  • Ändere das Tag name=bla des Ways #34556 in name=blub
  • Teile den Way #65432 nach Nodeposition #33

und so weiter? Dann könnte - vorausgesetzt, die Editoren unterstützen das - in der History verzeichnet werden, wie ein neuer Way entstanden ist, und man könnte geeignete Tools bauen, die einem das alles schön anzeigen.

Auch jetzt schon lassen sich Tools bauen, die mit großer Wahrscheinlichkeit herausfinden können, ob ein Way neu erstellt oder aus einem Split hervorgegangen ist (wir mussten das beim Lizenzwechsel genau untersuchen, denn an einem neu gemachten Way hat der Mapper ja das geistige Eigentum, nicht aber an einem nur durchgeschnittenen), aber es ist halt schon etwas kompliziert.

Bye
Frederik

Also den Punkt “wie komme ich zu den interessantesten Zeitstempeln ohne viel Herumprobieren” müsste man schon automatisiert per Iteration über die way Historie, der Historie dessen nodes und zu jeder gefundenen version auch zusätzlich Untersuchung der entsprechenden changesets erschlagen können. Das wäre dann immer noch das Konzept Zeitreise, allerdings mit definierten Zwischenstops.

Generell ist es auch nicht einfach eine Historie auf Basis eines ‘logischen’ ways zu visualisieren - dank merge/split/node dazu/node weg/alles löschen und neu kann das sehr schnell arg kompliziert werden.

Meine Meinung: du hättest es nicht wissen müssen, du hättest sennewald63 blos nicht so schulmeisterlich anpampen müssen. Dann hättest du dich auch nicht entschuldigen müssen, was du hättest tun können, statt im Changesetkommentar noch einen draufzulegen und jetzt hier eine Welle loszutreten. Wir alle irren uns mal, da sagt man “Sorry” und gut ist.

Ack zu dem “sorry”, aber sonst übertreibst Du. Die Kommunikation im CS ist schlimmstenfalls suboptimal, aber Sennewald ist auch nicht aus Zucker und wenn er ein Problem mit irgendwem oder irgendwas hat kann er das sehr gut selber lösen oder ebenso gut zurückschiessen oder auch ignorieren.
Im Übrigen löst die Diskussion über Umgangsformen das Problem nicht, sondern ist Offtopic. (Hups, ich nun auch.)

Da iD der Hauptverursacher der History-Verluste sein dürfte, hatte ich mir mal hier Gedanken dazu gemacht, wie man dies vermeiden könnte: https://github.com/openstreetmap/iD/issues/3694

Die Grundidee ist dabei, das der Editor für jedes Objekt, dass die Geometrie oder Tags eines anderen Objekts teilweise übernimmt der Editor ein Tag (für Gemometrie und Tags separat) setzt, das die Ids der Objekte auflistet, von denen übernommen wurde.

Idealerweise sollte dies ein objektspezifisches Changeset Tag sein. Da die Api dies noch nicht unterstützt, haben wir folgende Alternativen:

  • Die API wird entsprechend erweitert.

  • Wir emulieren objektspezifische Changeset Tags dadurch, dass wir ein normales Changeset Tag verwenden, wobei wir die Objekt-Id in den Key einkodieren.

  • Wir emulieren es durch ein normales Tag des Objekts, wobei wir die Objekt-Version in den Key mit einkodieren. Dieses Tag könnte automatisch in der nächsten Version vom Editor gelöscht werden. Die einkodierte Objekt-Version ermöglicht es, das Tag zu ignorieren, falls es doch in eine Nachfolgeversion gewandert ist, weil der nachfolgend verwendete Editor das automatische Löschen nicht unterstützt hat. Dies scheint mir aber die unattraktivste Alternative zu sein.

in einer Weg-Ansicht sehe ich, wenn ich mit der Maus über einen anderen Weg gehe, zu der ein Knoten auch noch gehört, eine Sprechblase aufgehen mit “highway=service” oder so …
Wie schwierig wäre es, wenigstens im Chronik-Modus, auch über der Knotennummer was aufgehen zu lassen wie bspw. “Knotenalter 7 Jahre”?
Wenn alle/einige Knoten älter als der Weg sind, ist es ein starkes Indiz, dass der Weg ein Spaltprodukt sein könnte, dann kann man auf den anschließenden Stücken des vermuteten alten Verlaufs nach den Tags und deren Alter schauen …

Ich lerne immer gern dazu. Deshalb sag mir bitte, was an meinem Hinweis a) schulmeisterlich und b) anpampend war. Ich weiß es nämlich wirklich nicht. Sachverhalt: Ich sehe ein IMHO falsches Tagging, ich könnte es natürlich einfach korrigieren, aber da ich vermute, dass der Mapper das auch woanders so gemacht hat und möglicherweise immer so macht, möchte ich ihn auch darauf hinweisen. Wie hätte ich das deiner Ansicht nach weniger schulmeisterlich-anpampend formulieren können? Ich finde in meinen CS-Beiträgen immer noch nichts Unfreundliches, aber wahrscheinlich habe ich Tomaten auf den Augen.

–ks

Anpampend, weil schulmeisterlich. Dein CS-Kommentar ist belehrend in seinem Absolutheitsanspruch. Eine Formulierung, wie ich bin der Ansicht setzt dich nicht in die Rolle dessen, der ex cathedra mitteilt und lässt dem anderem die Position eines gleichwertigen Gesprächpartners.

Es geht hier aber nicht um Ansichten! Es geht um eindeutige Regelungen, die auch in der Doku so ausdrücklich drinstehen. Das kann man nicht so oder so sehen.

Ich habe langsam den Eindruck, ich sollte mich in OSM deutlich zurückhalten, irgendwie scheine ich in die Community nicht ganz reinzupassen.

–ks

Willst Du nur recht haben, oder etwas für das Richtige erreichen?

Eigentlich habe ich dir was erzählt, was mit Psychologie der Kommunikation zu tun hat. Dass Du das nicht erkennst, lässt mich vermuten, dass dir der mittlerweile sehr verbreitete Gedanke den Content durch Verpackung erfolgreicher zu machen, ziemlich fremd ist.

Meine Meinung zu dem CS-Kommentar: http://www.openstreetmap.org/changeset/29014695#map=13/49.2170/9.6716:

Den Kommentar finde ich nicht überheblich, schulmeisterlich (es gibt eben unterschiedliche Charaktere und Ausdrucksweisen).

Lest die Kommentare und sagt selbst wo es schulmeisterlich ist/wird.

Es waren an dem Weg (zumindest über node) 4 (erfahrene) Mapper dran, die das Problem auch hätten sehen können - besonders als neue hw=service zugefügt wurden.

Ist das eine richtige Antwort eines “älteren” Mapper?

Schönen Sonntag

Der Satz “Der Änderungssatz den du hier anmeckerst ist älter als du Mitglied bei Openstreetmap bist.” sollte Kreuzschnabel nur mal zum Nachdenken bringen wie lange es schon her ist das ich an diesem Way war.

Kreuzschnabel scheint es ja auch nicht wirklich um die Änderung am Way zu gehen, sondern erzieherisch wirksam zu werden, denn den Way hat er bisher nicht geändert.

Senni