Eu tenho um grande conjunto de dados geológicos que preciso exibir usando um conjunto padrão de símbolos e cores do setor. Os símbolos e cores são atributos dos dados. Eu tenho usado o recurso de símbolos definidos por dados da compilação de desenvolvimento do QGIS (revisão de código b805894) para exibir os dados de acordo com seus atributos. Isso funciona perfeitamente em termos de exibição correta dos dados na janela do mapa.
O problema surge quando tento criar uma legenda no compositor. As cores definidas pelos dados exibidas no mapa não são exibidas na legenda.
Aqui estão algumas capturas de tela. O primeiro mostra a janela do mapa. Você pode ver o problema se manifestando na caixa Camadas à esquerda. Os símbolos são todos de cor preta.
A segunda captura de tela mostra a janela do compositor com uma legenda.
fonte
Respostas:
As legendas para simbologia definida por dados ainda não foram implementadas. Há uma solicitação de relatório / recurso de bug aberta: https://issues.qgis.org/issues/11491
Pensando nisso, a simbologia definida por dados é extremamente poderosa e pode resultar em centenas de variações diferentes de um símbolo em cor, forma, tamanho, rotação e assim por diante. Pode ser inviável ter realmente uma lenda nesse caso.
Atualização 2017-08:
O QGIS3 incluirá uma legenda automática para o tamanho definido pelos dados:
fonte
Não tenho certeza de que possa ser útil para casos complexos, mas consigo obter uma legenda falsa adicionando uma camada de forma.
Criei pontos na nova camada com o mesmo tipo de dados usado para definir a simbologia e localizei onde queria que a legenda aparecesse. Depois, defini a mesma simbologia para essa camada e mostrei os valores de dados correspondentes como rótulos.
fonte
Eu tive que criar uma legenda para uma simbologia categorizada com base na cor definida pelos dados. O QGIS 3 não resolveu isso para mim. Então, eu criei um atributo que contém o valor da categoria concatenar com o código hexa da cor.
Criei um estilo aleatório categorizado para esta coluna, exportei esse estilo para arquivo sld e, em seguida, manipulei-o com regexp em um editor de texto para substituir para cada regra o código de cores de preenchimento pelo código mencionado no nome da categoria. Depois disso, limpei o valor da categoria e o nome da coluna filtrada e finalmente apliquei esse novo estilo à minha camada.
Desculpe, o link acima está em francês.
http://si.cenlr.org/24-11-2017
fonte
Estou tendo o mesmo problema com mapas geológicos no QGIS 2.10. Os mapas fornecidos possuem um código de cores CMYK (atualmente "YMCK") que pode ser interpretado com a seguinte fórmula:
mas isso dá a cor preta nas caixas de legenda.
Por isso, pensei que poderia resolver o problema usando o script acima para calcular um novo campo de cores que funcionou muito bem e retornou valores RGB como 255,200,220. Então eu tentei
para produzir uma cor definida por dados sem sorte (fórmula inválida)! Analisei o campo de cores em três campos - vermelho, verde e azul e a seguinte fórmula -
na caixa de fórmula de cores definidas pelos dados, deu a cor certa no mapa e a legenda não é mais preta - mas usa as configurações da rampa de cores para determinar a cor da legenda.
Parece que precisamos de uma opção na caixa suspensa de rampa de cores para especificar cores definidas pelos dados e, em seguida, deve usar qualquer cor definida pelos dados para produzir a legenda.
Todas as outras soluções alternativas são boas, mas ao usar o filtro de legenda no compositor de mapas, é necessário obter o resultado certo e não ter que ir a todas as caixas de legendas e digitar os códigos rgb nas opções de escolha de cores.
fonte
Eu tive discussões com a pesquisa geológica aqui na Austrália Ocidental e eles podem fornecer arquivos de dados com códigos geológicos, cores rgb e códigos de padrões geológicos. Apenas precisamos de um plug-in para ler esses arquivos e adicionar esses atributos aos polígonos, para que possam ser exibidos na legenda. Eu tentei a opção cor (rgb), mas o criador da legenda não vê essas cores.
fonte
Eu tive o mesmo problema ... rgb (vermelho, verde, azul) em que vermelho, verde e azul são valores listados na tabela de atributos, pode ser usado para definir a cor do mapa, mas a cor não é replicada no painel de camadas e depois não transferido para uma legenda no compositor de impressão ... o que eu precisava fazer era clicar em cada uma das camadas no painel de camadas e, em seguida, escolher e redefinir as cores no painel de camadas no mapa ... uma solução tediosa ... deve haver uma maneira de codificar isso no PyGIS ...
fonte