Wie erstelle ich ein Etikett, das verschiedene Schriftgrößen oder -typen kombiniert?

16

Ich möchte die Elevationsnummer eines Punktes in einer anderen Frontgröße platzieren und unter dessen Namen zentrieren:

Bildbeschreibung hier eingeben

Ist das möglich?

(Das ist meine eigentliche Etikettierung: label || '\n' || elevation)

KARTE
quelle

Antworten:

12

Wenn Sie die Schriftgröße für die Minute ignorieren, können Sie Ihre erste Option erzielen, indem Sie die Beschriftung über dem Punkt zentrieren. In QGIS 1.9 haben Sie die Möglichkeit, den Text unter dem mehrzeiligen Abschnitt zu zentrieren. Wenn Sie ein Zeilenumbruchzeichen in Ihren Ausdruck eingefügt haben, können Sie das Feld "Zeilenumbruchzeichen" leer lassen (oder ich füge einen Schrägstrich anstelle des "\ n" in meinen Ausdruck ein und setze diesen als Umbruchzeichen - das Umbruchzeichen wird nicht angezeigt). Dadurch wird Ihr Text wie in Ihrer zweiten Option zentriert. Für etwas wie Ihre erste Option können Sie die Zeilenhöhenoption auf 2 oder 3 setzen.

QGIS Advanced Labelling bietet jedoch nur eine einzige Option für die Schriftgröße. Um die verschiedenen Schriftgrößen zu erreichen, müssen Sie Ihre Ebene wahrscheinlich ein zweites Mal hinzufügen und die Höhe und Position der Schrift dort einstellen.

MappaGnosis
quelle
1
Gibt es derzeitige oder zukünftige Pläne, die Verwendung von HTML-basierten Schriftart-Tags für QGIS-Labels zu implementieren, ähnlich wie bei ArcGIS-Textformatierungs-Tags ?
RyanKDalton-OffTheGridMaps
1
@RyanDalton hub.qgis.org/issues/4080 Dies ist eine gute Idee, kann aber das Rendern des Etiketts verlangsamen und es kann schwierig sein, die entsprechende Größe des Etiketts zu ermitteln (da dies jetzt auf QFontMetricsF basiert ), muss es aber versuchen Um es zuerst umzusetzen, wissen Sie es sicher. Keine Pläne für 2.0, aber möglicherweise machbar für 2.1.
dakcarto
1
Irgendwelche Neuigkeiten dazu?
MAP
Ist dies unter QGIS 3.6 möglich?
Denilson
5

Mit der regelbasierten Beschriftung können Sie die gewünschten Ergebnisse erzielen. Sie müssen jedoch die Beschriftungen in einem Feld in zwei Felder unterteilen. Mit der Option Regelbasierte Beschriftung können Sie Beschriftungen aus verschiedenen Feldern hinzufügen und nach Belieben anpassen, indem Sie den Namen, die Farbe und die Größe der Schriftart ändern und den Versatz verwenden, um sie übereinander zu platzieren.

Wie Sie im folgenden Beispiel sehen können, habe ich die japanischen und englischen Beschriftungen in zwei Felder eingeteilt und dann das Erscheinungsbild der einzelnen Beschriftungen wie gewünscht gesteuert:

Bildbeschreibung hier eingeben

Um dies zu tun:

  • Gehe zu Layer properties -> Labels
  • Wählen Rule-Based Labeling

Bildbeschreibung hier eingeben

  • Definieren Sie die Felder, die Sie in der Beschriftung verwenden möchten, jeweils separat. In diesem Beispiel habe ich Name_JP und Name_EN verwendet.
  • Verwenden Sie den Stil für jeden einzelnen unabhängig und passen Sie jeden an, wie Sie möchten.
  • Am wichtigsten ist es, Offsetunter Placementfür das eine Etikett zu verwenden, damit sie übereinander liegen können. Für das erste Beschriftungsfeld habe ich die folgenden Platzierungseinstellungen verwendet:

Bildbeschreibung hier eingeben

Für das zweite Beschriftungsfeld habe ich folgende Einstellungen vorgenommen:

Bildbeschreibung hier eingeben

Getestet unter QGIS 3.0.1, kann aber auch unter QGIS 2.18 angewendet werden, da die Option "Regelbasierte Kennzeichnung" verfügbar ist.

ahmadhanb
quelle
1

Ich habe ein Duplikat derselben Ebene verwendet und beide mit Platzierungen über bzw. unter beschriftet, nachdem ich "Alle Beschriftungen und Features für alle Ebenen anzeigen" angekreuzt habe, als befestigtund es funktioniert!

Asiku Emmanuel
quelle