Come posso collegare un'etichetta e puntare con una linea / freccia?


12

In qualche modo è possibile in QGIS collegare etichette e punti con una linea / freccia o qualcosa del genere? Nella mia mappa non è chiaro quale etichetta abbia il suo punto. Non posso avvicinarlo perché ci sono molti altri punti a venire.inserisci qui la descrizione dell'immagine


La soluzione xof funziona per me. Ma vorrei sapere se è possibile avere una breve legenda nel mio elenco di forme ... non come questo esempio qui sotto, con già un'etichetta corta ... ! [Il mio test ] ( i.stack.imgur.com/8VWoN .png ) Grazie!
MathieuG,

Risposte:


7
  • Innanzitutto, crea i campi di etichettatura per la posizione X e Y delle etichette nella tabella dei punti.

  • Attiva il posizionamento X e Y nelle proprietà del tuo livello.

oltrepassare

  • Crea un nuovo stile "Espressione generatore" nel tuo stile punto, impostalo sul tipo di linea, quindi utilizza le seguenti formule:

    make_line (make_point ($ x, $ y), make_point ("LABEL_X", "LABEL_Y"))

Come miglioramento, puoi usare vari campi (o usare un plugin per crearli tutti) per controllare dove sarà il punto di allineamento. È possibile utilizzare un campo di rotazione e un campo di allineamento verticale e orizzontale.

messa in piega

La linea si sposterà di conseguenza sulla posizione dell'etichetta, poiché il suo punto di arrivo è correlato al campo posizione etichetta.


5

Puoi provare a scaricare e installare il plug-in EasyCustomLabeling da Plugin > Gestisci e installa plug-in , questo crea un livello di memoria duplicato del tuo livello vettoriale selezionato e contiene gli stessi attributi.

( Nota che dovrai anche scaricare e installare il plug-in Risparmio livello memoria per salvare correttamente il livello memoria, questo è descritto nella descrizione del plugin ).

Una volta creato il livello dell'etichetta, puoi giocare con il posizionamento e lo stile dell'etichetta di quel livello per provare a ottenere ciò che stai cercando:

Collegare

Impostazioni livello etichetta

Livello etichetta

Spero che sia di aiuto!


grazie @ Giuseppe. È corretto che posso scegliere un solo attributo con questo plugin? (a proposito: anche questa dovrebbe essere una nuova domanda?)
kevkev,

Nah! Non se si tratta di una semplice domanda sì / no =). Ma hai ragione, solo un attributo per livello, quindi puoi creare più livelli etichetta se lo desideri.
Joseph,

In realtà è possibile. Dopo aver creato il livello etichetta è possibile modificare lì gli attributi: D
kevkev

@KevinSuhr - Brilliant! Grazie, ho imparato qualcosa =)
Joseph

1
Dal post di @underdark; Un caso d'uso comune è il desiderio di mostrare più valori di attributo nell'etichetta di una caratteristica. Utilizzando Field Calculator, è possibile combinarli in etichette multilinea. Tutto ciò che serve è combinare i campi con il || operatore e aggiungi '\ n' (newline) ovunque ci dovrebbe essere un'interruzione di riga: Field1 || '\ n' || Field2
Lee

4

Per quanto riguarda il metodo di gisinside: il primo passo dell'aggiunta manuale di attributi x / y per le etichette può essere omesso; (forse da QGIS3?) esiste già una variabile ausiliaria per il posizionamento delle etichette. Le variabili sono chiamate di conseguenza: "auxiliare_storage_labeling_positionx" e "auxiliare_storage_labeling_positiony".

Quindi al punto n. 2 puoi usare questa espressione per disegnare linee:

make_line (make_point ($ x, $ y), make_point ("auxitime_storage_labeling_positionx", "auxiliare_storage_labeling_positiony"))

Si noti tuttavia che alle variabili ausiliarie viene assegnato un valore solo se si toccano / si spostano le etichette con lo strumento sposta etichetta. Pertanto, vengono visualizzate solo le righe per le etichette che sono state spostate manualmente.


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.