QGIS-Tipp: Polygonumrandung mit innenliegender dicker Linie

Neulich sah ich in einem Tweet eine wunderschöne Polygondarstellung auf einer alten russischen Karte um 1855 [1] aus der Sammlung @rumseymapcenter [2]. Die Symbolisierung ist einfach, schön und erzielt jedenfalls bei mir eine wirklich angenehme Wirkung. Nun wollte ich das mal mit QGIS-Mitteln nachempfinden, ungefähr so:

Bei den einfachen Linien- und Polygonwerkzeugen fand ich keine befriedigende Lösung*. Lösen konnte ich es über den (geliebten) Geometriegenerator mittels der Kombination aus Negativ-Buffer (randf(Wert)) und symmetrischer Differenz, um das Ganze noch etwas aufzulockern habe ich die Liniendicke mit einer Zufallszahl zwischen 1,2 und 2,0 Metern gefüllt, also:

sym_difference($geometry, buffer($geometry, -randf(1.2,2)))

Negativ gebuffert mit zufälligen -1,2 … -2.0 m (buffer) und verschnitten gegen die Ursprungsgeometrie (sym_difference)

Die Farbe der Umrandung wurde auch via Zufall aus den drei RGB-Werten gebildet und zwar nur mit Werten zwischen je 200 … 255, um hellere Töne, quasi Pastellfarben [3] zu erzeugen. Unterlegt wurden die Polygone schließlich mit den OSM-Daten, diese gelb/orange/bräunlich eingefärbt.

color_rgb(rand(200,255),rand(200,255),rand(200,255))

Einfärbung aller drei RGB-Kanäle mit Zufallswerten zwischen 200 … 255

Den Style könnt Ihr unter QGIS_PolyInnerLines_Style_v01.qml [4] herunter laden, nutzen, anpassen und vervollkommnen.

* … möglicherweise findet Ihr eine andere, einfachere Lösung? Gern in den Kommentaren.

[1] … https://twitter.com/grsl1763/status/1356373341053939714?s=20
[2] … https://twitter.com/rumseymapcenter
[3] … https://volkmarmeyd.de/infos/edv/farbtabelle.html#pastell
[4] … http://www.geoobserver.de/Download/QGIS_PolyInnerLines_Style_v01.qml

Ein Gedanke zu „QGIS-Tipp: Polygonumrandung mit innenliegender dicker Linie

  1. Hallo, ich habe ein Problem bei der Symbolisierung und bin so auf dein Beispiel gestoßen. Ich denke es liegt an Symbolisierungseinstellungen die zwar nichts mit speziell mit deinem code zu tun haben, aber vielleicht kannst du mir trotzdem helfen. Ich möchte einen Polygonlayer symbolisieren, ohne eine Füllung, aber die Objekte haben gemeinsame Grenzen, ich möchte jedes Objekt umrandet haben mit einem breiten Streifen, wo nochmal ein Ramen drum herum ist, sodass auch an gemeinsamen Grenzen von den einzelnen Objekten beide farblichen Ramen erscheinen. Also ähnlich wie du es umgesetzt hast. Die gemeisname Grenze ist schwarz gestrichelt und jedes Objekt hat aber nochmal einen breiteren farblichen Rahmen. Bei mir wird leider immer nur der Rahmen eines Objekts gezeichnet. Weißt du eventuell woran das liegt? Vielen Dank im voraus!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert