Existe uma maneira no QGIS de impedir que rótulos de texto se sobreponham a ícones usados para rotular uma camada de ponto?
No mapa de exemplo mostrado abaixo, existem duas camadas:
- Camada de estradas rotulada usando o novo mecanismo de identificação.
- Uma camada de pontos que usa ícones svg para mostrar os escudos da estrada.
Eu tenho outros casos de uso para isso, como impedir a sobreposição de ícones de estações ferroviárias. Neste exemplo, eu poderia simplesmente mudar o ponto, no entanto, em outros casos, como uma estação de metrô, isso não é uma solução viável.
Uma possível solução que estou considerando envolveria:
- Adicionando uma coluna ao arquivo dbf da camada de ponto.
- Preenchendo a coluna adicionada com Nulo ou com um espaço.
- Ativando a etiquetagem [novo estilo] do QGIS para a coluna adicionada.
É este o caminho a seguir ou existe um método melhor?
Informações sobre o QGIS: Estou usando as versões 1.7.4 e uma versão compilada recentemente do 1.8 no Mac OS 10.7.4. As versões Linux e Windows também estão disponíveis para mim.
Atualização de progresso : O método que descrevi acima funciona, embora sejam necessárias duas modificações no processo.
- Em vez de usar um caractere de espaço ou um Nulo , um espaço sem quebra deve ser usado. Durante o teste, os campos com Nulo não são renderizados e os campos com apenas um (s) espaço (s) são convertidos em Nulo . (Consulte esta página da Wikipedia para obter informações sobre como digitar um espaço sem quebra .)
- Ao definir as configurações de rotulagem de camada, na guia Avançado, defina o posicionamento como Acima do ponto . Defina também a prioridade de forma que seja mais alta do que qualquer outra camada rotulada.
Dependendo do tamanho do ícone usado, algumas experiências podem ser necessárias para que as coisas funcionem conforme o esperado. Dependendo da circunstância, pode ser mais fácil usar vários caracteres do que tentar aumentar o peso e / ou o tamanho da fonte.
Testado com o QGIS 1.7 e um compilado recentemente de 1.8 no Mac OS 10.7.4.