QGIS-Tipp: Labels in Tabellenform?

QGIS_Labels_with_TAB_1

Der Beschriftungsdialog von QGIS läßt die Beschriftung mit umfangreichsten Formeln zu, es gibt fast nichts, womit man nicht beschriften kann. Ein Mangel jedoch, TABs, also Tabulatoren scheinen nicht zu funktionieren. ‘\n’ für Zeilenumbrüche sind perfekt, aber ‘\t’ für TABs funktionieren in der Vorschau, nicht jedoch in den Labels selbst. Der Umweg über das rechnerische Auffüllen mit Leerzeichen, kann natürlich nur mit (meist weit laufenden) monospaced Fonts klappen, z. B. Courier, aber wer will das schon 😉

Ein einfacher Trick ist das mehrfache Beschriften eines Layers über seine Duplikate, hier im Test für zwei Spalten zur Beschriftung mit zwei Themen ‘schacht_1’ und ‘schacht_1_duplikat’, das zweite via Duplizieren erzeugt. Nun beschriftet man ein Thema, z. B. ‘schacht_1’ mit den ersten Spalte unserer virtuellen Beschriftungstabelle  – hier mal mit den fachlich/inhaltlichen Begriffen wie ‘Deckelhöhe:’ – und dann das Duplikat ‘schacht_1_duplikat’ mit den Inhalten der Sachdaten z. B. ‘DH’ bei gleichen Schrifteinstellungen, aber einem entsprechend großen X-Versatz (Offset). Fertig ist die Tabellenbeschriftung des Themas, hier die Schachtdaten: SH … Sohlhöhe, Schacht-ID … Schacht-Nr. und DH … Deckelhöhe.

Das QGIS2/3-Demoprojekt ‘QGIS_Labels_with_TAB.zip’ findet Ihr unter http:/www.geoobserver.de/QGIS_Labels_with_TAB.zip. Viel Spaß beim Testen!

3 Gedanken zu „QGIS-Tipp: Labels in Tabellenform?

  1. Nette Idee, werde ich mal probieren. Hatte bisher sowas nur mit dem Auffüllen von Leerzeichen und einer nichtproportionalen, weil gleich breiten, Schriftart umgesetzt. Z.B. mit dem Eintrag:

    rpad(“haltestelle” ,50-length(“haltestelle”), ‘ ‘) || “entfernung” || ‘\n’ || rpad(‘Einwohner:’ ,50-length(“haltestelle”), ‘ ‘) || rpad(“einwohner” ,3,’ ‘)

    kommt man zu folgender Beschriftung:

    https://www.geoinfo-blog.de/nextcloud/index.php/s/G3crMCT7FIYEsyE

  2. Pingback: QGIS-Tipp: Labels in Tabellenform? – GeoNe.ws

Schreibe einen Kommentar

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