Qualche settimana fa scrissi un blog post su come recuperare il testo di una legenda modificata manualmente, in questo blog post parlerò, invece, di come modificare il testo di una legenda categorizzata usando i valori di un altro attributo rispetto a quello utilizzato per categorizzare.
Supponiamo di aver categorizzato i Comuni della Sicilia (ISTAT 2022) utilizzando come attributo COD_PROV:
In questo caso il testo della legenda è poco esplicativo, quindi nasce l’esigenza di modificare la legenda usando, per esempio, un altro attributo che contenga un testo più esaustivo:
quindi, aggiungo un altro layer che contenga il testo desiderato e faccio una JOIN tabellare (se l’attributo che mi servisse non fosse già presente nella tabella):
Per la modifica del testo abbiamo realizzato (Giulio Fattori grazie!) uno script di Processing che modifica solo il testo della legenda categorizzata, basta avviarlo, si presenta così:
- selezionare il layer categorizzato e da modificare;
- selezionare il nuovo attributo che contiene il testo desiderato da visualizzare in Legenda.
ecco il risultato:
NOTE FINALI : L’algoritmo è particolarmente utile quando, nella categorizzazione, vengono personalizzati i soli simboli, la ri-categorizzazione significherebbe perdere tutta la simbologia creata; con questo algoritmo, riusciamo a cambiare solo il testo in legenda.
NB: L’algoritmo va messo nella cartella del profilo utilizzato in QGIS , ovvero: C:\Users\nomeUtente\AppData\Roaming\QGIS\QGIS3\profiles\CorsoBaseQGIScls2\processing\scripts
NB2: se nella categorizzazione ci fossero dei filtri, occorre prima toglierli eseguire il processing e poi riapplicare i filtri, altrimenti non funzionerebbe e comparirebbe un messaggio di errore. (Grazie a Ivano per la segnalazione per macchine macOS)
NB3: l’algoritmo è consigliato per versioni >= QGIS 3.24
RIFERIMENTI
- QGIS : https://www.qgis.org/it/site/
- repository algoritmo : https://github.com/Korto19/Edit-Legend-Text-Categorized
- Supporto lista qgis-it-users : https://lists.osgeo.org/pipermail/qgis-it-user/2022-June/009880.html
RINGRAZIAMENTI
- Giulio Fattori : https://github.com/Korto19
- Andrea Giudiceandrea : https://github.com/agiudiceandrea
I MIEI CANALI – ISCRIVITI
- Telegram : https://t.me/pigrecoinfinito
- YouTube : https://www.youtube.com/c/TotòFiandaca
Se il blog post Ti è piaciuto cliccate su ‘Mi piace’, grazie!!!
if you liked the blog post click on ‘Like’, thank you !!!
Ottimo
"Mi piace"Piace a 1 persona
Grazie!
"Mi piace""Mi piace"
Ho provato anche con un layer a cui è stato applicato un filtro e non noto problemi.
1. ho creato un memory layer con due campi testo
2. ho aggiunto alcune feature inserendo appositi valori nei due campi
3. ho aggiunto un filtro al layer in base al primo campo
4. ho modificato la symbologia del layer in categorizzato con classificazione generata in base al primo campo
5 ho eseguito lo script indicando il secondo campo come nuovo testo delle etichette delle categorie
"Mi piace"Piace a 1 persona
Ciao Andrea,
grazie per il test.
Ivano segnalava il problema per macchine macOS (specifico meglio nel testo)
"Mi piace""Mi piace"
Non penso che possa dipendere dal sistema operativo. Comunque, senza un log di errore ed una esatta procedura che lo generi è difficile poterne capire il motivo.
"Mi piace""Mi piace"
Questo il messaggio inoltrato da Ivano:
https://t.me/c/1208649075/4114
"Mi piace""Mi piace"