Come creare un'etichetta che combina diverse dimensioni o tipi di carattere?


16

Vorrei posizionare il numero di elevazione di un punto in una dimensione frontale diversa e centrato sotto il suo nome:

inserisci qui la descrizione dell'immagine

È possibile?

(Questa è la mia attuale etichettatura: label || '\n' || elevation)

Risposte:


12

Ignorando la dimensione del carattere per il minuto, potresti ottenere la tua prima opzione centrando l'etichetta sopra il punto, in QGIS 1.9 hai la possibilità di centrare il testo nella sezione a più righe. Se hai incluso un carattere di nuova riga nella tua espressione, puoi lasciare vuota la casella "Avvolgi carattere" (oppure inserisco una barra nella mia espressione anziché "\ n" e la imposto come carattere a capo - il carattere a capo non è mostrato). In questo modo il testo sarà centrato come nella seconda opzione. Per qualcosa come la tua prima opzione, puoi impostare l'opzione di altezza della linea su 2 o 3.

Tuttavia, l'etichettatura avanzata di QGIS ha un'unica opzione per la dimensione del carattere. Quindi, per ottenere le diverse dimensioni del carattere, penso che dovrai aggiungere il tuo livello una seconda volta e impostare il carattere di elevazione e la posizione lì dentro.


1
Esistono piani attuali o futuri per implementare l'uso di tag di caratteri basati su HTML per le etichette QGIS, proprio come i tag di formattazione del testo ArcGIS ?
RyanKDalton-OffTheGridMaps

1
@RyanDalton hub.qgis.org/issues/4080 È una buona idea, ma può rallentare il rendering dell'etichetta e potrebbe essere difficile capire la dimensione appropriata dell'etichetta (dal momento che è basata su QFontMetricsF ora), ma devi provare per implementarlo prima di sapere con certezza. Nessun piano per 2.0, ma potrebbe essere fattibile per 2.1.
dakcarto, il

1
Qualche novità su questo?
MAP

È possibile farlo su QGIS 3.6?
Denilson,

5

Puoi ottenere ciò che desideri utilizzando l'etichettatura basata su regole, ma devi separare le etichette situate in un campo in due campi. L'opzione Etichettatura basata su regole ti consente di aggiungere etichette da diversi campi e personalizzarle a tuo piacimento modificando il nome, il colore, la dimensione e l'offset del carattere per posizionarli uno sopra l'altro.

Come puoi vedere nell'esempio seguente, ho messo le etichette giapponesi e le etichette inglesi in due campi e poi ho controllato l'aspetto di ciascuna etichetta come volevo essere:

inserisci qui la descrizione dell'immagine

Per farlo:

  • Vai a Layer properties -> Labels
  • Selezionare Rule-Based Labeling

inserisci qui la descrizione dell'immagine

  • Definire i campi che si desidera utilizzare nell'etichettatura, ciascuno separatamente. In questo esempio, ho usato Name_JP e Name_EN.
  • Usa lo stile per ognuno in modo indipendente e personalizza ognuno come preferisci.
  • La più importante è usare Offsetsotto Placementper quella delle etichette in modo che possano essere sovrapposte. Per il primo campo dell'etichetta ho usato le seguenti impostazioni di posizionamento:

inserisci qui la descrizione dell'immagine

Per il secondo campo dell'etichetta ho usato le seguenti impostazioni:

inserisci qui la descrizione dell'immagine

Testato su QGIS 3.0.1, ma può essere applicato anche in QGIS 2.18 perché è disponibile l'opzione di etichettatura basata su regole.



1

Ho usato un duplicato dello stesso livello ed etichettato sia con i posizionamenti sopra che sotto rispettivamente dopo aver controllato "mostra tutte le etichette e le caratteristiche per tutti i livelli" in allegatoe funziona!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.