Multipolygone updaten/ausbessern

Komplexe Geometrien wie Flächen mit Löchern lassen sich nur durch mehrere Polygone, eben Multipolygon-Relationen, darstellen. Eventuell könnte man die Flächen noch feiner segmentieren und bei dem Haus mit Loch handelt es sich tatsächlich um mehrere getrennte beisammen stehende Häuser, aber wenn es nur ein Haus mit Innenhof ist, kann man das nicht anders darstellen (erst recht, wenn dann noch zusätzliche Attribute zu dem Objekt gespeichert sind, wie Informationen zu diesem Schloss etc.)

Und dann gibt es unterschiedliche Abstufungen davon, wo es nicht notwendig ist. Sven hat Extrembeispiele gepostet, wo die Relation nur aus einem einzelnen Way besteht. Theoretisch könnte ich mir auch dafür noch eine Begründung überlegen, wo mehrere unterschiedliche Relationen mit unterschiedlichen Eigenschaften auf das gleiche Objekt verweisen, aber die Bsp., die ich mir angesehen habe, sind alle völlig sinnlos.
Naheliegender ist es mehrere vorhandene Segmente zu einem geschlossenen Ring zusammen zu stückeln anstatt diesen als zusätzlichen geschlossenen Way über die Nodes zu führen. Das ist schon von der Wortbedeutung her eigentlich kein Multipolygon.
Umgekehrt gibt es wieder tatsächliche Multipolygone, wo es keinen Grund dafür gibt, warum die in einer Relation und nicht als getrennte Flächen erfasst sind: https://www.openstreetmap.org/relation/8082016#map=18/47.57454/12.56831

Hui, genau um solche Sachen wie zB dem Universitätsplatz geht es mir u.a. da kommt dann hinzu das der Brunnen am Platz ebenfalls in ein MP verkettet ist…des da packst ja nicht wennst was ändern willst (auch wenn sich in der Innenstadt einer Stadt geometrisch nicht viel ändern wird), kann man zuerst MP aufdrösseln

Ich frage hier auch nicht um eine Reglementierung ich wollte es nur mal eben “in Erinnerung” rufen da es doch mehr als genug “fragwürdige” Konstruktionen gibt. Man kann ja in Zukunft ein Auge darauf werfen.

Das ist eine gute Frage, ein schönes Beispiel hast du dir ja schon weiter oben selbst gegeben, für mich macht der Universitätsplatz als MP keinen Sinn, auch das verlinkte Gebäude nicht.
Für mich macht aber auch zB ein einfaches Waldstück/Wiesenstück/Wohngegend/Industriegebiet etc aus drei oder mehr outer Lines keinen Sinn, oder irgendwelche Plätze zwischen Zäune (Kommunalfriedhof in Sbg war so, jeder Zaunabschnitt war ein outer des Friedhofs)
Sinn frei erscheint mir auch mein Beispiel weiter oben mit dem simplen Landuse residential mit 14(!) outer lines… so Dinge werden unbearbeitbar mit der Zeit und man endet damit alles zu löschen und neu aufzubauen.
Sinnvoller erscheint mir auf den ersten Blick zB das Anifer Waldbad (1 Outer, 2 Inner die Parkplatz /Badebereich)

Aber das wird auch immer ein bisschen Geschmacksache sein, ich bin der letzte, und will es auch gar nicht, der hier irgendwelche Regeln vor gibt oder vorgeben will/kann. Ich wollt das Thema mal ansprechen und mich umhören.
Manche sehe ich als problematisch (ganze Gebiete zB Gebirge mittels MP durch Flüsse, Straßen, Grenzen abzutrennen), andere als unpraktisch und unnötig aufwändig.

Grundsätzlich,
eines der Probleme die wir haben ist, dass es in OSM einerseits

Way´s mit einer angehängten Eigenschaft gibt,
und andererseits auch eine an diesen Way angefügte
Relation Träger derselben Eigenschaft sein kann.

Das verwirrt Anfänger.

Unbestritten ist, dass in OperStreetMap Relationen unverzichtbar sind.
Auf Eigenschaften von Way´s hingegenkann man verzichten, und sämtliche Eigenschaften per angefügten Eigenschaft Relationen abbilden.

Der Riesen Vorteil hierbei ist,

  • dass so ein Way einerseits ein Gartenzaun sein kann,
  • und zugleich auch Teil einer Gewerbegebiet Abgrenzung.
  • Zugleich könnte dieselbe Linie auch, Teil der Gemeindegrenze sein.

In einer solchen Welt gäbe es keine überlagerten Linien, sondern eine einzige Linie mit einer oder vielen sauber getrennten Eigenschaften.
Man könnte sich OSM so als eindimensionales Netz vorstellen. Jedes Netz Segment kann mehrere Eigenschaften haben.

Ein solches Modell wäre daher wesentlich logischer, und überschaubarer. Wir sollten daher hier nicht über die Abschaffung von Multipolygonen diskutieren, sondern dass wir künftig möglichst sämtliche Eigenschaften nur noch mittels Relationen abbilden.

Und das schönste ist, das funktioniert bereites mit aktuellen Mitteln.
Beispiel: https://www.openstreetmap.org/way/566536344

  1. Keiner Diskutiert hier über die Abschaffung von Multipolygone
  2. Genau diese Relationen machen es aber oft kompliziert etwas zu ändern, bzw wird etwas geändert was gar nicht geändert werden soll. Nicht absichtlich, sondern aufgrund zu großer und zu komplexer Relationen/Multipolygone gemeinsam mit Editoren wie iD oder anderen.

Um das geht es hier, keiner will die MP abschaffen, verbieten oder Reglementieren, zumindest ich nicht. Ich wollte nur das Licht auf diese “Herausforderung” werfen, da sie immer öfter vor kommt und ich mich schon das ein oder andere mal damit herumgeärgert habe.

BTW Warum, hängen die Wiesen links und rechts der Straße bei dir zusammen? Wenn sie ganz klar durch Straße bzw Wald Siedlungsraum getrennt sind?
Genau solche Dinge mein ich,
Annahme/Beispiel: 1 Wiese der 3, wird Bauland, und ein unbedarfter oder unkonzentrierter User ändert es für die 1 Wiese, sind alle 3 geändert, man muss nun für die einfachste aller Änderungen die Relation aufspalten, und neu formen nur um einen einfachen tag zu ändern. Und das obwohl die Flächen nichts gemeinsam haben außer die Eigenschaft eine Wiese zu sein… ich hoffe du erkennst das es je weiter man das ausbaut, immer komplizierter wird, da irgendwann alles mit jedem in relation steht.

Das wären für mich zwei einzelne Flächen. Links eine und rechts eine (die untere zu der gehörig - keine Ahnung, warum die bei dem Weg getrennt ist). Ich hätte da wohl nicht einmal nachgeschaut, ob da eine Relation vorhanden ist, wenn ich da was geändert hätte O.o

@Waldbad Anif
Ja, so würde ich das auch verstehen. Der Wald umschließt den See komplett und ist deswegen ausgeschnitten.

@Beispiel addresshistory
https://www.openstreetmap.org/relation/8080189#map=17/47.56684/12.57348
Das wäre für mich ein Multipolygon. Einmal Wiese mit den Wäldern oben drauf. (Wobei ich die als Fläche einfach draufklatschen würde - da kann ich mich jetzt aber auch täuschen).
Und
https://www.openstreetmap.org/relation/8080188#map=18/47.56631/12.57347
wiederum würde ich in zwei einfache Flächen anlegen. Da, wo sich die Linien überschneiden, kann man die Linien eh auch aufeinanderkleben.
Ich hätte hier also zwei Flächen und eine Straße die auf den Flächen draufliegt.

Aber vielleicht klinke ich mich hier lieber aus, lese mehr mit und beschäftige mich mal etwas genauer und detailierter damit.

Eine Wiese wird selten insgesamt zum Bauland. In der Regel wird hiervon nur ein Teil zum Bauland. Annahme: Wald als geschlossener Polygon Ring, Wiese als geschlossener Polygon Ring. Am Waldrad entlang verläuft -Laut OSM Konsens zulässig- ein Weg als Träger.

So haben wir daher drei Linien mit drei unterschiedlichen Eigenschaften die übereinander gestapelt sind.

Nun kommt der Bauplatz, dieser liegt zwischen Wald und Wiese, die Straße bleibt entlang dem Waldrand. So nun suche mal die passende Wiesen Linie und versuche diese friktionsfrei von der Straße, sowie vom Wald zu trennen. Das ist für Anfänger ein Desaster.

Die von mir vorher beschriebene Multipolygon Lösung kann man mit einem einzigen Klick sauber teilen, den Bauplatz als Linie einfügen, die Wiese mittels JOSM Reltoolbox mit zwei Klicks umlegen, fertig ist der Bauplatz.

edit: typo

Ich habe ja gesagt es ist ein Beispiel bzw eine Annahme. Wie auch immer. Egal.

iD:
Fläche 1 markieren, dann Punk 1 markieren, D drücken, Fläche 1 markieren, Punkt 2 markieren, D drücken, Fläche markieren, M drücken zum verschieben. Ist getrennt. Nicht die schnellste Variante, geht aber trotzdem ganz gut.

JOSM:
Linie markieren, Punk 1 und 2 markieren mit Shift, mit Strg die Linie abwählen, G drücken, linie an den markieren Punkten verschieben ohne die Form zu ändern.

Beides einfach und kein Desaster, imho.

wenn ich dich richtig verstehe, braucht man nur die Fläche per Split area (Alt+X) trennen. Keine Ahnung, ob/wie das im ID-Editor funktioniert, aber Reltoolbox hast du dort auf jeden Fall auch nicht.

Nun so einfach ist es wohl doch nicht.
Mit komplexen Landschafts Strukturen zu arbeiten, setzt doch voraus dass man sich ein bisschen näher mit fortschrittlichen Editoren wie JOSM beschäftigt.

Warum die Empfehlung zum geschlossenen Äußeren Ring.

Der Vorteil in der Verwendung eines geschlossenen äußeren Ringes ergibt sich daraus, dass dieser hierdurch automatisch vollständig geladen vorliegt.
Wer fragmentierte Multipolygone bearbeiten möchte, also Multipolygone welche aus mehreren äußeren Teil Segmenten bestehen, der sollte vor einer Bearbeitung unbedingt vorher die vollständige Relation laden. Problematik gelöst. Wir das nicht gemacht riskiert hierdurch die bekannten Probleme durch enstehende Lücken.

Also ganz einfach. Wer an Multipolygonen etwas verändern möchte, muss diese vorher der Reihe nach öffnen, und noch nicht geladenen Teilstücke laden. Ganz einfach und effizient.

Man könnte diesen Ladevorgang vor Edit, im Editor natürlich auch automatisieren. Aber leider denkt niemand an sowas, und man jammert und man jammert, und man jammert.

Danke für das script, hab die 1er MPs in “meiner” Region beseitigt, dein script Vorschlag für >=02 outer >=25inner geht bei mir auch nicht durch :smiley: (EDIT: Wahrscheinlich auch besser so)

Gerne… durch die Zeile 2 im Script {{geocodeArea:…}} ist es ja auch möglich, das Suchgebiet einzugrenzen…, z.B. “Tyrol” mit der [timeout:…] -Angabe kann man der ganzen Abfrage etwas mehr Zeit geben… dann klappt das sicher auch… Tirol scheinen um die 40MB Daten zu sein… auf dem Tablett hing (technisch bedingt) die Abfrage, sonst dürfte sie eigentlich durchgehen… So kann man auch Gebiet für Gebiet durchgehen…

Edit: den Link zur Abfrage für Tirol (funktioniert auch mit dem Namen Tyrol) nachgeliefert… http://overpass-turbo.eu/s/DQB Eine Bewertung vermag ich nicht abzugeben… aber eines der Highlights ist z.B. https://www.openstreetmap.org/relation/4192605.

Sven

Moderatorhut auf

Hallo,

ich habe vier Beiträge (zwei von addresshistory*org und zwei von emga) in einen separaten Thread geschoben, weil sie hier Off-Topic sind.

Ich bitte alle Nutzer dieses Forums, nicht erneut vom Thema abzuschweifen. Dies gilt insbesondere für addresshistory*org. Wer meint, sich darüber hinwegsetzen zu müssen, muss mit einer vorübergehenden Sperre rechnen.

Viele Grüße

Michael

Moderatorhut ab

EDIT: “Moderatorhut ab” ergänzt

Moderatorhut auf

Hallo,

ich habe den Thread wieder geöffnet und hoffe, dass ihr es schafft, nicht vom Thema abzuschweifen.

Viele Grüße

Michael

Moderatorhut ab

In einer Gegend wurden in der Vergangenheit durch einen User alle Landuse-Flächen, bestehend aus deren Begrenzungsways und angrenzenden Ways von Straßen als MP erzeugt, Beispiel https://www.openstreetmap.org/relation/3965969.
Diese bereiten immer wieder unnötige Probleme beim Editieren, wenn sich etwa ein Straßenverlauf ändert oder eine neue Straße dazu kommt, oder auch sich die Landuse-Nutzungen ändern. Schnell ist dadurch mal ein einzelner Way aus einem MP samt seinen angrenzenden Nachbar-MP gelöscht, was diese MPs dann fehlerhaft macht und sie wohl auch nicht mehr richtig gerendert werden.

Meine Frage: wie ändert man solche landuse-MPs am geschicktesten auf einfache, einzelne landuse-Flächen um? Vielleicht auch so, dass die Straßen nicht mehr an den Landuse-Linien kleben.
Gibts dazu JOSM-Befehle oder gar Plugins?

Nicht, das ich jetzt alle landuse Flächen dort ändern werde, aber es ist gut zu wissen wie man sowas am geschicktesten erledigt.

Der erste Punkt ist noch recht einfach: mit dem Plugin reltoolbox kannst du bei der Relation im Kontextmenü “Polygon rekonstruieren” wählen und erhältst statt der Relation ein geschlossenes Polygon.
https://wiki.openstreetmap.org/wiki/JOSM/Plugins/Relation_Toolbox

Dieses ist dann aber immer noch mit den Straßen verklebt. Das noch am wenigsten mühsame um das zu ändern, auf das ich jetzt auf die Schnelle gekommen bin: zuerst die Straße, von der die Fläche getrennt werden soll, dorthin schieben, wo die neue Flächengrenze sein soll. Dann bei immer noch selektierter Straße mit “e” (Select adjacent nodes) stattdessen alle Nodes der Straße selektieren (benötigt wie so vieles UtilsPlugin2: https://josm.openstreetmap.de/wiki/Help/Action/AdjacentNodes)), mit Shift zusätzlich die Fläche markieren und mit “g” die Linien trennen. Anschließend kann man die jetzt von der Fläche getrennte Straße wieder an die ursprüngliche Position verschieben.

Super, das Umwandeln mit “Polygon rekonstruieren” geht einfach und zuverlässig.

Auch das Trennen der Straßennodes und landuse nodes mit “g” klappt. Man muss aber genau aufpassen was man selektiert und dass man nicht z.b. auch die Endnodes der angrenzenden Staßenstücke mit auftrennt.

Der von Dir gezeigte Fleckerlteppich war vermutlich auch einer der Gruende, warum es in DE derzeit Diskussionen gibt, eine Empfehlung zur Verwendung von MPs zu schreiben:
https://forum.openstreetmap.org/viewtopic.php?id=64439

Wenn Du nur einen Teil eines Weges (ein Wegsegment) abloesen willst geht das so:

  1. Loszuloesenden Way selektieren
  2. Mit shift die Anfangs- und End-Nodes des Segments waehlen
  3. Mit shift-alt-e werden jetzt alle Nodes dazwischen dazuselektiert
  4. Mit g loesen.
  5. Die geloesten Nodes bleiben zur weiteren Verarbeitung selektiert.

Lg, Gppes