Layerreihenfolge im Deutschen Kartenstil

Liebe community,
ich habe ein Verständnisproblem bei der dargestellten Layerreihenfolge im Deutschen Kartenstil von OSM. Es geht um überlappende Flächen mit dem Key landuse und den Werten meadow (Wiese) und residential (Wohngebiet). In den meisten Fällen liegt meadow „oben“. Es gibt aber auch (wenige) Stellen, wo residential „oben“ liegt.
Welcher Parameter/Einstellung steuert deren Reihenfolge (Prio) zueinander? Spielt da möglicherweise ein multipolygon bei einer der beiden Flächen eine Rolle? Bisher bin ich in dieser Frage nicht wirklich fündig geworden. Kann mir dazu jemand einen Tipp geben?
Vielen Dank schon vorab.

Fast alle Flächen werden gleichzeitig ausgelesen und nach Größe und “feature” sortiert (=landuse, natural, amenity, highway …). Das wesentliche Merkmal ist also die Größe. Kleine Dinge werden über grossen Dingen dargestellt, was oft sinnvoll ist, weil viele Mapper nicht gerne aus grossen Flächen kleine Flächen per Multipolygon ausstanzen (was auch oft nicht sinnvoll wäre).

Ob die Fläche ein Multipolygon ist oder eine normale Fläche ist egal. Diese Info wird vom Renderer gar nicht mehr beachtet.

Ausnahmen gibts bei Verkehrsflächen und Gebäuden. Die werden recht spät über vieles (alles?) drübergeklatscht. Darum sieht man hier die U-Bahn nicht unter der Fussgängerzone und dem Bahnsteig und auch diese Bude verschwindet unter der highway-Fläche.

Edit: Weil “Multipolygon oder eine normale Fläche ist egal” vielleicht missverständlich ist: Wenn die “obere” Fläche ein Mutipolygon ist und dort ein Loch hat, wo die “untere” Fläche liegt, sieht man natürlich beide Flächen, unabhängig von der Größe. Aber das ist keine überlappende Darstellung, weil man da eben durch das Loch auf die “untere” Fläche sehen kann.

… gerade als ‘inner’ des Viktualienmarktes eingebaut, so wie die anderen Buden auch.

Das heißt, wenn ich z.B. alle Flächen mit dem key landuse auslese und darstellen möchte, sollte ich sie anschließend nach Größe sortiert darstellen (große als erstes, die kleinen Flächen zum Schluss), unabhängig von deren Wert (residential, meadow, etc.). Somit würde eine kleine meadow-Fläche auf einer großen residential-Fläche und umgekehrt eine kleine residential-Fläche auf einer großen meadow-Fläche liegen. Korrekt? Wäre logisch und die Antwort auf meine Frage. Danke.

Es gibt da eigentlich kein “oben” und “unten”. Landuses dürfen IMHO nicht überlappen. Das macht ja auch keinen SInn das ein Quadratmeter als “residential” genutzt wird und gleichzeitig als “meadow” also als Weide. IMHO ist die grobe klassifikation nach Nutzung immer exklusiv.

Wenn man eine weide innerhalb eines Residentials hat muss man die via multipolygon aussnehmen aus der umschliessenden Fläche. D.h. eine relation type=multipolygon mit den rollen inner und outer der jeweiligen Flächen.
Das vergessen allerdings viele. Das geht dann aus “Zufall” gut im rendering.

Ich habe da einen Debug layer für - Hier für NRW - Hab ich aber für viele Bundesländer:

https://osm.zz.de/dbview/?db=landuseoverlap-nrw&layer=overlap#51.5935,7.4441,14z

Flo

Scheinen nur eben nicht alle (aus Bequemlichkeit?) zu beherzigen …

Vielen Dank für eure Antworten. Sehr hilfreich.

Stimmt, hier hat jemand
https://www.openstreetmap.org/way/971376370
einfach mal etwas landuse=grass um die romanische Dorfkirche auf landuse=residential gesetzt, ganz ohne sich Gedanken zu machen, welche Probleme durch diese Stapelung entstehen können - vielleicht weil es die gar nicht gibt…

Oder das Problem in diesem Beispiel ist, dass “landuse=grass” eigentlich kein richtiges landuse ist… ? Aber das ist ja ein längeres Thema, das hier nicht aufgemacht werden muss…

Und ich habe landcover.mss immer als Reihenfolge missverstanden, weil z.B. landuse=farmland von vielem Anderen überrendert wird.

Wo im Quelltext ist denn der Größensortierschritt zu finden?

In der project.mml, das “ORDER BY way_area DESC, feature” hinter jedem Auslesen aus der Datenbank. Ein Beispiel für eine Karte, die sich nicht um die Größe kümmert, sondern einfach die Objekte nimmt, wie sie zufällig aus der Datenbank kommen wäre die OpenTopoMap, da steht nirgends was von Sortierung beim Auslesen.

Neben der Bequemlichkeit gibt es zumindestens für Natural und landuse Anwendungsfälle, wo das auch sonnig ist.

Bei Natural=scree oder Weltland kommt zum Beispiel oft auch eine Nutzung als Forst vor, weswegen ich ausschneiden hier nicht sinnvoll finde. Auch in Mooren kommt oft eine Randbeweidung vor - weshalb sich keine Grenze ziehen lässt, weil die faktisch von der aktuellen Feuchtigkeitssituation abhängt.

Was velleicht oftmals der bessere Ansatz wäre,
mit dem Flächrendering der Standardkarte nach Größe hadere ich immer wieder mal.

Beispiel: leisure=park “streitet” sich dort mit natural=wood, was “oben ist”, flächig gerendert wird - da fände ich eine klare Render-Reihenfolge besser: “park ist die Grundierung für alles, was darauf stattfindet”.