[Talk-de] Worldfile vom 7.1.09 - Befreit die Seen vom Wald!

Dirk Stöcker openstreetmap at dstoecker.de
Do Jan 22 17:37:25 UTC 2009


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)


Mehr Informationen über die Mailingliste Talk-de