Usando o QGIS versão 1.7.
Eu tenho um arquivo de texto sem formatação que lista um conjunto de valores rgb em relação a um código. Eu quero usar essa tabela de cores para colorir uma camada de polígono, mapeando um de seus campos de atributo ('map_symb') para um código no arquivo de texto.
a tabela de cores é muito longa e fica assim:
$ head gsv1Msymbology.txt
MAPCODE RED GREEN BLUE
Oc 143 255 255
WAT 255 255 255
Qa 244 250 202
Qdl 195 239 218
Na 248 255 238
Qd2 227 255 190
Qxw 248 255 238
Qns 255 148 83
Qn 255 202 190
....
Quero corresponder meu atributo 'map_symb' a um valor em MAPCODE e usar os valores RGB correspondentes para colorir os polígonos.
Existe uma maneira de fazer isso?
Respostas:
Você pode usar o Python com o módulo ElementTree:
O arquivo de estilo gerado por este script é (e funciona):
Você também pode usar o módulo shapefile ([shapefile]) 1 para shapefiles com colunas RGB
e entao...
fonte
Na versão posterior do QGIS, é mais fácil executar a tarefa solicitada.
Basta abrir Propriedades da camada, guia Estilo e verifique se Símbolo único está selecionado. Clique na caixa ao lado da cor "Preencher" e escolha "Editar".
Você estará editando a cor base de suas bases poligonais nas cores RGB presentes na tabela de dados, com uma cor de borda constante (você pode aplicar os mesmos critérios, se necessário).
Depois de pressionar "Edit", basta colocar os 3 nomes das colunas RGB da sua tabela usando a seguinte expressão:
color_rgb ("coluna R", "coluna G", "coluna B")
Ok, Aplicar e pronto.
Se você precisar rotular e caracterizar os dados da mesma maneira (por exemplo, para criar uma legenda), basta usar a opção Categorizada e aplicar a mesma expressão ao Símbolo e à Coluna, identificados na imagem abaixo.
fonte
Se você deseja classificar alguns dados vetoriais de maneira repetitiva, eis o que você pode fazer:
fonte