On 25.07.20 15:05, Patrick Strasser-Mikhail wrote:
Eine Frage zu Stil und Praktikabilität:

Wenn ein detailliert gemaptes Gebiet ohne Lücken mit landuse oder gleichwertig getagt ist, dann stoßen ja immer exakt Flächen aneinander, entweder als geschlossene Linien oder als Multipolygone.

Es kommt aber immer wieder einmal vor, dass Ungenauigkeiten auftauchen, wie dass die aneinander stoßenden Linien nicht immer die gleichen Punkte verwenden, und dann bei Änderungen kleine Keile entstehen, wo dann halt nix ist, oder Überlappungen. Auch ein Klassiker ist, dass highway oder ähnliches sich Punkte mit der Linie teilt und dann das eine verschoben wird, aber ungewollt das andere mit verändert wird.

Mit Multipolygonen hätte man den Vorteil, dass idealerweise immer nur eine Linie eine Grenze darstellt, die von mehreren Multipolygon-Relationen verwendet wird. Nachteilig sehe ich aber, dass der Aufwand für Multipolygone deutlich höher ist, immer noch Fehler passieren können (irrtümliche einen highway als Multipolygon-Grenze gewählt), oder nicht-zusammgehörige Dingen mit einer gemeinsamen Linie "verbunden" werden.

Wie du schon festgestellt hast, können so oder so Fehler passieren.

Grundsätzlich sollten im Sinne einer Fehlerminimierung:
- Anfänger nicht an komplexen Gebilden herumpfuschen
- Leute nicht auf lustig Multipolygone anderer Mapper verändern, nur weil irgendein Validator eine Warnung ausgibt - Jene Mapper entscheiden, die in einem Gebiet am meisten mappen - denn sie sind es, die mit der gewählten Variante zurechtkommen müssen.

Bitte keinesfalls Daten eines anderen verändern nur mit der Begründung, es für einen fiktiven Dritten einfacher zu machen. So à la "ich verstopfe jetzt den Rauchfang meines Nachbarn, damit kein Kind hineinfällt".

Gibt es dazu - abgesehen von den technischen Ausführungen im Wiki (die sich darauf beziehen, dass ein Multipolygon halt notwendig ist, wenn es Löcher gibt und die Rolle "inner" benötigt wird) - bekannte Kriterien, wann eine geschlossene Linie und wann ein Multipolygon sinnvoll sind?

Genau genommen ist ein Multipolygon nie nötig, denn man könnte die äußere Fläche als 2 Teilflächen mappen oder als sich selbst berührende Fläche (Wurm, der seinen Schwanz küsst). Aber abgesehen von technischen Problemen (z.B. früher renderte Mapnik dort, wo die Flächen zusammenstoßen, eine weiße Linie) sind solche Lösungen für andere Mapper irritierend. Eine Regel, die vielleicht nicht im Wiki steht, aber sich aus dem gesunden Menschenverstand ergibt: Jedes reale Objekt sollte als 1 Objekt in OSM abgebildet werden, und die Abbildung sollte dem Wesen nach der Realität entsprechen.

Da sehen wir auch gleich ein Problem beim Verwenden von Straßen als MP-outer: Sagen wir, die Straße begrenzt den Wald, dann tritt der Waldrand etwas zurück, dann tritt er wieder an die Straße heran, usw. Man muss dann die Straße mehrmals zerstückeln. Dann hat man mehrere Ways, obwohl es in der Realität nur eine einzige Straße ist. Das gleiche Problem haben wir natürlich auch, wenn wir maxspeed etc. auf einzelne Straßenabschnitte setzen wollen. Da geht es nicht anders, aber i.a. ist es wünschenswert, das Zerstückeln zu vermeiden. Eine praktische Auswirkung dieses Zerstückelns ist, dass Suchfunktionen wie Nominatim dann die Foobar-Straße nicht 1x finden und die ganze Straße anzeigen, sondern eine Liste von 20 Straßenstückerln anzeigen. Theoretisch ließe sich das fixen, indem man den Straßennamen und -typ nicht auf die einzelnen Ways, sondern auf eine Multilinestring-Relation setzt, aber die meisten Anwendungen werten diese Relationen nicht aus, und damit verschwindet die Straße ganz von der Karte.

Eine Straße (oder einen Fluss, Zaun, etc.) als MP-outer zu nehmen, bringt vor allem dann was, wenn es ein langer Abschnitt ist, auf dem sehr viele Nodes liegen. Dann wäre es umständlich, die Straße für die Landusegrenze nachzuzeichnen.

Ähnliches gilt für MP vs. einfache Flächen: Wenn ein Landuse von den angrenzenden Landuses durch lange Linien mit vielen Nodes abgegrenzt ist, ist es zweckmäßig, die Flächen in Multipolygone umzuwandeln um die Linien nicht doppelt zeichnen zu müssen und dabei womöglich ein paar Nodes zu übersehen. Wenn es aber sehr viele, kurze Landuse-Grenzen mit wenig Nodes gibt, ist die Aufwandsersparnis gering. Ein MP mit vielen kurzen outer wird eher unübersichtlich und fehleranfällig.

Und gibt es praktikable Werkzeuge, die es erleichtern, vom einen in das andere System zu kommen, oder auch problematische Flächen zu reparieren?

Nein. Wenn du weißt, was du tust, brauchst du solche Tools nicht. Andernfalls lässt du sowieso besser die Finger davon.

--
Friedrich K. Volkmann       http://www.volki.at/
Adr.: Davidgasse 76-80/14/10, 1100 Wien, Austria

_______________________________________________
Talk-at mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/talk-at

Antwort per Email an