Overpass-Abfrage: Überlagerung von Flächen

Frage: Ist es möglich die Überlagerung von Flächen zu ermitteln?

Beispiel: Ein Wasserfläche überlagert eine Waldfläche, wobei die Wasserfläche nicht ausgeschnitten ist.

Ich glaube @flohoff hat eine solche Auswertung von überlagernden Flächen.

Keine ahnung ob Overpass das kann. Ich habe da eine Auswertung für - Deutschland uns Österreich:

Hier - landuse<>landuse

https://osm.zz.de/dbview/?db=landuseoverlap-germany&layer=overlap#51.033,10.404,8z

Hier landuse <> natural und natural <> natural (partiell)

https://osm.zz.de/dbview/?db=landuseoverlap-germany&layer=natural#51.033,10.404,8z

Und dann gibts noch so generische dinge wie “partielle überlappung” auch mit
amenity, building etc

Entweder die sind IN einem Landuse, oder AUSSERHALB - aber eben nicht so halb.
Ein Parkplatz gehört zum landuse=commercial oder es gehört nicht dazu.

Das nenne ich “hierarchy”

https://osm.zz.de/dbview/?db=landuseoverlap-germany&layer=hierarchy#51.033,10.404,8z

Wenn du oben auf “Back to databases” gehst findest du alle auswertungen die ich am laufen habe.

Da gibts noch “große” landuses und “suspicious” - also kleine landuses (Landuses <40m² z.b.) und “complex” - also so oktopus landuses die irre viele inner/outer oder arme haben.

Flo

1 Like

Mein konkreter Anwendungsfall sieht so aus:

In den letzten Jahren wurden viele Flächen “natural=bare_rock” erfaßt. In Deutschland sind das oft Felsen im Wald. Da die OSM-Carto-Karte die Objekte korrekt anzeigt, also ‘bare_rock’ (Objekt) nach ‘forrest’ (Basis) rendert, werden die Objekte vom Mapper oft nicht ausgeschnitten.

In den Alpen gibt es hingegen sehr große Felsflächen (Basis), die durch z.B. Wasserflächen (Objekt) überlagert werden.

Anders ausgedrückt: Ob eine (nicht ausgeschnittene) Fläche erscheint oder nicht, hängt von der Zeichenreihenfolge (draw priority) ab. Und die dürfte bei jeder Karte im Detail anders sein.

Optimal passen wird die Zeichenreihenfolge nie, aber was wäre der beste Kompromiss.

Die Auswertung von flohoff findet in der Tat die Überlagerung von ‘forrest’ durch ‘bare_rock’:

Läßt sich die Auswertung auch nur auf einen bestimmten Sachverhalt begrenzen?

Keine Ahnung, ob das bzgl. Performance ein Problem wäre, aber sinnvoll wäre es generell, die kleinere Fläche nach (über) der größeren zu rendern.

1 Like

Keine Ahnung, ob das bzgl. Performance ein Problem wäre, aber sinnvoll wäre es generell, die kleinere Fläche nach (über) der größeren zu rendern.

innerhalb des selben Renderinglayers wird das auch so gemacht, aber wenn es unterschiedliche Layer sind geht es nicht.

Was bedeutet Layer in diesem Zusammenhang?

Das was mapnik darunter versteht, also ein Query bzw. ein shapefile oder eine andere Quelle, die dann gestylt wird,