Usando la banda di colori continua per la legenda raster nella legenda del compositore QGIS?


32

Sto cercando un modo per inserire una legenda dei colori continua per un livello raster. Sono riuscito a creare simboli discreti con valori lungo la barra, ma vorrei avere una barra continua con alcuni valori sulla barra, simile al vecchio plug-in "One-Band Raster", che non funziona con la versione QGIS superiore a 1,7

Ho provato a impostare lo stile proprietà->, dove ho selezionato il tipo di rendering "pseudocolore a banda singola" e ho visto la casella "Genera nuova scala di colori". Ho provato sia "Continuo" o "Intervallo uguale". Tuttavia, nel compositore la legenda viene sempre visualizzata con simboli discreti.

Esiste un modo per far sì che QGIS Composer mostri una buona banda continua per un livello raster?


Temo che non sia possibile in QGIS per l'articolo della legenda. La soluzione alternativa è creare un'immagine e inserirla nel compositore. Per i colori continui del raster, selezionare l'interpolazione lineare.
Radouxju,

Risposte:


40

Un'altra opzione è quella di aggiungere una forma rettangolare alla composizione, quindi modellare il rettangolo usando un riempimento sfumato con lo stesso colore del raster. Questo può essere fatto direttamente in QGIS, non è necessario modificare immagini o HTML.

inserisci qui la descrizione dell'immagine


Tuttavia, ciò non fornisce le misure necessarie per la leggenda
Shawn,

Dovrebbe fornire informazioni sulla versione di QGIS.
Chang,

11

Una soluzione alternativa senza immagini consiste nell'aggiungere il gradiente utilizzando una cornice HTML e un po 'di magia CSS:

<html> <head> <style type="text/css"> 
body { background: -webkit-linear-gradient(left,red,orange,yellow,green);  }
* { color: white;  font-family: "Source Sans Pro", Arial, sans; font-size: 24px;  }
</style></head>
<body> <div style="float:left">low value</div>
       <div style="float:right">high value</div>
</body> </html>

inserisci qui la descrizione dell'immagine


9

Un po 'un giro di hack per convincere il compositore a farlo in QGIS 3

Aggiungi la tua legenda, quindi regola le dimensioni del simbolo nella legenda su qualcosa di piccolo (l'esempio è 1,5 mm). Vedrai ancora linee bianche che dividono le bande di colore, queste sembrano essere correlate alla dimensione del carattere per il testo della legenda, quindi impostalo su zero.

È quindi possibile aggiungere etichette manuali lungo il gradiente e un rettangolo per mascherare il testo della legenda o impostarlo su bianco.

Questo non dà un gradiente perfetto in quanto rimangono alcune piccole linee bianche, ma per i miei scopi era abbastanza buono.

Modificare; Questo è stato testato su QGIS versione 3.4.1-Madeira

Come sotto;

inserisci qui la descrizione dell'immagine


Ho assegnato una generosità a questa risposta perché era l'unica a menzionare il numero di versione (anche se solo la versione principale) a cui si applica.
PolyGeo

Potrebbe anche essere necessario regolare lo "Spazio simbolo" in "Spaziatura" e deselezionare la casella di "Disegna tratto per simboli raster" in "Simbolo"
Brian Fisher

3

Questa opzione non è inclusa in QGIS ma ecco cosa faccio:

Prima classifica usando la rampa di colore desiderata. Quindi vai su Impostazioni -> Gestione stili -> Rampa colore (mostra la figura seguente): inserisci qui la descrizione dell'immagine

Ora puoi usare 'Strumento di cattura' per copiare la rampa che hai usato. Ad esempio, la figura seguente mostra la rampa di colore "Blues" copiata utilizzando lo strumento di cattura:

inserisci qui la descrizione dell'immagine

Ora, in "Composer Manager", usa "Aggiungi etichetta" e "Aggiungi immagine" per aggiungere una scala di colori continua insieme alla legenda. Per ottenere il valore 'Max' e 'Min' per l'uso continuo della rampa di colore, Proprietà livello -> Stile.


3

ancora un'altra opzione, ma limitata alle rampe della città-cpt.

Questo funziona

  • se hai installato il plug-in Color Manager e
  • hai scelto di installare le rampe cpt-city

È possibile rilasciare il file di rampa svg sulla tela come immagine. Nella mia configurazione di Ubuntu appaiono sotto ~ / .qgis2 / cpt-city /

inserisci qui la descrizione dell'immagine


3

inserisci qui la descrizione dell'immagineInoltre, potresti voler aggiungere una scala alla tua legenda. Puoi farlo aggiungendo una barra di scala. Gioca con le unità e i segmenti per ottenere l'estensione e i segmenti di cui hai bisogno.

  1. Ruota la barra della scala, se necessario, per allinearla alla tua rampa.
  2. Rimuovi l'etichetta delle unità o metti un'etichetta appropriata. Questo funzionerà per unità lineari equidistanti. Per le scale non lineari è possibile sovrapporre più barre di scala con unità e segmenti diversi.

Sto ancora cercando di capire come ruotare il testo


Questa è la soluzione più vicina che potrei prendere in considerazione, ma è ancora un trucco. Mi chiedo quale sia stata la ragione per interrompere il plug-in One-Band Raster?
Bogdan,

3

Esiste un plug-in qgis per eseguire questa operazione nel repository principale: Barra della scala dei colori per i raster a una banda e funziona bene per me per QGIS 2.X https://github.com/BC-Consulting/bccscbar o QGIS 3.X https : //github.com/BC-Consulting/geoprocalgos

inserisci qui la descrizione dell'immagine


Potresti aggiungere istruzioni per l'installazione?
Luís de Sousa,

All'inizio pensavo di averlo installato in modo errato, ma sembra che questo plug-in semplicemente non funzioni. Potresti voler rivedere o aggiornare la tua risposta.
Luís de Sousa,

Il plug-in funziona perfettamente e lo troverai nel look principale del Plugin Repository per Color Scale Bar
Spanish_Inquisition,

1
Questo plugin non è per QGIS 3; sviluppato per QGIS 2.x ed è retrocompatibile con .qml generato con QGIS versioni 1.x.
Shawn,

Questo plugin non è più disponibile nemmeno per LST V2.18. Anche il collegamento Web all'inizio della risposta non è più valido.
Hasnein Tareque,
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.