Quais são os valores válidos para as configurações de rotulagem "dados definidos"?

9

Estou usando o QGIS 1.8. Gostaria de personalizar os recursos de etiqueta em um shapefile existente usando o novo mecanismo de etiqueta e a opção "configurações definidas por dados". Gostaria de saber quais devem ser os tipos de campo da tabela de atributos para cada uma das configurações: Todas as 7 opções de fonte, todas as 2 opções de buffer e todas as 6 opções de posição. Todos devem ser campos numéricos, ou algum texto, ou ambos? Desejo criar esses campos na tabela de atributos corretamente para que eu possa mapeá-los para as configurações do campo de rótulo. Não consigo encontrar informações sobre os tipos de campo apropriados em nenhum lugar. Obrigado por seus pensamentos.

Jan
fonte

Respostas:

16

Não existe um conjunto completo de documentação para os recursos de rotulagem definidos por dados, mas aqui está um detalhamento de seus valores e como eles são usados ​​pelo mecanismo de rotulagem PAL do QGIS na versão 1.8:

  • Tamanho [ real ] Define o tamanho da fonte, embora a maneira como o número seja interpretado dependa da configuração da camada (pontos ou unidades de mapa), que não pode ser um dado definido em 1.8.
  • Negrito, itálico, sublinhado, riscado [ inteiro ] Booleano de 1 ou 0 (ativado / desativado) para estilizar a fonte. É melhor usar um tipo de letra que realmente contenha uma fonte em negrito ou itálico para esses estilos.
  • Color [ string ] Um valor de cor nomeado conforme aceito pela função pública QColor :: setNamedColor ( name ) . Formato hexadecimal regular de #RRGGBBé recomendado .
  • Família [ string ] Um nome de família QFont para correspondência de fonte . Observe que você também pode especificar o nome da fundição. Consulte a descrição do QFont (nos documentos da sua versão do Qt) para obter mais informações sobre a correspondência de fontes por nome.
  • BufferSize [ real ] Define o tamanho do buffer em mm. Não há uma opção para definir isso nas unidades de mapa em 1.8. O buffer consiste em uma cópia preenchida e tracejada do texto do rótulo, mas por trás dele. O traçado é aplicado on-line, o que significa que o buffer visual além do texto terá metade do tamanho definido.

    Haverá artefatos perceptíveis no buffer em tamanhos grandes, em relação ao tamanho do texto (problema Qt com a técnica usada). Se o tamanho da fonte da etiqueta estiver definido em unidades de mapa e você definir um buffer em mm, haverá problemas visuais com as duas escalas em taxas diferentes ao aplicar zoom na tela, embora elas possam ter uma aparência consistente ao imprimir o mapa para uma escala conhecida, para a qual você terá que calcular o buffer correto em mm.
  • BufferColor [ string ] Igual à cor do texto acima. Observe que em 1.8 isso é aplicado ao preenchimento e ao traçado do buffer.
  • Distância da etiqueta [ real ] Distância definida para a etiqueta do recurso , conforme determinado pela solução dinâmica de layout PAL para o tipo de camada especificado (na guia Avançado), por exemplo, acima ou abaixo da linha, do ponto, etc.

    Nota: isso parece apenas para trabalhar quando você não 'fixou' o rótulo com as coordenadas X e Y definidas por dados, ou seja, a localização do rótulo ainda é calculada dinamicamente. A distância é relativa à configuração no nível da camada para mm ou unidades de mapa na guia Avançado. Novamente, sua coluna da tabela precisará ser configurada para o tipo de coordenada da sua camada (por exemplo, lat / long).
  • Coordenada X, Coordenada Y [ real ] Coordenadas definidas no CRS da camada , por exemplo, lat / long para alguns e metros para outros. O local que essas coordenadas definem é o ponto de rotação da etiqueta , que pode mudar em relação à técnica de posicionamento do mecanismo ou como você definiu alinhamentos horizontais e verticais.

    Embora o QGIS possa fazer transformações de coordenadas on-the-fly, é melhor ter suas camadas de etiquetas no mesmo CRS, para que não haja problemas com a troca de etiquetas devido a uma transformação descolada. Como os valores dos campos das colunas X e Y em sua fonte de dados são relativos ao CRS, você precisará de uma precisão muito maior ao trabalhar com lat / long do que com metros, embora ambos precisem de uma largura de bom tamanho, em relação à precisão de mapeamento desejada .

As colunas a seguir não podem ser definidas como dados, a menos que X e Y já estejam definidos. Esta é uma regressão de alguns recursos do mecanismo de rotulagem mais antigo (como definir rotação independente de X e Y), mas é como a rotulagem avançada funciona atualmente no 1.8.

  • Alinhamento Horizontal [ string ] (Esquerda, Centro, Direita) Alinhamento horizontal do texto do rótulo em relação ao ponto de rotação do rótulo .

  • Alinhamento vertical [ string ] (Inferior, Base, Metade e Tampa ou Superior) Alinhamento vertical do texto da etiqueta em relação ao ponto de rotação da etiqueta . Cap e Top são tratados da mesma forma. Base é a linha de base da fonte.

    Nota: Alterar alinhamentos horizontais ou verticais após definir X e Y fará com que o texto mude em relação ao ponto de rotação fixo da etiqueta, possivelmente não o que você deseja. O ponto de rotação pode ser diferente do padrão (Esquerda, Inferior), dado o método de posicionamento (por exemplo, a camada de pontos com o conjunto de pontos acima será padronizada como Central, Metade, veja a figura). É melhor experimentar a ferramenta Alterar etiqueta para 'ver' onde está o ponto de rotação e como a alteração das configurações de alinhamento afetará a etiqueta.

insira a descrição da imagem aqui
Etiqueta com alinhamentos central e meio e movida para o novo local, deslocada do ponto de recurso

  • Rotação [ real ] (0,00-360,00) Número de graus na rotação no sentido anti-horário da etiqueta sobre o ponto de rotação. A ferramenta Rotate Label, ao usar a tecla modificadora Ctl (Cmd no Mac), arredondará os incrementos de rotação para 15 graus.

Se você estiver disposto a experimentar as compilações noturnas do QGIS a partir da ramificação principal ou compilá-lo, encontrará o trabalho atual nesta área, que já inclui o seguinte:

insira a descrição da imagem aqui
Barra de ferramentas de etiquetagem avançada com ícones 'estilo GIS'

  • Fixar / soltar rótulos da ferramenta para "fixar ou soltar" o rótulo de maneira interativa, armazenando automaticamente os dados posicionais do rótulo do mecanismo PAL nos campos X, Y da tabela de atributos e, opcionalmente, Rotação. Ferramenta complementar para destacar rótulos fixados.

  • Ferramenta Mostrar / ocultar marcadores para mostrar ou ocultar interativamente um rótulo, usando um novo campo definido por dados chamado, surpreendentemente, 'Mostrar rótulo'.

  • Aprimoramentos contínuos nas características do rótulo, como exibição dependente da escala, transparência e estilo da fonte.

dakcarto
fonte
2

Você pode tentar o novo plug-in EasyCustomLabeling (http://hub.qgis.org/projects/easycustomlabeling) que duplica uma camada e adiciona os campos de rotulação "dados definidos". Aqui estão os tipos de definições de campos usados ​​nesse plug-in:

QgsField ("LblX", QVariant.Double, "numeric", 10, 2)
QgsField ("LblY", QVariant.Double, "numeric", 10, 2)
QgsField ("LblAlignH", QVariant.String, "varchar", 12)
QgsField ("LblAlignV", QVariant.String, "varchar", 12)
QgsField ("LblSize", QVariant.Int, "número inteiro", 1)
QgsField ("LblRot", QVariant.Double, "numérico", 10, 2)
QgsField ("LblBold", QVariant.Int, "número inteiro", 1)
QgsField ("LblItalic", QVariant.Int, "número inteiro", 1)
QgsField ("LblColor", QVariant.String, "varchar", 7)
QgsField ("LblFont", QVariant.String, "varchar",64)
QgsField ("LblUnder", QVariant.Int, "integer", 1)

Espero que ajude

rha
fonte