On Thu, 22 Jan 2009, Torsten Leistikow wrote:

Duerfen die inner-Polygone sich gegenseitig schneiden? Duerfen sie die
outer-Polygone schneiden?

Nein. Das wäre ein Fehler. Wenn die Polygone sich schneiden, dann ist
die Geometrie falsch und muss korrigiert werden. Bei einer ebenen Fläche
können sich die Kanten der Fläche nicht schneiden.

"schneiden" war vielleicht schlecht formuliert. Ich meinte, ob sich die
Randpolygone schneiden duerfen (ausserhalb der Enden), also ob sich die
Flaechen beruehren duerfen.

Ja. Das muss erlaubt sein, sonst klappt es nicht. Ist mir im Rahmen dieser Diskusion auch klar geworden. Aber vermeiden sollte man es trotzdem. JOSM sollte diese angrenzenden Fälle aber richtig darstellen können.

Wie realisiere ich es, wenn der See im Wald eine Insel hat, auf der der
Wald weiter geht? Dann hat der Wald eine Aussengrenze, die gleichzeitig
Innengrenze von einem Element ist, dass eigentlich innerhalb des Waldes
liegt.

Du brauchst zwei Relationen, je eine für jedes Flächenobjekt beschreibt:

Wald: Außenkante See ist ein Inner. Innenkante See ist ein outer.
See: Genau andersherum.

Hm. Das wollte ich in JOSM 1204 vom 02.01.09 mal ausprobieren. Da klappt
aber nicht mal, dass die Flaechen entsprechend der Attribute in der
Relation eingefaerbt werden. Ist mein JOSM (mal wieder) zu alt? War ich
einfach beim Eingeben zu bloed (auch da waere es wohl ein Mal-Wieder)?
Wie erkenne ich denn, dass das in JOSM funktioniert?

Du musst mappaint.multipolygon auf true setzen oder eine ganz aktuelle Version nehmen. Da es ein neues Feature ist, ist wohl letztes besser, aber das aktuelle JOSM ist leider für die stable Variante noch nicht stable genug. Andererseits ist sie Dank Ulf viel schneller als die Vorgänger. :-)

Nochmal zu dem Beispiel, was ich neulich angesprochen habe (Ein Wald mit
See, an dessem Rand es einen Strand gibt). Um das zu verdeutlichen,
habe ich mal eine kleine Grafik ins Wiki gestellt:

http://wiki.openstreetmap.org/wiki/Image:Multipolygon_Example.png

Mit multipolygon-Relationen wuerde man das wie folgt umsetzen:

1. Ich trage den (geschlossenen) Way A ein ohne irgendwelche Attribute ein.

2. Ebenso werden die Ways B, C und D ohne Attribute eingetragen.

3. Fuer den Wald gibt es dann eine Relation mit type=multipolygon und
landuse=forest mit den Mitgliedern outer=A, inner=B und inner=C.

4. - Fuer den See gibt es dann eine Relation mit type=multipolygon und
natural=water mit den Mitgliedern outer=B und outer=D.

5. - Fuer den Strand gibt es dann eine Relation mit type=multipolygon
und natural=beach mit den Mitgliedern outer=C und outer=D.

Soll das so sein?

Ich würde es mit einer Relation lösen, so wie es andere beschrieben haben. Deine Variante ist wahrscheinlich 100% korrekt (kein überlappender Weg), dafür aber komplizierter. Hingegen funktioniert sie auch noch, falls Du das Gebilde komplizierter machst und noch kleine Inseln u.ä. dazukommen. Ist halt Abwägungssache. Bei solchen Konstrukten würde ich auf alle Fälle einen Kommentar in jede Relation schreiben, damit jeder versteht, wie es funktioniert.

Ciao
--
http://www.dstoecker.eu/ (PGP key available)
_______________________________________________
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de

Antwort per Email an