iD: Objekte Vereinigen - fehlerhafte Implementierung?

Ich bin über ein Changeset gestolpert, in dem ein Mapper-Kollege zwei Gebäudehälften, die ich separat mit zwei geteilten Punkten (eine Wand) gemappt hatte, in ein Multipolygon überführt hat. Die beiden alten Umrisse wurden als Outer in die Relation aufgenommen, alle Tags von den Umrissen gelöscht und in die Relation überführt. Aus den beiden verschiedenen Hausnummern “17” und “19” entstand in der Relation dann “19;17”. Semikolons können in Hausnummern kaum ausgewertet werden und Informationen gehen verloren.

Darauf angesprochen bestritt der Kollege das gemacht zu haben. Also hab ich mal iD gestartet und versucht nachzuvollziehen, was passiert sein könnte. Und in der Tat verbockt iD das: Markiere ich die beiden Gebäudehälften (mit gedrückter Umschalttaste) bekomme ich im Kontextmenü die Option “Vereinigen” (englisch “Merge”) geboten. “Vereinigen” ist, wie ein kurzer Test ergab, wohl auf Linien anwendbar, wenn sie zu einem Way vereinigt werden können, also mindestens einen gemeinsamen Punkt haben und zusammen zwei Enden, als auch auf Flächen, wenn sie sich in mindestens einem Punkt berühren. Im Fall der Linien erzeugt iD eine gemeinsame Linie. Im Fall der Flächen erzeugt iD eine neue Relation mit den Flächen als Outers. In beiden Fällen werden nachfragelos alle Tags zusammengeschmissen und verschiedene mit Semikolon zusammengefasst. Ich kann also zum Beispiel aus einem Fluss und einer Straße eine Flussstraße machen oder aus einem natural=wood + landuse=residential ein Waldwohngebiet.

Die Sache mit den Linien kann ich ja noch nachvollziehen, da muss der User halt aufpassen, was er für Linien zusammenführt. Das Vereinigen der Flächen halte ich aber zumindestens für grob fahrlässig. Der unbedarfte Mapper bekommt gar nicht mit, dass da eine Relation erstellt wurde, deren Support in iD doch eher rudimentär ist. Dass bei Konflikten nicht nachgefragt sondern versemikolont wird, wird auch zu vielen unentdeckten Problemen/Fehlern führen.

Meiner Meinung nach sollte ein Multipolygon auch keine sich an Kanten berührenden Flächen als Outer enthalten. Ist das zulässig/gewünscht oder nicht?

Das ist richtig, laut englischen Wiki sollen mehrere outer-Rings disjunkt sein, sich also nicht berühren.

PS:Habe gerade einen Grins-Anfall - schaut mal hier bei tagwatch zu type=multipolygon (zweiter Eintrag): :smiley:

https://taginfo.openstreetmap.org//search?q=type%3Dmultipolygon

PPS: Laut deutschen Wiki dürfen sich outer-Rings in einem Punkt berühren.

Also, so wie ich das sehe lässt iD ein “Merge” von beliebigen Flächen zu, die müssen sich überhaupt nicht berühren, können also auch kilometerweit auseinander liegen. Die Tags werden einfach 1:1 zusammengewürfelt. Das ist doch mal ein tolles Feature.

Sowohl ; wie auch , können in Hausnummern problemlos ausgewertet werden und werden auch. Schwieriger ist es bei - und / da die zum Teil auch Teil der Nummern sind also nicht eindeutig ausgewertet werden können.

Und da muss ich natürlich auch noch auf

https://twitter.com/sp8962/status/617622144625831936

verweisen :slight_smile:

Woher soll ein Auswerter wissen, ob es sich um eine Liste von Hausnummern handelt oder um eine zusammengesetzte Hausnummer? Bei der Suche kann man bestimmt beides berücksichtigen, aber wie soll man es darstellen? Jetzt zeigt die Standardkarte da tatsächlich “19;17” in der Karte an (Beispiele), was in meinen Augen nicht richtig ist.

Ich denke, dass man sich mit der Vorstellung von Flächen in einem Multipolygon selbst ins Knie schießt weil es die Sache unnötig kompliziert macht. Im MP werden einfach nur die Randlinien der zu beschreibenden Fläche angegeben (bis auf die Ausnahme mit den “touching inner”). Die Tags dieser Linien – auch area=yes usw. – sind für das MP total egal.