Wie sich überlagernde Flächen bezeichnen?

Hallo Leute!

Konnte zu diesem Thema nichts befriedigendes finden.
Ich habe das Problem, daß sich überlagernde Flächen in Osmarender nicht richtig angezeigt werden.
Aus einer Diskussion hier im Forum konnte ich entnehmen, daß man für so etwas layer nicht einsetzen kann.

Beschreibung:
Ein Sportplatz, auf dem sich mehrere unterschiedliche Spielfelder befinden.

Den Sportplatz habe ich mit “leisure= pitch” (ist evtl. nicht richtig), “name=Sportplatz” und “sport=multi” bezeichnet.
In diese Fläche hinein habe ich drei Spielfelder für Beachball, Fußball und Feldhandball eingezeichnet.
Diese habe ich wie folgt bezeichnet.

Beachballfeld: “leisure=pitch”, “name=Beachball” und “sport=Beachball”
Fußballfeld: “leisure=pitch”, “name=Fußball” und “sport=soccer”
Feldhandballfeld: “leisure=pitch”, “name=Handball” und “sport=Feldhandball”

Unter Mapnik wird der Sportplatz so angezeigt, wie ich es mir vorgestellt habe.
http://www.openstreetmap.org/?lat=48.724571&lon=9.668644&zoom=18&layers=B000FTF

Unter Osmarender Zoomstufe 17 wird nur ein eines der drei Spielfelder angezeigt.
Die Spielfelder für Fußball und Handball werden nicht angezeigt.
http://www.openstreetmap.org/?lat=48.72464&lon=9.66873&zoom=17&layers=0B00FTF

Daraus ergeben sich für mich folgende Fragen.

1). Wie muß ich die Flächen richtig benennen, damit sie richtig angezeigt werden? Oder kommt es hier darauf an, in welcher Reihenfolge die Flächen eingezeichnet werden? oder muß ich in der größeren Fläche “ein Loch” für die kleineren Flächen lassen, und wenn ja, wie geht so etwas?

2). Gibt es eine Auflistung, welche Keywörter für “sport” erlaubt sind? Ich konnte hier für Beachball oder Feldhandball keinen passenden englischen Begriff finden.

3). Ich stehe vor einen ähnlichen Problem für eine Schule.
Das Schulgebäude (als Fläche) habe ich mit “amenity=school”, “building=yes”, und “name=Schulname” bezeichnet und möchte nun eine Fläche einzeichnen, die das ganze Schulgelände (also incl. des Gebäudes) darstellt.

3b). Wie muß ich die Fläche für das ganze Schulgelände bezeichnen damit später beim rendern das Schulgebäude auf der Fläche des Schulgeländes liegt?
http://www.openstreetmap.org/?lat=48.72872&lon=9.6494&zoom=17&layers=0B00FTF

Gruß Frank

Hi,

zu 1) Hier arbeite ich mit leisure=pitch / track und layer=1 für die innere Fläche

zu 3) Schulgelände mit amenity=school und Schulgebäude mit building=yes

Grüße
Chris

Ja, das layer-Tag hat hier auf alle Faelle nichts zu suchen.

Wenn du die inneren Flaechen als pitch markierst, macht das eigentlich keinen Sinn, die Gesammtflaeche ebenso zu markieren. Das die Renderer damit nicht unbedingt gluecklich sind (bei all ihren Fehlern), kann man wohl leicht verstehen.

  1. Grundsaetzlich tragen wir in die Datenbank ein, was wir in der Realitaet finden. Wie das vom Renderer angezeigt wird, ist Sache des Renderers, dem zuliebe verbiegen wir nicht die Wirklichkeit. (Deshalb auch kein layer-Tag).
    Nun gibt es aber meist keine feste Definition, wie jeder Einzelfall abzubilden ist. Da kann man schon darauf achten, dass man die Sache moeglichst renderer- oder router-freundlich eintraegt.

  2. Die Reihenfolge beim Einzeichnen ist egal, wenn das mal einen Unterschied machen sollte, so ist das purer Zufall und nichts, worauf man sich verlassen kann.

  3. Loecher in Flaechen kann man mit der multipolygon-Relation erzeugen. Das Konstrukt ist aber so kompliziert (vorallem fuer die Renderer), dass ich von der Benutzung abrate.

Das Ganze hilft dir jetzt in deinem Fall allerdings noch nicht weiter.
Also schauen wir uns die Sache nochmal an:

  • Bisher hast du eingetragen, dass es da einen Sportplatz gibt, der von mehreren anderen Sportplaetzen ueberlagert wird. Das ist natuerlich missverstaendlich.

  • Die Gesammtflaeche koennte man als leisure=sports_centre markieren. Das wuerde sich schon mal von den Spielfeldern abheben. Man hat dann aber noch logisch das Problem, dass man fuer die Flaeche zwei verschiedene leisure-Werte gleichzeitig definiert. Das ist dann auch nicht eindeutig, und letztendlich íst es dann wieder Zufall, was der Renderer daraus macht.

  • Man koennte auch nur die Flaeche ausserhalb der Spielfelder extra markieren. Auch dort waere leisure=sports_centre moeglich, denn letztendlich gehoert das ja zur Sportanlage. Ansosnten koennte ich mir auch leisure=common oder landuse=meadow vorstellen, je nachdem, wie es da vor Ort aussieht.
    Bei diesem ansatz muss man dann aber natuerlich die Spielfelder von der Flaeche ausnehmen. Da kommt dann entweder eine Multipolygonrelation zum Einsatz, ich rate aber eher dazu, die Aussenflaeche einfach in zwei oder mehrere Teile zu unter, so dass man dann ohne “Loecher” auskommt.

Erlaubt ist eigentlich alles, nur hat man natuerlich nichts davon, wenn keiner weiss, was gemeint ist. In gewisser Weise als offiziell kann man die Liste der Mapfeatures im Wiki ansehen:
http://wiki.openstreetmap.org/index.php/Map_Features
Das heisst jetzt aber nicht, dass die Renderer sich an diese Liste halten. Genau wie die Editoren kochen auch die leider irgendwie sein eigenes Sueppchen.

Das sollte eigentlich so klappen, wenn die Gesamtflaeche als amenity=school markiert wird und die Gebaeude selber als building=yes. Es gibt zwar keinerlei verbindliche Vorgaben, welche Flaechen ueber welchen gezeichnet werden sollen, es ist aber eigentlich Standard, dass die building=* Flaechen ueber die anderen gemalt werden.

Gruss
Torsten

Hallo Thorsten!

Ja, nicht nur fuer die Renderer. Ich hatte dazu eine Anleitung nach dem Posting gelesen, und (als Anfänger) nichts verstanden. Vielleicht nehme ich mir mal die Zeit mir das noch 10 mal durchzulesen. Vielleicht kapiere ich es dann.

Habe ich jetzt so gemacht.
Das große Feld als leisure=sports_centre, und die kleinen Felder als leisure=pitch.
Das Ergebnis ist für meine Begriffe annehmbar.
Bei einem Sportplatz muß ich nur die Namen anpassen, weil die Namen der großen Flächen die Namen der kleinen Flächen überlagern. -Ich habe mich dazu entschlossen, die Namen der großen Flächen zu streichen.
Mal sehen, wie es morgen dann aussieht.

Werde ich noch ausprobieren. Bin noch nicht dazu gekommen den ganzen Campus zu erfassen.

Vielen Dank für deine Hilfe.

Gruß Frank

Bei komplizierten Anlagen geht es garnicht ohne Multipolygon, außer man macht es sich selbst unnötig kompliziert und arbeitet mit Stückwerk drumherum. Davon rate ich wiederum ab, sowas ist einfach nur liederlich und bei Überlappungen auch beschissen zu bearbeiten.

Das Sportgelände wird je nach Verwendung entweder Stadium oder Sportcenter. Daraus werden die einzelnen Spielfelder ausgeschnitten. Kompliziert wird es bei Spielflächen mit Laufbahn und Sprungruben. Dort muss man verschachtelt arbeiten. Macht man es richtig dann hat man aber leicht zu berbeitende freiliegende Flächen ohne Flickwerk und Überlappungen, die zudem auch noch sauber gerendert werden. Layer haben hier garnichts zu suchen.

Ein Beispiel findet sich z.B. hier http://www.openstreetmap.org/?lat=51.27016&lon=11.40778&zoom=17&layers=B000FTF

Hallo Mirko!

Danke für die Vorlage, werde ich mir reinziehen.

Gruß Frank