Hallo alle!
Ich hätte mal eine Frage an die Runde:
Wenn ich in JOSM meine Straßen oder was auch immer eintrage, versuche ich stets so genau wie möglich zu arbeiten.
Das hat zur Folge, daß mache krumme Straße natürlich einige Nodes mehr hat.
Kürzlich bemerkte ich user, die einige “meiner” Wege massiv vereinfachten, sonst aber kaum Produktives beisteuern.
Daher meine Frage: wie genau soll’s denn nun sein?
Was zählt mehr - Genauigkeit oder Datensparsamkeit?
Gibt es handfeste Richtlinien?
Wie detailliert man die Krümmung einer Straße einträgt, ist wohl immer eine Frage der Abwägung. (Beachte: “genau” und “detailliert” ist nicht dasselbe.) Wenn die Lage der Straße aus Luftbildern und GPS-Spuren aber z.B. nur auf 5 Meter genau zu bestimmen ist, hat es m.E. wenig Sinn, die Krümmung bis zu einer Skala von einem Meter abbilden zu wollen. Verbindliches gibt es dazu aber nicht.
bei mir gibt es auch einige Leute, die irgendwie wohl nur die GPS Tracks als Punkte umgewandelt haben und so die Wege extrem verrauscht sind. Natürlich soll ein Biegegrad der Straße erkennbar werden, dennoch denke ich, dass es auch durchaus ausreichen kann, wenn eine Kurve nur als 90° Knick eingetragen wird, wenn die Kurve sehr eng ist. Mit einem GPS können die Wege nicht immer zuverlässig erfasst werden (Signal-Abschattungen), weshalb ich denke, dass man da schon mitteln darf. Der Straßenbau folgt ja auch einfachen Regeln
Möglicherweise Vandalismus, kannst du uns ein Beispiel zeigen?
Eindeutig die Genauigkeit, falls du entsprechend genaue Informationen vorliegen hast.
Wer es ungenauer habe möchte, der kann die Wege nachträglich ungenauer machen lassen, dafür gibt es genügend passende Algorithmen.
Aber diese Ungenauigkeit sollte niemals in die Datenbank übertragen werden.
Um die Charakteristik einer Kurve abzubilden kann es sinnvoll sein, “die Krümmung bis zu einer Skala von einem Meter” abzubilden, selbst dann, wenn die Kurve möglicherweise eine Lageungenauigkeit von mehreren Metern hat.
Ich hatte hier mal einen Mapper, der auf einem kurzen 90°-Stück über 15 Punkte gesetzt hat. Keine Ahnung mit welchem Tool er so schöne Kurven geziechnet hat. Daß die Straße aber eine riesige Lageungenauigkeit (z.T. > 30 Meter) im innerstädtischen Bereich hatte und dabei auch andere Straßen fälschlicherweise überlagerte, hat ihn aber wenig gestört.
Ich finde es wichtiger, daß eine gewisse Lagegenauigkeit vorhanden ist, bevor man versucht Kurven so detailliert wiederzugeben. Das obige Beispiel täuscht mit seiner hohen Knotenzahl eine hohe Genauigkeit vor, die aber nicht gegeben ist.
Eigentlich war das auch als Extrembeispiel gemeint, um zu veranschaulichen, daß die verschiedenen Skalen (Lageunsicherheit, Punktdichte etc.) in einem vernünftigen Verhältnis stehen sollten…
Genau das wollte ich andeuten. Genauigkeit und Details sind immer gut, aber man sollte dort anfangen, wo es sich lohnt. Mit jedem Knoten eines Weges sagt man: “Der Weg (bzw. seine Mittellinie) geht durch diesen Punkt.” Das weiß man aber nur modulo Unsicherheit (GPS, Luftbild-Georeferenzierung). Der Abstand zweier Punkte sollte dann zumindest nicht kleiner sein als der typische Lagefehler.
Bei der durchaus interessanten Thematik über die Anzahl von Punkten in einem Linienzug kam mir auch schon mal immer das Vereinfachen dieser Wege durch eine Algorithmus in den Sinn.
Dafür gibt es ja u.a. auch in JOSM das “Linie vereinfachen”-Werkzeug.
Mir ist klar, dass man solche Vereinfachungen mit sehr viel Bedacht und auch mit Einzelfallprüfung anwenden sollte. Hab mich schon mal selbst darüber geärgert, dass jemand in meinem Bereich einfach alle Objekte in JOSM selelktiert und dann vereinfacht hatte → z.B. waren alle Kreisel fast viererckig.
Daher meine Überlegung:
Könnte man nicht mal ein JOSM-Plugin schreiben (oder eine externe App), welches folgende Sachen macht?
aus den geladenen Daten eine Liste aller Weg-Objekte erstellen, auch geschlossene Objekte.
Ermitteln der Anzahl der Nodes in einem Weg und der Länge des Weges
Dann einen sanften(!) Douglas-Peucker-Algo über alle Wege laufen lassen, so wie es JOSM jetzt schon generell tut.
erneutes Zählen der Nodes pro Weg un der Länge des Weges.
Durch Differenz der ursprünglichen und verbliebenden Nodes einen prozentualen “Einsparwert” errechnen.
Sortieren aller Wege nach der größten Einsparmöglichkeit und Ausgabe für den User in einer Tabelle.
So könnte man bestimmt einige Wege finden, welche gefahrlos vereinfacht werden könnten, wo sich das auch lohnt.
Auch soll es ja z.B. in Frankreich durch den Cadastre-Import viele Gebäude mit “überflüssigen” Nodes geben, oder?
Wäre so eine Analyse überhaupt realisierbar? (kann leider nicht selbst dies programmieren)
Irgendwie finde ich das schon witzig:
Hier wird nach Luftbildern gerufen, mit einer Auflösung von 5 cm, einer Lagegenauigkeit von 80 cm und dann soll man aber sparsam mit den Punkten sein.
Wozu dann die tollen Luftbilder?
Dann reicht doch Bing (wenn man vom alter der Bilder absieht)…
Über eine Krümmung von 1m spreche ich auch nicht.
Nachdem ich die Edits gemacht hatte bin ich die Strecken häufig noch einmal mit dem Fahrrad abgefahren um zu sehen, wie es sich auf dem Bildschim verhält, und es war “rund”.
Jetzt springt’s. Zugegeben, es ist Jammern auf hohem Niveau.
Luftbilder nutze ich auch nur zur Überprüfung, sozusagen Plausibilitätskontrolle von Edits.
Naja, kurios fand ich in dem Zusammenhang, daß die betreffende Person massenhaft “vereinfacht”, aber sonst fast nichts beiträgt. http://www.openstreetmap.org/user/Virex/edits?page=1
Um meine Edits herum wäre noch so viel zu mappen…aber ich denke erstmal daran, ob ich etwas falsch gemacht habe?
Naja, es sind erstmal nicht nur meine Wege, die vereinfacht wurden. Wieviel wäre denn nur zuviel Punkte? Eine leicht geschwungene Straße könnte man natürlich gerade ziehen. Doch warum?
Wenn Du der Meinung bist, dass die Eintragung von Dir korrekt und ohne übertrieben vielen Nodes war, reverte das Changeset und schreib ihn an, dass er das unterlassen soll. Ich sehe es als mangelnden Respekt vor der Arbeit anderer, wenn jemand ohne Ortkenntnis und Rücksprache “meine” Geometrien ändert.
Kannst Du mal konkrete Beispiele angeben? a) ein paar Wege, die “vereinfacht” wurden, b) Wege, die ähnlich dicht gepunktet sind wie Deine vor der Vereinfachung? Dann läßt sich sicher besser beurteilen, was von den Vereinfachungen im Einzelfall zu halten ist. Eine hohe Punktdichte ist sicher nicht strikt “falsch”, nur eben auch nicht unbedingt sinnvoll.
a) hier wurden aus 12 Nodes 8 gemacht. Ich finde nicht, dass das ein eingreifen erforderlich gemacht hätte. Speziell vor dem Hintergrund, dass V4 Editor die Nodes extra eingetragen hat (V3 hatte 7) um die Rundung besser darzustellen http://www.openstreetmap.org/browse/way/42598585/history
@Edbert: Ich fürchte, wir müssen uns gemeinsam schämen. Ich habe gerade die Knoten in einem Kreisverkehr nachgezählt, den ich unmittelbar vor dieser Diskussion gezeichnet habe: 19 Knoten bei 35 m Durchmesser. Absoluter Lagefehler (geschätzt) in der Größenordnung von 5 m.
Es gibt halt Fälle, in denen definitiv zu viele Punkte verwendet werden.
Der Katsterimport in Frankreich importiert Kreise generell mit 320 Punkten. Das sieht bei einem Silo mit 3 Meter Durchmesser schon tolll aus.
In Norditalien sind die lanudse=forrest teilweise so detailiert, das in den Alpen der Waldrand akkurat um jeden einzelnen Baum herum geführt wird. Einzelne Büume auf einer Wiese werden ebenfalls mit 15 Punkten und landuse=forrest getagged. Die zugehörigen Multipolygone kann ich im JOSM nicht laden, da ich regelmässig ein Timeout bekomme, wenn die über 1200 Mitglieder mit teilweise deutlich über 1000 Nodes vom Server geholt werden.
Gut, das sind Importe. Denen rücke ich in krasen Fällen mit “simplify way” zu leibe, wobei ich gnädigerweise mit “simplify-way.max_error=0.5” statt “3” arbeite.
Aber es ist ein generelles Problem, wie fein oder grob “richtig” ist.
Wenn man merkt, dass andere einem die Wege modifizieren, sollte man sich überlegen, ob man vieleicht an seiner eigenen Art zu mappen etwas ändern sollte.
Wenn man hingegen “überflüssige” Daten löscht, sollte man sich ganz genau überlegen, ob man wirklich die Arbeit eines anderen so beschädigen will.