È possibile scrivere un'espressione di etichetta in qgis che visualizza l'etichetta in corrispondenza di una determinata coordinata?


15

Sto usando il generatore di espressioni QGIS per le proprietà dell'etichetta dei miei dati.

È possibile inserire diverse parti dell'etichetta in coordinate diverse sulla mappa?

Ad esempio, ho una stringa lineare e vorrei che "A" fosse visualizzato all'inizio della stringa lineare e "B" alla fine di essa.

Risposte:


22

Un metodo consiste nell'utilizzare l' etichettatura basata su regole e aggiungere due regole per "A" e "B".

  1. Vai a Layer Properties > Labelse modifica l'opzione No labelsin Rule-based labelling. Quindi aggiungi una regola facendo clic sull'icona più verde:

    Etichettatura basata su regole

  2. Impostare le opzioni pertinenti come mostrato come Label with(usa qualcosa 'A') e il Coordinate X Y. Per la coordinata x, fare clic Edit...e utilizzare $x_at(0)per posizionare l'etichetta all'inizio della stringa di linea; per la coordinata y, utilizzare $y_at(0).

    Opzioni per le regole

  3. Ripetere il passaggio 2 per "B" ma per le coordinate xy, utilizzare $x_at(-1)e $y_at(-1)rispettivamente per la fine del linestring.

  4. Quando fai clic su Applica , si spera che dovresti vedere qualcosa del genere:

    Linee con etichette


1
Grazie per aver condiviso la tua soluzione! Lo guarderò più da vicino. Sono abbastanza nuovo in QGIS e la curva di apprendimento è ancora agli inizi.
Benoitespinola,

@benoitespinola - Mi scuso per non aver risposto (normalmente rispondo ai commenti)! Molto gradito e sono sicuro che ti abituerai molto rapidamente a QGIS :)
Joseph,

11

Esiste un modo alternativo per farlo utilizzando la simbologia piuttosto che l'etichettatura che potrebbe funzionare per te:

- Se si desidera un testo diverso per funzionalità diverse, aggiungere due campi ai dati, uno per il testo finale e uno per il testo iniziale. Ciò non è necessario se si desidera solo "A" e "B" alle estremità delle linee.

  • Simbolizza il tuo livello linea e quindi aggiungi un nuovo livello simbolo -> imposta questo su una linea di marcatura sul primo vertice
  • Impostare il tipo di simbolo su un indicatore di carattere
  • Impostare il marcatore su 'A' o impostare il valore in modo che corrisponda al campo iniziale dalla tabella degli attributi dei livelli
  • Muck in giro con dimensioni e rotazione ecc. Come si farebbe con un marcatore standard.

Ripetere l'operazione per aggiungere la "etichetta" finale.

inserisci qui la descrizione dell'immagine


Bello! Grazie per la tua soluzione! Lo proverò anche io. :)
benoitespinola il
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.