Verschachtelte MP-Relationen

Hi,

im Zusammenhang mit diesem Thread http://forum.openstreetmap.org/viewtopic.php?id=14179 fielen mir verschachtelte MP-Relationen auf. Sind diese zulässig?

Wenn ja, würde dies das Handling von einem inneren MPs, deren outer aus mehreren Teilen bestehen, vereinfachen. Statt deren outer einzeln einzufügen, einfach die Relation dazu packen.

Gruß
Josef

hi josef,

formal ist das wohl zulässig - aber lasse es lieber. das macht die ganze chausse noch komplexer.
Gruss
walter

p.s. im taunus ist die hölle los :frowning:

laut Doku (http://wiki.openstreetmap.org/wiki/Multipolygon)
sind als Member einer MP-Rela nur ways mit Rollen inner/outer/none erlaubt.

Was einigen MP-Fans noch nicht kompliziert genug ist. :wink:

Hi,

hatte ich erstmal nicht vor, deshalb die Anfrage.

Nachdem ich das Wiki nochmals gelesen habe, kann ich chris66 nur beipflichten.
Derartige ‘inner’ werden bei Auswahl des MP (Relation auswählen) in JOSM im Gegensatz zu den 'normalen ‘inner’ nicht markiert.
Werde den Betreffenden mal anschreiben.

A propo Taunus. Kann man den nicht irgendwie bremsen?

BTW, hier hat sich , so wie ich das sehe, auch noch nichts getan: http://tools.geofabrik.de/osmi/?view=multipolygon&lon=6.82592&lat=50.53796&zoom=11&baselayer=Geofabrik&opacity=0.88&overlays=invalid_geometry_hull,duplicate_ways,intersections,intersection_lines,ring_not_closed_hull,ring_not_closed,unconnected_end_nodes,role_mismatch_hull,role_mismatch,duplicate_tags_hull,duplicate_tags
Hatte den Verursacher angeschrieben Er wollte sich darum kümmern. Wahrscheinlich steigt er da selbst nicht mehr durch oder es ist ihm zu aufwendig.

Gruß
Josef

Hallo Josef,

meinst Du mich mit den verschachtelten MPs? Hast mich ja diesbezüglich bereits angeschrieben.

Sollten die verschachtelten MPs nicht zulässig sein, frage ich mich warum im Potlatch unter “Edit Relation” das Einfügen und Bearbeiten von MPs möglich ist? Auch im JOSM kannst Du unter den Relationen solche als Eltern- oder Kind-Relationen einfügen und bearbeiten.

Komplizierter wird es dadurch auch nicht, im Gegenteil. Ich brache die “inner” und “outer” nur mehr den Relationen zuweisen und gut.

Auch habe ich dadurch fast alle “touching inner rings” im OSMI beseitigt. Was will man mehr?

Cu
Erwin aus Kufstein

Hallo erwin6330,

Man kann mit den Editoren eine Menge machen, auch Relationen als Mitglieder von Relationen.

Das Problem ist nur, dass die Programme, die mit diesen Daten nacher arbeiten sollen (Renderer, Router, Auswertungen, …), dies nicht erwarten. Grundlage dafür sind die im Wiki beschriebenen Eigenschaften.
Wenn du also Relationen als outer in ein Multipolygon tust, obwohl der Beschrieb ausdrücklich nur nodes und ways erlaubt, ist es fraglich ob irgend ein Programm damit zurecht kommt.

Du hast aber die Möglichkeit, diese Änderung in einem Proposal vorzuschlagen.

mdk

Hi Erwin,

Treffer. :wink:

Potlatch kenne ich nicht. Tue ich mir auch nicht an.
Weshalb JOSM dies zuläßt? Zur Frage betreff JOSM → Weiter an die Spezialisten.

Wie im ersten Posting zu lesen, sehe ich darin auch einen Vorteil, aber … Siehe Posting von mdk.

Gruß

Der JOSM Relationseditor lässt das Bearbeiten beliebiger Relationen zu. Das type=multipolygon ist halt nur ein
Typ von vielen. Es ist eigentlich Aufgabe des Validators (und nicht des Relations-Editors) zu prüfen ob Fehler vorliegen.
Verboten ist in OSM nichts, aber wenn Du Relationen als Member in MPs hinzufügst, bewegst Du dich außerhalb
der Spezifikation und begünstigst die Enstehung von Monster-MPs. :wink:

Grüße, Chris

Morgen,

Soll heißen, dass Renderer, Router, usw. zwar mit einem Loch in einem MP umgehen können, aber nicht mit einem MP im MP.

Finde ich irgendwie witzig :laughing:

Nein das heißt es nicht zwangsläufig. Aber die Möglichkeit besteht. Immer wenn etwas nicht definiert festgelegt ist, kann man sich nicht sicher sein, wie das Ergebnis dann einmal sein wird. Es ist zum Beispiel möglich das Josm und Mapnik/osm2pgsql damit gut klar kommen. Vielleicht hat da beim programmieren jemand dran gedacht.
Aber es ist auch genauso gut möglich, dass jemand vor der Verarbeitung filtert und osmconvert hat zum Beispiel leere Relationen aussortiert, weil sie dem Programmierer nicht sinnvoll erschienen und er von Fehlern ausging. Genauso könnte man vorgehen, wenn man nicht standardisierte MPs vorfindet. Einfach nur weil man keinen Schritt hat die zweite Relation aufzulösen, sondern stur nach Wegen sucht.

Folgendes Beispiel macht mir Kopfzerbrechen :confused:

http://www.openstreetmap.org/browse/way/134988388

Dieses kleine Teilstück hat nun 6 (sechs) Beziehungen zu Relationen!
Er ist:

Ein Teil des Friedhofs in Kufstein (outer)
Ein Teil der Friedhofsmauer des Friedhofs in Kufstein (outer)
Die Friedhofsmauer ist innerhalb des Friedhofs in Kufstein, ich mache ein Loch im Friedhof (inner im Friedhof)

Ein Teil des Wohngebiets in Kufstein (outer)
Ein Teil des privaten Parkplatzes (outer)
Der private Parkplatz befindet sich im Wohngebiet der Stadt Kufstein, ich mach ein Loch im Wohngebiet (inner im Wohngebiet)

Somit kann ein way sowohl ein inner als auch ein outer zu einem MP sein, wenn sie die beiden Flächen schneiden.

Ich werde hier echt noch verrückt, kann aber im Moment keinen Fehler in meinen Gedanken finden

Natürlich kann ein Weg zu gleich inner und outer sein. Aber bitte in verschiedenen Polygonen! Eine Insel im See ist ja nichts anderes. Wenn sie nicht aus einem Weg besteht sondern aus mehreren dann ist sie inner im See, damit dort kein Wasser ist und zu gleich outer für die Insel. Wo ist dort das Problem?
Ob der Parkplatz jetzt aus dem Wohngebiet ausgeschnitten werden sollte ist sicher eine Streitfrage, da landuse nur die überwiegende Nutzung bezeichnet und nicht die ausschließliche. Parken gehört für viele zum Wohnen dazu.

Friedhofmauer als Relation? Und dann noch diese IMHO nicht notwendigen Bezeichnungen (ref, name).

Hi,

Vorbemerkung: ich rede von den Multipolygonen, bei denen die Tags in der Multipolygon-Relation stehen.

Warum denken so viele Leute an “Verschachtelung” und “Löcher ausstanzen” im Zusammenhang mit Multipolygonen? Das ist Quatsch. Man gibt einfach den Rand der Fläche an und fertig ist die Laube.

Es gibt überhaupt keinen Grund, über das Taggen irgendwelcher Inseln auch nur nachzudenken, während man die Wasserfläche als Multipolygon beschreibt. Man muss doch nur angeben, bis wo das Wasser geht; was dahinter liegt, kann uns in dem Moment völlig egal sein und die Tags dieser Begrenzungslinien haben auch nichts mit dem Problem zu tun.

Die Sache ist sehr einfach, wenn man sich von Begriffen wie “Verschachtelung” und “ausstanzen” löst.

Weide

Was zu tun wäre ist ja gesagt. Andereseits, ist das Gegenargument Begünstigung von ‘Monster-MPs’ nicht von der Hand zu weisen

Beispiel:
Du hast sagen wir mal 40 sich einander berührende MPs als inner. Ohne Verschachtelung werden diese als ein inner erfaßt. Ist doch wohl übersichtlicher, oder?

Verstehe wer will.

Wiki: Für alle Flächen, die komplexer sind, ist die Multipolygon Relation erforderlich. Zum Beispiel wenn der Umriß aus mehreren Wegen zusammengesetzt ist, wenn die Fläche aus mehreren getrennten Wegen besteht oder wenn die Fläche Löcher hat.

Löcher z.B. gehen nur mit ausstanzen, oder wie immer man das bezeichnen will.

+1

Und was ist nun das Ergebnis dieses Threads, Verschachtelung lassen oder entfernen?

Wahrscheinlich, jeder kann machen was er will. :frowning:

Oder verläuft im Sand, wie so einige.

BTW, JOSM meckert je nach Art des Taggings:
Leere Rolle oder falscher Typ
Nicht-Linie im Multipolygon

Und: Die Funktion ‘Relation auswählen’ zeigt diese MPs nicht als Teil der Realtion an.

Moin,

Na ja, wenn man es sich so kompliziert macht …

Ja - und der braucht bei dieser Arbeitsweise eine Relation zum Beschreiben der Fläche.

Ja - aber die braucht als lineares Objekt keine Relation.

Blödsinn, sorry.
Die Friedhofsmauer befindet sich zwar auf dem Friedhof oder an seinem Rand - aber dafür muss man sie dort nicht “ausstanzen”.

Wenn denn dort die Grenze des Wohngebietes verlüft, ja - und das braucht bei dieser Arbeitsweise eine Relation zum Beschreiben der Fläche.
Sonst siehe unten.

Ja - und der braucht bei dieser Arbeitsweise eine Relation zum Beschreiben der Fläche.

Blödsinn, sorry.
Wenn er sich im Wohngebiet befindet, braucht er nicht “ausgestanzt” zu werden.
Wenn er nicht zum Wohngebiet dazugehören soll, liegt er am Rand, die Grenze des Wohngebiets läuft dann unten herum.

Klar - wenn sich etwas innerhalb von etwas anderem befindet, hat es doch selbst auch einen Außenrand - und wenn der dann eben noch segmentiert ist …

Ersteres ist ansatzweise im Letzteren begründet. :wink:

Und der Ansatz “ich hab nur ein Linienobjekt-Segment und deshalb mehr Multipolygone” ist nunmal eben nicht unbedingt einfacher zu überschauen als der Ansatz “ich habe ein einfaches Objekt und deshalb mehrere übereinanderliegende Linien aber weniger Multipolygone”.

Und wenn Du jetzt auch noch verschachtelte MP-Relationen ins Spiel bringst, kann man wahrlich nur hoffen, dass Du (und alle anderen) diese Verschachtelungen noch durchblicken …
Nur als Stichwort: Eine MP-Relation, die als outer-Element in einer anderen MP-Relation enthalten ist, darf dann selbst niemals inner-Objekte enthalten!

Ehrlich gesagt: Im Moment verwendest Du m. E. MPs noch zu sehr zum Malen der verschiedenen Flächenfarben denn als logische Zuordnung.

Gruß
Georg

Edit: Schreibfehler

Bedeutet eben, entweder ich habe eine Linie und mehrere Multipolygone, oder ich habe ein MP, dafür mehrere Linien übereinander.

Nichts liegt mir ferner, kannst Du mir glauben.

Ich versuche nur mehrere übereinanderliegende Linien zu vermeiden, was es nicht unbedingt übersichtlicher beim bearbeiten macht.

Wenn ich eine geschlossene Mauer mit einer Linie zeichne, dann habe ich eine geschlossene Fläche innerhalb einer geschlossenen Fläche, der Friedhof im Ganzen, somit ein outer und ein inner. Die Mauer gehört zum Friedhof, drumherum zeichnen wäre auch nicht korrekt.

Ein Parkplatz einer Wohnanlage gehört zum Wohngebiet, wieder eine Fläche in der Fläche, da kannst Du diskutieren wie Du willst, beide Aussagen sind richtig, finde ich.