QGIS-Plugin für schnelle Anpassung des Kartenstils

Symbologie und Schriftgröße einer QGIS-Karte mit wenigen Klicks ändern, anstatt für viele Kategorien jedes einzelne Symbol (und jede Symbolebene) oder viele regelbasierte Labels zu ändern.

Screenshot Adjust Style
QGIS Plugin Adjust Style

Das Aussehen einer Karte in QGIS zu ändern, kann viel Arbeit bedeuten: Farbe und Liniendicke zahlreicher Symbole – die oft aus mehreren Symbolebenen bestehen – und die Schriftart / -größe verschiedener regelbasierter Beschriftungen müssen geändert werden, und jeder Schritt erfordert eine Menge Mausklicks. Vielleicht sähe es besser aus, wenn alle Straßen etwas breiter wären? Die Schriftgröße der Beschriftungen ein wenig größer? Wie wäre es, eine Schriftart, die in vielen Beschriftungsregeln verwendet wird, durch eine andere zu ersetzen? Oder eine einfarbig blaue Karte in eine pinke Karte zu verwandeln?

Ich habe ein Python-Plugin geschrieben, um all dies schnell und konsistent mit ein paar Klicks zu erledigen:

  • Farbe aller Symbole (einschließlich Farbverläufe und einer beliebigen Anzahl von Symbolebenen) und Beschriftungen mithilfe des HSV-Farbmodells (hue, saturation, value) ändern (Farbton bzw. Farbkreis drehen, Sättigung und Helligkeit ändern)
  • Liniendicken aller Symbole ändern (incl. Polygonränder)
  • Schriftgröße aller Beschriftungen ändern
  • Eine in Beschriftungen verwendete Schriftart überall durch eine andere Schriftart ersetzen
  • Stile aller Ebenen in einen Ordner speichern bzw. aus einem Ordner laden.
  • … und all das für alle Ebenen, für alle gewählten Ebenen oder für die aktive Ebene.

Installieren

Das Plugin ist im QGIS Plugins Repository und kann direkt von QGIS installiert werden (Menü: Erweiterungen > Erweiterungen verwalten und installieren).

Alternativ den Ordner mit dem Source Code in den Plugin-Ordner von QGIS kopieren (oder mit Git klonen) und das Plugin in QGIS aktivieren (Menü: Erweiterungen > Erweiterungen verwalten und installieren).

Verwendung

Das Plugin vom Menü oder dem Toolbar starten, auf der rechten Seite des Hauptfensters öffnet sich ein Werkzeugkasten. Als Erstes die Ebenen wählen, die angepasst werden sollen. Mögliche Auswahl:

  • Aktive Ebene
  • Gewählte Ebenen
  • Sichtbare Ebenen
  • Alle Ebenen

Farbe ändern

Das Anpassen von Farben funktioniert im HSV-Farbmodell. Das bedeutet, dass der Farbton der HSV-Farben wie ein Farbrad gedreht werden kann: Einfach den Winkel der Drehung einstellen und auf „OK“ klicken. Das Farbgitter oberhalb des Schiebereglers dient als Vorschau.

Um Sättigung und Farbwert (= Helligkeit) einzustellen, klicken Sie auf die entsprechenden Plus- und Minus-Buttons. Vorsichtig: Die Plus- und Minus-Schaltflächen können nicht verwendet werden, um bereits vorgenommene Änderungen rückgängig zu machen, da die Werte der Sättigung und des HSV-Werts im Intervall von 0 bis 255 bleiben und jede Farbe, die an diesen Grenzen ankommt, nicht im gleichen Maß zurückgeschoben werden kann. Es empfiehlt sich, die Ebenenstile zu speichern, bevor Sie diese Schaltflächen verwenden!

Liniendicke

Die Liniendicke aller Symbole (Linien und Ränder von Polygonen und Punktmarkern) wird bei Klicks auf die Plus-/Minusbuttons um ± 5 % geändert.

Beschriftungen

Hinweis: Die Änderung der Farbe einer Ebene ändert auch die Farbe der Beschriftungen (Text, Puffer, Hintergrund).

Schriftgröße: Die Plus-/Minusbuttons ändern die Schriftgröße überall um ± 5 %.

Schrift ersetzen: Eine im Projekt verwendete Schriftart überall durch eine beliebige Schriftart ersetzen.

Stile speichern und laden

Diese Schaltflächen bieten eine schnelle Möglichkeit, die Stile aller (oder aller ausgewählten) Ebenen zu speichern. Sie müssen nur einen Ordner auswählen. Der Dateiname der QML-Dateien entspricht dem Namen der Ebenen (wobei problematische Sonderzeichen durch Unterstriche ersetzt werden). Wenn es mehrere Ebenen mit demselben Namen gibt, werden dem Dateinamen zur Unterscheidung Indexwerte angehängt.

Wenn die Ebenennamen zweier Projekte übereinstimmen, ist es sogar möglich, die Stile eines Projektes für alle Ebenen direkt im anderen zu laden.