Come mostrare le etichette esattamente attorno a un cerchio in QGIS?


10

Ho trovato un modo interessante di mappatura ed etichettatura proporzionale dei simboli, penso che sia stato realizzato da Adobe Illustrator ma non sono riuscito a scoprire se si può fare in QGIS. Quello che mi interessa di più è il modo in cui il testo (attributi) appare attorno ai cerchi. Non ho letteralmente idea di come creare etichette di mappa tematica come questa in QGIS.

Questa è l'immagine:

inserisci qui la descrizione dell'immagine

Risposte:


5

In breve

Dovresti dividere ogni cerchio in 2 metà, quindi convertirli in polilinea (o qualsiasi mezzo per imitare i perimetri delle metà superiore e inferiore). La cosa principale è avere alla fine uno strato con il perimetro superiore e il perimetro inferiore.

Quindi etichettare quello superiore con un'etichetta curva con un'impostazione superiore ed etichettare quello inferiore con un'etichettatura inferiore.

Di seguito la procedura per le schermate

La tabella delle entità dovrebbe apparire così (è un esempio di test, sarà diverso con i tuoi dati). Ho creato un campo posizione e un campo etichetta qui.

tavolo

Nel caso in cui si mantenga un livello fisico, si duplica il livello e si imposta il filtro affinché corrisponda "SU" per una copia del livello e "GIÙ" per l'altro (suggerimento: quando qualcuno avrà impostato questa proprietà nei dati definiti campo questo sarà più semplice)

Filtro

Dovrebbe apparire così nelle proprietà:

generatore di query di proprietà

Per ciascuno, si impostano proprietà di etichettatura diverse

Sotto lo strato

Sotto

Strato superiore

Superiore

quindi ottieni:

Formosa


Bene, ora mi sento sciocco ...
csk

2
Non essere, stiamo tutti imparando tutti i giorni 😉 Questo è lo scambio di stack!
gisnside,

Amo davvero la tua soluzione, ma sto lottando per dividere i cerchi in due metà. All'inizio, avevo un layer punto. Ho creato dei buffer attorno a loro, quindi ho guadagnato poligoni che ho convertito in polilinee. Il mio problema è che non riesco a tagliarli orizzontalmente a metà. Neanche il plugin "Poligon Splitter" fa quello che voglio. Potresti aiutarmi per favore come hai fatto?
Skye,

Per questo esempio, ho appena creato un cerchio di base che ho diviso manualmente in due. Tuttavia, per un gran numero di cerchi, suppongo che potrebbe essere necessario creare alcune linee orizzontali che si estendono orizzontalmente attraverso i limiti del cerchio. Dal centro del cerchio, è necessario creare due punti, uno con (X + raggio del cerchio, Y) uno con (X - raggio del raggio, Y) quindi creare una linea tra quei due. Quindi dividi il livello della linea circolare per il livello della linea orizzontale ... Oppure puoi semplicemente utilizzare manualmente lo strumento di divisione della barra degli strumenti di modifica avanzata manualmente. Darò un'occhiata nel caso in cui mi mancasse qualcosa.
gisnside,

Ci proverò appena posso :)
Skye,

0

Non sembra esserci un modo integrato o un plug-in per rendere le etichette conformi a una curva (o a qualsiasi forma diversa da una linea retta). L'unico modo in cui riesco a pensare di ottenere questo effetto in QGIS è usare un frame HTML per ogni etichetta nel compositore di stampa. L'HTML non è il mio punto di forza, ma ho trovato alcuni siti che spiegano come farlo (link in fondo a questo post). Sembra piuttosto noioso - probabilmente molto più facile produrre una mappa senza etichette, quindi aggiungerle in un altro programma. Oppure produce le etichette in un altro programma, salva come immagini e aggiungi le immagini nel compositore di stampa.

https://css-tricks.com/set-text-on-a-circle/
/programming/14990284/curved-text-using-html-css
https://www.webmasterworld.com /forum21/1250.htm

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.