Usando banda de cores contínua para legenda raster na legenda do compositor QGIS?

32

Estou procurando uma maneira de inserir legenda de cores contínua para uma camada raster. Consegui criar símbolos discretos com valores ao longo da barra, mas gostaria de ter uma barra contínua com alguns valores na barra, semelhante ao antigo plugin "One-Band Raster", que não funciona com a versão QGIS maior que 1,7

Tentei definir em properties-> style, onde selecionei o Render Type "Singleband pseudocolor" e vi a caixa "generate new color ramp". Eu tentei "Contínuo" ou "Intervalo igual". No entanto, no compositor, a legenda sempre é exibida com símbolos discretos.

Existe alguma maneira de fazer o QGIS Composer exibir uma boa banda contínua para uma camada raster?

Bogdan
fonte
Receio que no QGIS não seja possível o item de legenda. A solução alternativa é criar uma imagem e inseri-la no compositor. Para cores contínuas da varredura, selecione interpolação linear.
radouxju

Respostas:

40

Outra opção é adicionar uma forma de retângulo à composição e estilizar o retângulo usando um preenchimento de gradiente com a mesma rampa de cores da sua varredura. Isso pode ser feito diretamente no QGIS, sem a necessidade de edição de imagens ou html.

insira a descrição da imagem aqui

ndawson
fonte
Isso não fornece as medidas necessárias para a lenda, no entanto
Shawn
Deve fornecer informações sobre a versão do QGIS.
Chang
11

Uma solução alternativa sem imagens é adicionar o gradiente usando um quadro HTML e um pouco de 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>

insira a descrição da imagem aqui

underdark
fonte
9

Um pouco de truque para convencer o compositor a fazer isso no QGIS 3

Adicione sua legenda e ajuste o tamanho do símbolo na legenda para algo pequeno (o exemplo é 1,5 mm). Você ainda verá linhas brancas dividindo as faixas de cores, que parecem estar relacionadas ao tamanho da fonte do texto da legenda, então defina-o como zero.

Você pode adicionar rótulos manuais ao longo do gradiente e um retângulo para mascarar o texto da legenda ou definir esse texto para branco.

Isso não dá um gradiente perfeito, pois algumas pequenas linhas brancas permanecem, mas para meus propósitos isso foi bom o suficiente.

Editar; Isso foi testado no QGIS versão 3.4.1-Madeira

Como abaixo;

insira a descrição da imagem aqui

mapeamento dom
fonte
Eu concedi uma recompensa a essa resposta porque foi a única que mencionou o número da versão (embora apenas a versão principal) ao qual ela se aplica.
PolyGeo
Você também pode precisar ajustar o "Espaço dos símbolos" em "Espaçamento" e desmarcar a caixa "Traçar traçado para símbolos raster" em "Símbolo"
Brian Fisher
3

Esta opção não está incluída no QGIS, mas aqui está o que eu faço:

Primeiro classifique usando a rampa de cores desejada. Em seguida, vá para Configurações -> Gerenciador de estilos -> Rampa de cores (mostrado na figura abaixo): insira a descrição da imagem aqui

Agora você pode usar a 'Ferramenta de recorte' para copiar a rampa que você usou. Por exemplo, a figura abaixo mostra a rampa de cores 'Blues' copiada usando a ferramenta snipping:

insira a descrição da imagem aqui

Agora, no 'Composer Manager', use 'Add Label' e 'Add Image' para adicionar rampa de cores contínua junto com a legenda. Para obter os valores 'Max' e 'Min' para a rampa de cores contínua, use Layer Properties -> Style.

ensolarado
fonte
3

ainda outra opção, mas limitada às rampas da cidade-cpt.

Isso funciona

  • se você tiver o plug-in Color Manager instalado e
  • você escolheu instalar as rampas da cpt-city

Você pode soltar o arquivo de rampa svg na tela como uma imagem. Na minha configuração do ubuntu, eles aparecem em ~ / .qgis2 / cpt-city /

insira a descrição da imagem aqui

Steven Kay
fonte
3

insira a descrição da imagem aquiAlém disso, você pode adicionar uma escala à sua legenda. Você pode fazer isso adicionando uma barra de escala. Brinque com as unidades e segmentos para obter a extensão e os segmentos necessários.

  1. Gire a barra de escala, se necessário, para alinhá-la à sua rampa.
  2. Remova a etiqueta das unidades ou coloque uma etiqueta apropriada. Isso funcionará para unidades lineares igualmente espaçadas. Para escalas não lineares, você pode sobrepor várias barras de escala com diferentes unidades e segmentos.

Ainda estou tentando descobrir como girar o texto

chris
fonte
Esta é a solução mais próxima que eu poderia considerar, mas ainda é um hack. Gostaria de saber qual foi o motivo para descontinuar o plugin One-Band Raster?
Bogdan
3

Existe um plugin qgis para fazer isso no repositório principal: Barra de escala de cores para Rasters de uma banda e funciona bem para mim no QGIS 2.X https://github.com/BC-Consulting/bccscbar ou QGIS 3.X https : //github.com/BC-Consulting/geoprocalgos

insira a descrição da imagem aqui

Inquisição espanhola
fonte
Você poderia adicionar instruções de instalação?
Luís de Sousa
No começo, pensei ter instalado errado, mas parece que esse plug-in simplesmente não funciona. Você pode revisar ou atualizar sua resposta.
Luís de Sousa
O plugin está funcionando muito bem e você vai finde-lo no principal olhar Plugin Repository para Color Scale Bar
Spanish_Inquisition
11
Este plugin não é para o QGIS 3; desenvolvido para o QGIS 2.xe compatível com versões anteriores .qml geradas com as versões 1.x do QGIS.
Shawn
Este plugin não está mais disponível para o LST V2.18. O link da Web no início da resposta também não é mais válido.
Hasnein Tareque 14/11