14.1. Janela de Propriedades de Vetor

A caixa de diálogo: guilabel: `Propriedades da camada ‘para uma camada vetorial fornece configurações gerais para gerenciar a aparência dos recursos da camada no mapa (simbologia, rotulagem, diagramas), interação com o mouse (ações, dicas de mapa, design de formulário). Ele também fornece informações sobre a camada.

Para acessar a caixa de diálogo: guilabel: Propriedades da camada:

  • No painel: guilabel: Camadas, clique duas vezes na camada ou clique com o botão direito do mouse e selecione: guilabel:` Propriedades… `no menu pop-up;

  • Vá para: seleção de menu: menu Camada -> Propriedades da camada … `quando a camada estiver selecionada.

O diálogo vetor: guilabel: Propriedades da camada fornece as seguintes seções:

metadados | : ref: Informações<vectorinformationmenu>

sistema | : ref: Fonte<vectorsourcemenu>

simbologia | : ref: Simbologia<vector_style_menu>: sup: [1]

rotulagem | : ref: Etiquetas<vector_labels_tab>: sup: [1]

diagrama | : ref: Diagramas<sec_diagram>

3d | : ref: Visualização 3D<sec_3_d_view>: sup: [1]

|fonteCampos| : ref: Campos<vector_fields_menu>

|formulárioVisão| : ref: Formulário de atributos

|participar| : ref: Junta-se a<sec_joins>

|Armazenamento auxiliar| : ref: Armazenamento Auxiliar<vector_auxiliary_storage>

ação : ref: Ações<actions_menu>

display Display

rendering Rendering

|expressão| : ref: Variáveis<vectorvariablesmenu>

|editMetadata | : ref: Metadados<vectormetadatamenu>

dependencies Dependencies

legend Legend

|sobreposição| : ref: Servidor QGIS<vectorservermenu>

|digitalização| : ref: Digitalizando<digitizingmenu>

External plugins[2] tabs

[1] Also available in the Layer styling panel

[2] External plugins you install can optionally add tabs to this dialog. Those are not presented in this document. Refer to their documentation.

Dica

** Compartilhe propriedades totais ou parciais dos estilos de camada **

A opção: seleção de menu: Estilo na parte inferior da caixa de diálogo permite importar ou exportar essas ou parte dessas propriedades de / para vários destinos (arquivo, área de transferência, banco de dados). Veja: ref: manage_custom_style.

Nota

Como as propriedades (simbologia, etiqueta, ações, valores padrão, formulários …) das camadas incorporadas (consulte: ref: ` projetos de aninhamento`) são extraídas do arquivo original do projeto e, para evitar alterações que possam quebrar esse comportamento, o diálogo de propriedades da camada fica indisponível para essas camadas.

14.1.1. Propriedades da informação

|metadados| A guia: guilabel: ` informação` é somente leitura e representa um local interessante para obter rapidamente informações resumidas e metadados na camada atual. As informações fornecidas são:

  • com base no provedor da camada (formato de armazenamento, caminho, tipo de geometria, codificação da fonte de dados, extensão …) ;

  • escolhido a partir de: ref: metadados preenchidos<vectormetadatamenu> (acesso, links, contatos, histórico …);

  • ou relacionado à sua geometria (extensão espacial, CRS …) ou seus atributos (número de campos, características de cada …).

14.1.2. Propriedades de origem

|sistema| Use esta guia para definir configurações gerais para a camada vetorial.

../../../_images/vector_source_menu.png

Fig. 14.1 Guia Origem na caixa de diálogo Propriedades da camada de vetor

Além de definir: guilabel: Nome da camada a ser exibido em: guilabel:` Painel Camadas`, as opções disponíveis incluem:

14.1.2.1. Sistema de Referência de Coordenadas

  • Exibe a camada: ref: Sistema de referência de coordenadas (CRS)<layer_crs>. Você pode alterar o CRS da camada, selecionando um usado recentemente na lista suspensa ou clicando em |definir projeção| : sup: Selecione o botão CRS (consulte: ref:` crs_selector`). Use esse processo apenas se o CRS aplicado à camada for incorreto ou se nenhum foi aplicado. Se você deseja reprojetar seus dados em outro CRS, use algoritmos de reprojeção de camadas em Processamento ou: ref: Salve-os em outra camada<general_saveas>:

  • Create spatial index (only for OGR-supported formats).

  • Update extents information for a layer.

14.1.2.2. Criador de consultas

A caixa de diálogo: guilabel: Criador de consultas está acessível através do botão de epônimo na parte inferior da guia: guilabel:Fonte na caixa de diálogo Propriedades da camada, no grupo: guilabel: Filtro de recursos do provedor.

O Criador de consultas fornece uma interface que permite definir um subconjunto dos recursos na camada usando uma cláusula WHERE semelhante a SQL e exibir o resultado na janela principal. Enquanto a consulta estiver ativa, apenas os recursos correspondentes ao resultado estarão disponíveis no projeto.

Você pode usar um ou mais atributos de camada para definir o filtro no `` Criador de consultas``. O uso de mais de um atributo é mostrado em Figure_vector_querybuilder. No exemplo, o filtro combina os atributos

  • Campo `` toa`` (`` Date Time``: `` cast (“toa” como personagem)>> 2017-05-17 ‘’) e `` cast (“toa” como personagem) <’2019-12 -24T18: 00: 00 ‘’),

  • campo `` name`` (`` String``: `` “name”> ‘S’``) e

  • `` FID`` (campo `` Integer``: `` FID> 10``)

usando os operadores AND, OR e NOT e parênteses. Essa sintaxe (incluindo o formato DateTime para o campo `` toa``) funciona para conjuntos de dados Pacote geográfico.

O filtro é feito no nível do provedor de dados (OGR, PostgreSQL, MSSQL …). Portanto, a sintaxe depende do provedor de dados (por exemplo, o Data Hnão é suportado no formato ESRI Shapefile). A expressão completa

cast("toa" as character) > '2017-05-17' AND
cast("toa" as character) < '2019-12-24T18:00:00' AND
NOT ("name" > 'S' OR FID > 10)
../../../_images/queryBuilder.png

Fig. 14.2 Criador de consultas

Você também pode abrir a caixa de diálogo: guilabel: Criador de consultas usando a opção: guilabel:` Filtro … da opção: seleção de menus: menu Camada` ou menu contextual da camada. As seções: guilabel: ` Campos`,: guilabel:` Valores` e: guilabel: Operadores na caixa de diálogo ajudam a construir a consulta semelhante a SQL exposta na caixa: guilabel:` Expressão de filtro específica do provedor`.

A lista ** Campos ** contém todos os campos da camada. Para adicionar uma coluna de atributo ao campo da cláusula SQL WHERE, clique duas vezes no nome ou digite-o na caixa SQL.

O quadro ** Valores ** lista os valores do campo selecionado no momento. Para listar todos os valores exclusivos de um campo, clique no botão: guilabel: Todos. Para listar os 25 primeiros valores exclusivos da coluna, clique no botão: guilabel: Amostra. Para adicionar um valor ao campo da cláusula SQL WHERE, clique duas vezes em seu nome na lista Valores. Você pode usar a caixa de pesquisa na parte superior do quadro Valores para navegar e encontrar facilmente os valores dos atributos na lista.

A seção ** Operadores ** contém todos os operadores utilizáveis. Para adicionar um operador ao campo da cláusula SQL WHERE, clique no botão apropriado. Operadores relacionais (`` = , ``> ``, ...), operador de comparação de cadeias ( LIKE``) e operadores lógicos (`` AND``, `` OR``, … ) Estão disponíveis.

O botão: guilabel: Teste ajuda a verificar sua consulta e exibe uma caixa de mensagem com o número de recursos que satisfazem a consulta atual. Use o botão: guilabel: Claro para limpar a consulta SQL e reverter a camada ao seu estado original (ou seja, carregar totalmente todos os recursos).

Quando um filtro é aplicado, o QGIS trata o subconjunto resultante como se fosse a camada inteira. Por exemplo, se você aplicou o filtro acima para ‘Bairro’ (`` “TYPE_2” = ‘Borough’), não poderá exibir, consultar, salvar ou editar `` Ancoragem, porque é um’ Município ‘e portanto, não faz parte do subconjunto.

Dica

** As camadas filtradas são indicadas no painel Camadas **

No painel: guilabel: Camadas, a camada filtrada é listada com um | filtro indicador | : sup: Filtro ao lado, indicando a consulta usada quando o mouse passa o mouse sobre o botão. Clique duas vezes no ícone para abrir a caixa de diálogo: guilabel: Criador de consultas para edição.

14.1.3. Propriedades da simbologia

|simbologia| A guia Simbologia fornece uma ferramenta abrangente para renderizar e simbolizar seus dados vetoriais. Você pode usar ferramentas comuns a todos os dados vetoriais, bem como ferramentas simbólicas especiais que foram projetadas para os diferentes tipos de dados vetoriais. No entanto, todos os tipos compartilham a seguinte estrutura de diálogo: na parte superior, você tem um widget que ajuda a preparar a classificação e o símbolo a serem usados ​​nos recursos e, na parte inferior, o widget: ref: renderização de camada.

Dica

** Alterne rapidamente entre diferentes representações de camada **

Usando a: seleção de menu: Estilos -> Add no final da caixa de diálogo: guilabel:Propriedades da camada, você pode salvar quantos estilos forem necessários. Um estilo é a combinação de todas as propriedades de uma camada (como simbologia, rotulagem, diagrama, formulário de campos, ações …) como você deseja. Em seguida, basta alternar entre os estilos no menu de contexto da camada em: guilabel: `Painel de camadas ‘para obter automaticamente diferentes representações dos seus dados.

Dica

Exportar simbologia vetorial

Você tem a opção de exportar a simbologia vetorial do QGIS para os arquivos das guias Google *. Kml, *. Dxf e MapInfo *. Basta abrir o menu direito do mouse da camada e clicar em: seleção de menu: Save As … para especificar o nome do arquivo de saída e seu formato. Na caixa de diálogo, use o menu: seleção de menu: Exportação de simbologia para salvar a simbologia como: seleção de menu:` Simbologia de recursos -> ou como: seleção de menu: Simbologia da camada de símbolo -> `. Se você usou camadas de símbolos, é recomendável usar a segunda configuração.

14.1.3.1. Apresenta renderização

O renderizador é responsável por desenhar um recurso juntamente com o símbolo correto. Independentemente do tipo de geometria da camada, existem quatro tipos comuns de renderizadores: símbolo único, categorizados, graduados e baseados em regras. Para camadas de ponto, há um deslocamento de ponto e um renderizador de mapa de calor disponível, enquanto as camadas de polígono também podem ser renderizadas com os polígonos invertidos e os renderizadores 2,5 D.

Não há renderizador de cores contínuo, porque na verdade é apenas um caso especial do renderizador graduado. Os renderizadores classificados e graduados podem ser criados especificando um símbolo e uma rampa de cores - eles definirão as cores dos símbolos adequadamente. Para cada tipo de dados (pontos, linhas e polígonos), os tipos de camada de símbolo vetorial estão disponíveis. Dependendo do renderizador escolhido, a caixa de diálogo fornece diferentes seções adicionais.

Nota

Se você alterar o tipo de processador ao definir o estilo de uma camada de vetor as configurações feitas para o símbolo serão mantidas. Esteja ciente de que este procedimento só funciona para uma mudança. Se você repetir a alteração do tipo de renderizador as configurações para o símbolo irão se perder.

14.1.3.1.1. Renderizador de símbolo único

O | Símbolo único | : guilabel: o renderizador Símbolo único é usado para renderizar todos os recursos da camada usando um único símbolo definido pelo usuário. Veja: ref: `seletor de símbolos ‘para mais informações sobre representação de símbolos.

../../../_images/singlesymbol_ng_line.png

Fig. 14.3 Propriedades da linha de símbolo único

14.1.3.1.2. Renderizador sem símbolos

O | símbolo nulo | : guilabel: o renderizador Sem símbolos é um caso de uso especial do renderizador Símbolo único, pois aplica a mesma renderização a todos os recursos. Usando este renderizador, nenhum símbolo será desenhado para os recursos, mas ainda serão mostrados rótulos, diagramas e outras partes que não sejam de símbolos.

Ainda é possível fazer seleções na camada da tela e os recursos selecionados serão renderizados com um símbolo padrão. Os recursos editados também serão mostrados.

Este é um atalho útil para as camadas nas quais você deseja exibir apenas etiquetas ou diagramas e evita a necessidade de renderizar símbolos com preenchimento / borda totalmente transparente para conseguir isso.

14.1.3.1.3. Renderizador categorizado

O | símbolo categorizado | : guilabel: o renderizador categorizado é usado para renderizar os recursos de uma camada, usando um símbolo definido pelo usuário cujo aspecto reflete os valores discretos de um campo ou expressão.

../../../_images/categorysymbol_ng_line.png

Fig. 14.4 Opções de simbolização categorizadas

Para usar a simbologia categorizada para uma camada:

  1. Selecione a: guilabel: Valor da classificação: pode ser um campo existente ou uma expressão: ref:` você pode digitar na caixa ou construir usando a expressão | associada | botão. O uso de expressões para categorizar evita a necessidade de criar um campo ad hoc para fins de simbologia (por exemplo, se seus critérios de classificação forem derivados de um ou mais atributos).

    A expressão usada para classificar recursos pode ser de qualquer tipo; por exemplo, pode:

    • seja uma comparação. Nesse caso, o QGIS retorna os valores `` 1`` (** True ) e `` 0`` ( False **). Alguns exemplos:

      myfield >= 100
      $id = @atlas_featureid
      myfield % 2 = 0
      within( $geometry, @atlas_geometry )
      
    • combine diferentes campos:

      concat( field_1, ' ', field_2 )
      
    • seja um cálculo nos campos:

      myfield % 2
      year( myfield )
      field_1 + field_2
      substr( field_1, -3 )
      
    • ser usado para transformar valores lineares em classes discretas, por exemplo:

      CASE WHEN x > 1000 THEN 'Big' ELSE 'Small' END
      
    • combine vários valores discretos em uma única categoria, por exemplo:

      CASE
      WHEN building IN ('residence', 'mobile home') THEN 'residential'
      WHEN building IN ('commercial', 'industrial') THEN 'Commercial and Industrial'
      END
      

    Dica

    Embora você possa usar qualquer tipo de expressão para categorizar recursos, para algumas expressões complexas, pode ser mais simples usar: ref: renderização baseada em regras<rule_based_rendering>.

  2. Configure o: ref: ‘Símbolol<symbol-selector>`, que será usado como símbolo base para todas as classes;

  3. Indique: ref: Rampa de cores<color-ramp>, ou seja, a faixa de cores na qual a cor aplicada a cada símbolo é selecionada.

    Além das opções comuns do: ref: ferramenta de rampa de cores<color_ramp_widget>, você pode aplicar um | desmarcado | : guilabel: Random Color Ramp para as categorias. Você pode clicar na entrada: guilabel: Aleatório cores aleatórias para gerar novamente um novo conjunto de cores aleatórias, se você não estiver satisfeito.

  4. Em seguida, clique no botão: guilabel: Classificar para criar classes a partir dos valores distintos do campo ou expressão fornecido.

  5. Apply the changes if the live update is not in use and each feature on the map canvas will be rendered with the symbol of its class.

    Por padrão, o QGIS anexa uma classe: guilabel: todos os outros valores à lista. Enquanto vazia no início, essa classe é usada como uma classe padrão para qualquer recurso que não se enquadre nas outras classes (por exemplo, quando você cria recursos com novos valores para o campo / expressão de classificação).

Outros ajustes podem ser feitos na classificação padrão:

  • Você pode | assinar Plus | : sup: Adicionar novas categorias, | signMinus | : sup: Remove as categorias selecionadas ou: guilabel:` Excluir tudo`.

  • Uma classe pode ser desativada desmarcando a caixa de seleção à esquerda do nome da classe; os recursos correspondentes estão ocultos no mapa.

  • Arraste e solte as linhas para reordenar as classes

  • Para alterar o símbolo, o valor ou a legenda de uma classe, clique duas vezes no item.

Clicar com o botão direito do mouse sobre os item (s) selecionados mostra um menu contextual para:

  • : guilabel: Copiar símbolo e: guilabel:` Colar símbolo`, uma maneira conveniente de aplicar a representação do item a outras pessoas

  • : guilabel: Alterar Color … do símbolo (s) selecionado

  • Change Opacity… of the selected symbol(s)

  • : guilabel: Alterar unidade de saída … do símbolo (s) selecionado

  • : guilabel: Alterar largura … do símbolo (s) de linha selecionado

  • : guilabel: Alterar tamanho … do símbolo (s) de ponto selecionado

  • Change Angle… of the selected point symbol(s)

  • : guilabel: Mesclar categorias: agrupa várias categorias selecionadas em uma única. Isso permite um estilo mais simples de camadas com um grande número de categorias, onde pode ser possível agrupar várias categorias distintas em um conjunto menor e mais gerenciável de categorias que se aplicam a vários valores.

    Dica

    Como o símbolo mantido para as categorias mescladas é o da categoria selecionada mais no topo da lista, convém mover a categoria cujo símbolo você deseja reutilizar para o topo antes de mesclar.

  • : guilabel: Unmerge Categories que foram mescladas anteriormente

O menu: guilabel: Avançado dá acesso a opções para acelerar a classificação ou ajustar a renderização de símbolos:

  • Match to saved symbols: Using the symbols library, assigns to each category a symbol whose name represents the classification value of the category

  • : guilabel: Corresponde aos símbolos do arquivo …: Fornece um arquivo com símbolos, atribui a cada categoria um símbolo cujo nome representa o valor de classificação da categoria

  • : ref: Níveis de símbolos …<Symbols_levels> para definir a ordem de renderização dos símbolos.

Dica

Edit categories directly from the Layers panel

When a layer symbology is based on a categorized, graduated or rule-based symbology mode, you can edit each of the categories from the Layers Panel. Right-click on a sub-item of the layer and you will:

  • toggleAllLayers Toggle items visibility

  • showAllLayers Show all items

  • hideAllLayers Hide all items

  • Modify the symbol color thanks to the color selector wheel

  • Edit symbol… from the symbol selector dialog

  • Copy symbol

  • Paste symbol

14.1.3.1.4. Renderer graduado

O símbolo | graduado | : guilabel: o renderizador Graduado é usado para renderizar todos os recursos de uma camada, usando um símbolo definido pelo usuário cuja cor ou tamanho reflete a atribuição do atributo de um recurso selecionado a uma classe.

Como o Renderizador categorizado, o Renderizador graduado permite definir a rotação e a escala de tamanho das colunas especificadas.

Além disso, de forma análoga ao Renderizador Categorizado, permite selecionar:

  • O valor (usando a caixa de listagem dos campos ou a função | expression |: sup: Definir expressão do valor)

  • O símbolo (usando a caixa de diálogo Seletor de símbolos)

  • O formato da legenda e a precisão

  • O método a ser usado para alterar o símbolo: cor ou tamanho

  • As cores (usando a lista Rampa de cores) se o método de cores estiver selecionado

  • O tamanho (usando o domínio de tamanho e sua unidade)

Em seguida, você pode usar a guia Histograma, que mostra um histograma interativo dos valores do campo ou expressão atribuído. As quebras de classe podem ser movidas ou adicionadas usando o widget de histograma.

Nota

Você pode usar o painel Resumo Estatístico para obter mais informações sobre sua camada vetorial. Veja: ref: “resumo estatístico”.

De volta à guia Classes, você pode especificar o número de classes e também o modo para classificar os recursos dentro das classes (usando a lista Modo). Os modos disponíveis são:

  • Intervalo igual: cada classe tem o mesmo tamanho (por exemplo, valores de 0 a 16 e 4 classes, cada classe tem tamanho 4).

  • Quantil: cada classe terá o mesmo número de elementos dentro (a ideia de um boxplot).

  • Quebras naturais (Jenks): a variação dentro de cada classe é mínima, enquanto a variação entre as classes é máxima.

  • Desvio padrão: as classes são construídas dependendo do desvio padrão dos valores.

  • Pretty Breaks: Calcula uma sequência de cerca de n + 1 valores agradáveis ​​igualmente espaçados, que cobrem o intervalo dos valores em x. Os valores são escolhidos para que sejam 1, 2 ou 5 vezes uma potência de 10. (com base no ambiente estatístico R https://astrostatistics.psu.edu/datasets/R/html/base/html/pretty. html)

A caixa de listagem na parte central da guia: guilabel: Simbologia lista as classes, juntamente com seus intervalos, rótulos e símbolos que serão renderizados.

Clique no botão ** Classificar ** para criar classes usando o modo escolhido. Cada classe pode ser desativada desmarcando a caixa de seleção à esquerda do nome da classe.

Para alterar o símbolo, valor e/ou rótulo da classe, basta clicar duas vezes no item que você deseja alterar.

Clicar com o botão direito do mouse sobre os item (s) selecionados mostra um menu contextual para:

  • : guilabel: Copiar símbolo e: guilabel:` Colar símbolo`, uma maneira conveniente de aplicar a representação do item a outras pessoas

  • : guilabel: Alterar Color … do símbolo (s) selecionado

  • Change Opacity… of the selected symbol(s)

  • : guilabel: Alterar unidade de saída … do símbolo (s) selecionado

  • : guilabel: Alterar largura … do símbolo (s) de linha selecionado

  • : guilabel: Alterar tamanho … do símbolo (s) de ponto selecionado

  • Change Angle… of the selected point symbol(s)

O exemplo em simbologia_graduada_figura mostra a caixa de diálogo de renderização graduada da camada principais_rios do conjunto de dados de amostra QGIS.

../../../_images/graduatedsymbol_ng_line.png

Fig. 14.5 Opções de simbolização graduadas

Dica

Mapas Temáticos usando uma expressão

Mapas temáticos categorizados e graduados podem ser criados usando o resultado de uma expressão. Na caixa de diálogo de propriedades para camadas vetoriais, o seletor de atributos é estendido com uma expressão | : sup: função “Definir expressão da coluna”. Portanto, você não precisa gravar o atributo de classificação em uma nova coluna em sua tabela de atributos se desejar que o atributo de classificação seja composto de vários campos ou uma fórmula de algum tipo.

14.1.3.1.5. Símbolo Proporcional e Análise Multivariada

Símbolo proporcional e análise multivariada não são tipos de renderização disponíveis na lista suspensa Renderização de simbologia. No entanto, com as opções: ref: substituição definida por dados<data_defined> aplicada a qualquer uma das opções de renderização anteriores, o QGIS permite exibir seus dados de ponto e linha com essa representação.

** Criando símbolo proporcional **

Para aplicar uma renderização proporcional:

  1. Primeiro aplique à camada o: ref: renderizador de símbolo único<single_symbol_renderer>.

  2. Em seguida, defina o símbolo para aplicar aos recursos.

  3. Selecione o item no nível superior da árvore de símbolos e use o | dadosDefinidos | : sup: Substituição definida por dados: ref:` botão<data_defined> ao lado da opção: guilabel:`Tamanho (para camada de pontos) ou: guilabel: Largura (para camada de linha).

  4. Selecione um campo ou insira uma expressão e, para cada recurso, o QGIS aplicará o valor de saída à propriedade e redimensionará proporcionalmente o símbolo na tela do mapa.

    Se necessário, use a opção: guilabel: Assistente de tamanho … da | dadosDefinidos | menu para aplicar alguma transformação (exponencial, flannery …) ao redimensionamento do tamanho do símbolo (consulte: ref: assistente_dados_definidos para obter mais detalhes).

Você pode optar por exibir os símbolos proporcionais na: ref: Camadas do painel e na: ref:` item da legenda do layout de impressão : desdobre a lista suspensa: guilabel: Avançado` na parte inferior da caixa de diálogo principal do : guilabel: aba Simbologia e selecione ** Legenda do tamanho definido pelos dados … ** para configurar os itens da legenda (consulte: ref:` legenda_tamanho_multado _dados` para obter detalhes).

../../../_images/proportional_symbols.png

Fig. 14.6 Escalonar o tamanho dos aeroportos com base na elevação do aeroporto

** Criando análise multivariada **

Uma renderização de análise multivariada ajuda a avaliar o relacionamento entre duas ou mais variáveis, por exemplo, uma pode ser representada por uma rampa de cores enquanto a outra é representada por um tamanho.

A maneira mais simples de criar análises multivariadas no QGIS é:

  1. Primeiro, aplique uma renderização categorizada ou graduada em uma camada, usando o mesmo tipo de símbolo para todas as classes.

  2. Em seguida, aplique uma simbologia proporcional nas classes:

    1. Clique no botão: guilabel: Mudança acima do quadro de classificação: você obtém a caixa de diálogo: ref:` seletor de símbolos`.

    2. Redimensione novamente o tamanho ou a largura da camada de símbolo usando o | dadosDefinidos | : ref: dados definidos substituem o ferramenta<data_defined> como visto acima.

Como o símbolo proporcional, a simbologia escalada pode ser adicionada à árvore de camadas, sobre os símbolos das classes categorizadas ou graduadas, usando o recurso: ref: legenda do tamanho definido dos dados<data_defined_size_legend>. E ambas as representações também estão disponíveis no item da legenda do layout de impressão.

../../../_images/multivariate_example.png

Fig. 14.7 Exemplo multivariado com legenda de tamanho dimensionado

14.1.3.1.6. Renderizador baseado em regras

O | Símbolo baseado em regra | : guilabel: o renderizador baseado em regras é usado para renderizar todos os recursos de uma camada, usando símbolos baseados em regras cujo aspecto reflete a atribuição do atributo de um recurso selecionado a uma classe. As regras são baseadas em instruções SQL e podem ser aninhadas. A caixa de diálogo permite o agrupamento de regras por filtro ou escala e você pode decidir se deseja ativar os níveis de símbolo ou usar apenas a regra de primeira correspondência.

Para criar uma regra:

  1. Ative uma linha existente clicando duas vezes nela (por padrão, o QGIS adiciona um símbolo sem uma regra quando o modo de renderização está ativado) ou clique no ícone | Propriedades do projeto | : sup: Editar regra ou | assinarPlus | : sup: botão Adicionar regra.

  2. Na caixa de diálogo: guilabel: Editar regra que é aberta, você pode definir um rótulo para ajudá-lo a identificar cada regra. Este é o rótulo que será exibido em: guilabel: `Painel de camadas ‘e também na legenda do compositor de impressão.

  3. Insira manualmente uma expressão na caixa de texto ao lado de | botão de opção Ativado | : guilabel: opção Filtro ou pressione a expressão | ao lado dele para abrir a caixa de diálogo do construtor de cadeias de expressão.

  4. Use as funções fornecidas e os atributos da camada para criar uma expressão: ref:<vector_expressions> para filtrar os recursos que você deseja recuperar. Pressione o botão: guilabel: `Test para verificar o resultado da consulta.

  5. Você pode inserir um rótulo mais longo para concluir a descrição da regra.

  6. Você pode usar a caixa de seleção | : guilabel: opção ` Escala de escala` para definir escalas nas quais a regra deve ser aplicada.

  7. Por fim, configure o símbolo: ref: para usar<symbol-selector> para esses recursos.

  8. E pressione: guilabel: OK.

Uma nova linha que resume a regra é adicionada à caixa de diálogo Propriedades da camada. Você pode criar quantas regras forem necessárias, seguindo as etapas acima ou copiar colando uma regra existente. Arraste e solte as regras uma sobre a outra para aninhar e refinar os recursos da regra superior nas subclasses.

Ao selecionar uma regra, você também pode organizar seus recursos nas subclasses usando o menu suspenso: guilabel: Refinar regras selecionadas. O refinamento automatizado de regras pode ser baseado em:

  • ** escalas **;

  • ** categorias **: aplicando a: ref: renderizador categorizado<categorized_renderer>;

  • ou ** intervalos **: aplicando a: ref: renderizador graduado<graduated_renderer>.

Classes refinadas aparecem como subitens da regra, em uma hierarquia de árvore e, como acima, você pode definir a simbologia de cada classe.

Na caixa de diálogo: guilabel: Editar regra, você pode evitar escrever todas as regras e usar o | botão de rádio desativado | : guilabel: opção Outra para capturar todos os recursos que não correspondem a nenhuma das outras regras, no mesmo nível. Isso também pode ser conseguido escrevendo Outra na coluna * Rule * da seção: seleção de menus: Propriedades da camada -> Simbologia-> Baseado em regras.

Clicar com o botão direito do mouse sobre os item (s) selecionados mostra um menu contextual para:

  • Copy and Paste, a convenient way to create new item(s) based on existing item(s)

  • : guilabel: Copiar símbolo e: guilabel:` Colar símbolo`, uma maneira conveniente de aplicar a representação do item a outras pessoas

  • : guilabel: Alterar Color … do símbolo (s) selecionado

  • Change Opacity… of the selected symbol(s)

  • : guilabel: Alterar unidade de saída … do símbolo (s) selecionado

  • : guilabel: Alterar largura … do símbolo (s) de linha selecionado

  • : guilabel: Alterar tamanho … do símbolo (s) de ponto selecionado

  • Change Angle… of the selected point symbol(s)

  • : guilabel: Refinar regra atual: abre um submenu que permite refinar a regra atual com ** escalas **, ** categorias ** (representante categorizado) ou ** Intervalos ** (representante graduado).

As regras criadas também aparecem em uma hierarquia de árvore na legenda do mapa. Clique duas vezes nas regras na legenda do mapa e a guia Simbologia das propriedades da camada aparece mostrando a regra que é o plano de fundo do símbolo na árvore.

O exemplo em simbologia_baseada_em _regras _de_figuras mostra o diálogo de renderização baseado em regras para a camada de rios do conjunto de dados de amostra QGIS.

../../../_images/rulesymbol_ng_line.png

Fig. 14.8 Opções de simbolização baseadas em regras

14.1.3.1.7. Renderizador de deslocamento pontual

O | Símbolo de deslocamento de ponto| : guilabel: o renderizador Deslocamento de ponto trabalha para visualizar todos os recursos de uma camada de pontos, mesmo se eles tiverem o mesmo local. Para fazer isso, o renderizador pega os pontos que se enquadram em um dado: guilabel: tolerância à distância um do outro e os coloca ao redor do seu baricentro seguindo diferentes: guilabel: Métodos de posicionamento:

  • ** Toque **: coloca todos os recursos em um círculo cujo raio depende do número de recursos a serem exibidos.

  • ** Anéis concêntricos **: usa um conjunto de círculos concêntricos para mostrar os recursos.

  • ** Grade **: gera uma grade regular com um símbolo de ponto em cada interseção.

A ferramenta: guilabel: Símbolo do centro ajuda a personalizar o símbolo e a cor do ponto médio. Para os símbolos de pontos distribuídos, você pode aplicar qualquer um dos * Sem símbolos *, * Único símbolo *, * Categorizado *, * Graduado * ou * Baseado em regras * renderizador usando a lista suspensa: guilabel: Renderer e personalizar usando o botão: guilabel: Configurações do renderizador ….

Embora o espaçamento mínimo de: guilabel: Linhas de deslocamento dependa do renderizador do símbolo de ponto, você ainda pode personalizar algumas de suas configurações, como: guilabel:` Largura do traço`,: guilabel: cor do traço e: guilabel: Ajuste de tamanho (por exemplo, para adicionar mais espaçamento entre os pontos renderizados).

Use as opções de grupo: guilabel: ` Etiquetas` para realizar a rotulagem de pontos: as etiquetas são colocadas perto da posição deslocada do símbolo, e não na posição real do recurso. Além de: guilabel: Atributo de rótulo,: guilabel:` Fonte do rótulo` e: guilabel: Cor da etiqueta, você pode definir: guilabel:` Escala mínima do mapa` para exibir os rótulos.

../../../_images/poi_displacement.png

Fig. 14.9 Diálogo deslocamento de ponto

Nota

O renderizador de deslocamento de ponto não altera a geometria do recurso, o que significa que os pontos não são movidos de sua posição. Eles ainda estão localizados em seu local inicial. As alterações são apenas visuais, para fins de renderização. Em vez disso, use o algoritmo Em processamento: ref: qgispointsdisplacement se desejar criar recursos deslocados.

14.1.3.1.8. Processador de cluster de pontos

Ao contrário do |Símbolo de deslocamento de ponto| : guilabel: renderizador Deslocamento de ponto que explode o posicionamento mais próximo ou sobreposto dos recursos de ponto, o | pointClusterSymbol | : guilabel: o renderizador ‘Cluster de pontos’ agrupa pontos próximos em um único símbolo de marcador renderizado. Com base em: guilabel: `Distância’, os pontos que se encaixam um no outro são mesclados em um único símbolo. A agregação de pontos é feita com base no grupo mais próximo que está sendo formado, em vez de apenas atribuir a eles o primeiro grupo dentro da distância de pesquisa.

Na caixa de diálogo principal, você pode:

  • defina o símbolo para representar o cluster de pontos em: guilabel: Símbolo de cluster; a renderização padrão exibe o número de recursos agregados, graças à `` @ cluster_size``: ref: variável<general_tools_variables> na camada de símbolo do marcador Fonte.

  • use a lista suspensa: guilabel: Renderer para aplicar qualquer um dos outros tipos de renderização de recursos à camada (única, categorizada, baseada em regras …). Em seguida, pressione o botão: guilabel: Configurações do renderizador … para configurar a simbologia dos recursos como de costume. Observe que esse renderizador é visível apenas em recursos que não estão em cluster. Além disso, quando a cor do símbolo é a mesma para todos os recursos de ponto dentro de um cluster, essa cor define a variável `` @ cluster_color`` do cluster.

../../../_images/cluster_symbol.png

Fig. 14.10 Caixa de diálogo Cluster de pontos

Nota

O renderizador de cluster de pontos não altera a geometria do recurso, o que significa que os pontos não são movidos de sua posição. Eles ainda estão localizados em seu local inicial. As alterações são apenas visuais, para fins de renderização. Em vez disso, use o algoritmo em processamento: ref: qgiskmeansclustering ou: ref:` qgisdbscanclustering` se desejar criar recursos baseados em cluster.

14.1.3.1.9. Renderizador de polígono invertido

O | símbolo invertido | : guilabel: O renderizador Polígono invertido permite ao usuário definir um símbolo a ser preenchido fora dos polígonos da camada. Como acima, você pode selecionar sub-remetentes, ou seja, renderizador de símbolo único, graduado, categorizado, baseado em regras ou 2.5D.

../../../_images/inverted_polygon_symbol.png

Fig. 14.11 Caixa de diálogo Polígono invertido

14.1.3.1.10. Renderizador de mapa de calor

Com o | Símbolo do mapa de calor | : guilabel: renderizador ` Mapa de calor`, você pode criar mapas de calor dinâmicos ao vivo para camadas de (multi) pontos. Você pode especificar o raio do mapa de calor em milímetros, pontos, pixels, unidades de mapa ou polegadas, escolher e editar uma rampa de cores para o estilo do mapa de calor e usar um controle deslizante para selecionar uma troca entre velocidade e qualidade de renderização. Você também pode definir um limite de valor máximo e atribuir peso a pontos usando um campo ou uma expressão. Ao adicionar ou remover um recurso, o renderizador do mapa de calor atualiza o estilo do mapa de calor automaticamente.

../../../_images/heatmap_symbol.png

Fig. 14.12 Caixa de diálogo Mapa de calor

14.1.3.1.11. Renderizador 2.5D

Usando o | 25dSymbol | : guilabel: renderizador 2.5D é possível criar um efeito 2.5D nos recursos da sua camada. Você começa escolhendo um valor: guilabel: Altura (em unidades do mapa). Para isso, você pode usar um valor fixo, um dos campos da sua camada ou uma expressão. Você também precisa escolher um: guilabel: Ângulo (em graus) para recriar a posição do visualizador (0 | graus | significa oeste, crescendo no sentido anti-horário). Use opções de configuração avançadas para definir: guilabel: Cor do telhado e: guilabel:` Cor da parede`. Se você deseja simular radiação solar nas paredes dos recursos, marque a caixa de seleção | : guilabel: opção Paredes sombreadas com base no aspecto. Você também pode simular uma sombra definindo a: guilabel: Cor e: guilabel:` Size` (em unidades do mapa).

../../../_images/2_5dsymbol.png

Fig. 14.13 Caixa de diálogo 2.5D

Dica

** Usando o efeito 2.5D com outros renderizadores **

Depois de concluir a configuração do estilo básico no renderizador 2.5D, você poderá convertê-lo em outro renderizador (único, categorizado e graduado). Os efeitos 2.5D serão mantidos e todas as outras opções específicas do renderizador estarão disponíveis para você ajustá-los (desta forma, você pode ter, por exemplo, símbolos categorizados com uma boa representação 2.5D ou adicionar um estilo extra aos seus símbolos 2.5D). Para garantir que a sombra e o “edifício” em si não interfiram com outros recursos próximos, pode ser necessário ativar os Níveis de símbolos (: menuelection: Advanced -> Symbol levels …). Os valores de altura e ângulo de 2.5D são salvos nas variáveis ​​da camada, para que você possa editá-lo posteriormente na guia variáveis ​​da caixa de diálogo de propriedades da camada.

14.1.3.2. Renderização da camada

Na guia da Simbologia, você também pode definir algumas opções que atuam invariavelmente em todos os recursos da camada:

  • Opacity slider: You can make the underlying layer in the map canvas visible with this tool. Use the slider to adapt the visibility of your vector layer to your needs. You can also make a precise definition of the percentage of visibility in the menu beside the slider.

  • : guilabel: Modo de mesclagem nos níveis: guilabel:Camada e: guilabel: Característica: Você pode obter efeitos especiais de renderização com essas ferramentas que antes só conhecia em programas gráficos. Os pixels de suas camadas de sobreposição e de sobreposição são misturados através das configurações descritas em: ref: modos de mesclagem.

  • Aplique: ref: efeitos de pintura<draw_effects> em todos os recursos da camada com o botão: guilabel:  Efeitos de desenho.

  • : guilabel: Controlar a ordem de renderização do recurso ‘permite que você, usando atributos de recursos, defina a ordem z na qual eles serão renderizados. Ative a caixa de seleção e clique no | classificar | botão ao lado. Você então recebe a caixa de diálogo: guilabel: `Definir ordem na qual você:

    1. Escolha um campo ou crie uma expressão para aplicar aos recursos da camada.

    2. Defina em que ordem os recursos buscados devem ser classificados, ou seja, se você escolher a ordem ** Ascendente **, os recursos com valor mais baixo serão renderizados naqueles com valor mais alto.

    3. Defina quando os recursos que retornam valor NULO devem ser renderizados: ** primeiro ** (inferior) ou ** último ** (superior).

    4. Repita as etapas acima quantas vezes você desejar.

    A primeira regra é aplicada a todos os recursos da camada, ordenando-os de acordo com o valor retornado. Em seguida, dentro de cada grupo de recursos com o mesmo valor (incluindo aqueles com valor NULO) e, portanto, o mesmo nível z, a próxima regra é aplicada para classificá-los. E assim por diante…

../../../_images/layer_rendering_options.png

Fig. 14.14 Opções de renderização de camada

14.1.3.3. Outros ajustes

14.1.3.3.1. Níveis de símbolo

Para renderizadores que permitem camadas de símbolos empilhados (apenas o mapa de calor não), existe uma opção para controlar a ordem de renderização dos níveis de cada símbolo.

Para a maioria dos renderizadores, você pode acessar a opção Níveis de símbolos clicando no botão: guilabel: Avançado abaixo da lista de símbolos salvos e escolhendo: guilabel:` Níveis de símbolos`. Para o: ref: renderização baseada em regras, a opção está diretamente disponível através do botão: guilabel: Símbolos Níveis … `, enquanto para o renderizador ref:`deslocamento de ponto o mesmo botão está dentro da caixa de diálogo: guilabel: Configurações de renderização

Para ativar os níveis de símbolos, marque a caixa de seleção | : guilabel: Ativar níveis de símbolo. Cada linha exibirá uma pequena amostra do símbolo combinado, seu rótulo e a camada de símbolos individuais divididos em colunas com um número ao lado. Os números representam o nível da ordem de renderização no qual a camada de símbolo será desenhada. Os níveis de valores mais baixos são desenhados primeiro, permanecendo na parte inferior, enquanto os valores mais altos são desenhados por último, sobre os outros.

../../../_images/symbol_levels.png

Fig. 14.15 Caixa de diálogo Níveis de símbolo

Nota

Se os níveis de símbolos estiverem desativados, os símbolos completos serão desenhados de acordo com a respectiva ordem de recursos. Símbolos sobrepostos simplesmente serão ofuscados para os outros abaixo. Além disso, símbolos semelhantes não “se fundem” entre si.

../../../_images/symbol_levels_examples.png

Fig. 14.16 Diferença nos níveis de símbolo ativado (A) e desativado (B)

14.1.3.3.2. Legenda de tamanho definido por dados

Quando uma camada é renderizada com o símbolo: ref: proporcional ou multivariado<proportional_symbols> ou quando um: ref: diagrama de tamanho em escala<diagram_size> é aplicado à camada, você pode permitir a exibição dos símbolos em escala em ambos: ref: Camadas do painel<label_legend> e: ref: legenda do layout de impressão<layout_legend_item>.

Para ativar a caixa de diálogo: guilabel: Legenda do tamanho definido por dados para renderizar simbologia, selecione a opção de epônimo no botão: guilabel:` Avançado` abaixo da lista de símbolos salvos. Para diagramas, a opção está disponível na guia: guilabel: guia Legenda. A caixa de diálogo fornece as seguintes opções para:

  • selecione o tipo de legenda: | botão de opção Ativado | : guilabel: Legenda não ativada, | botão de opção Desativado | : guilabel: Itens de legenda separados e |botão de opção Desativado | : guilabel: legenda recolhida. Para a última opção, você pode selecionar se os itens da legenda estão alinhados na ** Parte inferior ** ou no ** Centro **;

  • defina o: ref: símbolo para usar<symbol-selector> para representação de legenda;

  • insira o título na legenda;

  • redimensionar as classes a serem usadas: por padrão, o QGIS fornece uma legenda de cinco classes (com base em pausas bonitas naturais), mas você pode aplicar sua própria classificação usando a caixa de seleção | : guilabel: opção Classes de tamanho manual. Use o | assinarPlus | e | assinar menos | para definir seus valores e rótulos de classes personalizadas.

Uma visualização da legenda é exibida no painel direito da caixa de diálogo e atualizada conforme você define os parâmetros. Para legenda recolhida, uma linha de chamada do centro horizontal do símbolo até o texto da legenda correspondente é desenhada.

../../../_images/data_defined_size_legend.png

Fig. 14.17 Configurando legenda em tamanho dimensionado

Nota

Atualmente, a legenda do tamanho definido pelos dados para a simbologia de camada só pode ser aplicada à camada de ponto usando uma simbologia única, categorizada ou graduada.

14.1.3.3.3. Desenhar efeitos

Para melhorar a renderização da camada e evitar (ou pelo menos reduzir) o recurso a outro software para a renderização final dos mapas, o QGIS fornece outra funcionalidade poderosa: os | Efeitos de pintura | : guilabel: opções Efeitos de desenho, que adicionam efeitos de pintura para personalizar a visualização de camadas vetoriais.

A opção está disponível na caixa de diálogo: seleção de menus: Propriedades da camada-> Simbologia, no grupo: ref:` Renderização de camada <layer_rendering>`(aplicável a toda a camada) ou em: ref:` propriedades da camada de símbolo<symbol-selector> `(aplicável às correspondentes recursos). Você pode combinar os dois usos.

Efeitos de pintura podem ser ativados marcando a caixa de seleção | : guilabel: opção Desenhar efeitos e clicar na |Efeitos de pintura| : sup: botão Personalizar efeitos. Isso abrirá o diálogo: guilabel: ` Propriedades de efeito` (veja figure_effects_source). Os seguintes tipos de efeito, com opções personalizadas, estão disponíveis:

  • ** Origem **: desenha o estilo original do recurso de acordo com a configuração das propriedades da camada. O: guilabel: Opacidade do seu estilo pode ser ajustado assim como: ref:` Modo de mistura` e: ref: Modo Draw. Essas são propriedades comuns para todos os tipos de efeitos.

    ../../../_images/source.png

    Fig. 14.18 Efeitos de desenho: caixa de diálogo Origem

  • ** Desfoque **: adiciona um efeito de desfoque na camada vetorial. As opções personalizadas que você pode alterar são: guilabel: ` Tipo de desfoque` (: guilabel:` Desfoque de pilha (fast) ou: guilabel: Desfoque Gaussiano (qualidade) ) e: guilabel:`Força do borrão.

    ../../../_images/blur.png

    Fig. 14.19 Efeitos de desenho: caixa de diálogo Blur

  • ** Colorizar **: esse efeito pode ser usado para criar uma versão do estilo usando uma única tonalidade. A base sempre será uma versão em escala de cinza do símbolo e você pode:

    • Use o | selecione String | : guilabel: Escala de cinza para selecionar como criá-la: as opções são ‘Por luminosidade’, ‘Por luminosidade’, ‘Por média’ e ‘Desligado’.

    • Se | caixa de seleção | : guilabel: Colorise está selecionado, será possível misturar outra cor e escolher quão forte ela deve ser.

    • Controle os níveis: guilabel: Brilho,: guilabel:` Contraste` e: guilabel: Saturaturação do símbolo resultante.

    ../../../_images/colorise.png

    Fig. 14.20 Efeitos de desenho: caixa de diálogo Colorir

  • ** Sombra projetada **: o uso desse efeito adiciona uma sombra ao recurso, que parece adicionar uma dimensão extra. Este efeito pode ser personalizado alterando o: guilabel: ângulo e distância do ` Deslocamento ‘, determinando para onde a sombra se desloca e a proximidade do objeto de origem. : menuselection: Drop Shadow também tem a opção de alterar: guilabel:` Raio de desfoque` e: guilabel: Corr do efeito.

    ../../../_images/drop_shadow.png

    Fig. 14.21 Caixa de diálogo Efeitos de desenho: Sombra projetada

  • ** Sombra interior**: Este efeito é semelhante ao efeito: guilabel: Drop Shadow, mas adiciona o efeito de sombra na parte interna das bordas do recurso. As opções disponíveis para personalização são as mesmas do efeito: guilabel: Sombra projetada.

    ../../../_images/inner_shadow.png

    Fig. 14.22 Caixa de diálogo Efeitos de desenho: Sombra interna

  • ** Brilho interno **: adiciona um efeito de brilho dentro do recurso. Este efeito pode ser personalizado ajustando: guilabel: Espalhe (largura) do brilho ou: guilabel:` Raio de desfoque`. Este último especifica a proximidade da borda do recurso em que você deseja que ocorra qualquer desfoque. Além disso, existem opções para personalizar a cor do brilho usando a: guilabel: Única cor ou a: guilabel:` Rampa de cores`.

    ../../../_images/inner_glow.png

    Fig. 14.23 Caixa de diálogo Efeitos de desenho: Brilho interno

  • ** Brilho externo **: Este efeito é semelhante ao efeito: guilabel: Brilho interno, mas adiciona o efeito de brilho na parte externa das bordas do recurso. As opções disponíveis para personalização são as mesmas do efeito: guilabel: Brilho interior.

    ../../../_images/outer_glow.png

    Fig. 14.24 Caixa de diálogo Draw Effects: Brilho externo

  • Transform: Adds the possibility of transforming the shape of the symbol. The first options available for customization are the Reflect horizontal and Reflect vertical, which actually create a reflection on the horizontal and/or vertical axes. The other options are:

    • : guilabel: Shear X, Y: inclina o recurso ao longo do eixo X e / ou Y.

    • Scale X,Y: Enlarges or minimizes the feature along the X and/or Y axis by the given percentage.

    • : guilabel: Rotação: gira o recurso em torno de seu ponto central.

    • e: guilabel: “Traduzir X, Y” altera a posição do item com base na distância indicada no eixo X e / ou Y.

    ../../../_images/transform.png

    Fig. 14.25 Caixa de diálogo Efeitos de desenho: transformação

Um ou mais tipos de efeito podem ser usados ​​ao mesmo tempo. Você (des) ativa um efeito usando sua caixa de seleção na lista de efeitos. Você pode alterar o tipo de efeito selecionado usando o | selecione String | : guilabel: opção Tipo de efeito. Você pode reordenar os efeitos usando | seta para cima | : sup: Mover para cima e | seta para baixo | : sup: botões Mover para baixo e também adicionar / remover efeitos usando o | assinar mai | : sup: Adicionar novo efeito e | assinar menos | : sup: botões Remover efeito.

Existem algumas opções comuns disponíveis para todos os tipos de efeito de desenho. As opções: guilabel: Opacidade e: guilabel:` Modo de mistura` funcionam de maneira semelhante às descritas em: ref: renderização de camada e podem ser usadas em todos os efeitos de desenho, exceto o de transformação.

Há também uma |selecione String | : guilabel: opção `Draw mode ‘disponível para todos os efeitos, e você pode optar por renderizar e / ou modificar o símbolo, seguindo algumas regras:

  • Os efeitos são renderizados de cima para baixo.

  • Render only mode means that the effect will be visible.

  • Modifier only mode means that the effect will not be visible but the changes that it applies will be passed to the next effect (the one immediately below).

  • O modo: guilabel: Renda e modifique tornará o efeito visível e passará as alterações para o próximo efeito. Se o efeito estiver no topo da lista de efeitos ou se o efeito imediatamente acima não estiver no modo de modificação, ele usará o símbolo de origem original nas propriedades das camadas (semelhante à origem).

14.1.4. Propriedades das etiquetas

A rotulagem | : guilabel: As propriedades Etiquetas fornecem todos os recursos necessários e adequados para configurar a etiquetagem inteligente em camadas vetoriais. Essa caixa de diálogo também pode ser acessada no painel: guilabel: Estilo da camada ou usando o rótulo | : sup: botão Opções de rotulagem de camada da barra de ferramentas ** Etiquetas **.

O primeiro passo é escolher o método de rotulagem na lista suspensa. Os métodos disponíveis são:

  • labelingNone No labels: the default value, showing no labels from the layer

  • labeling Single labels: Show labels on the map using a single attribute or an expression

  • |com base em regras| : ref: Rotulagem baseada em regras<rule_based_labeling>

  • e | rotulagem Obstáculo | : guilabel: Bloqueio: permite definir uma camada apenas como um obstáculo para os rótulos de outras camadas sem renderizar nenhum rótulo próprio.

As próximas etapas pressupõem que você selecione a | etiqueta | : guilabel: opção Etiquetas únicas, abrindo a seguinte caixa de diálogo.

../../../_images/label_menu_text.png

Fig. 14.26 Configurações de rotulagem de camada - Etiquetas únicas

Na parte superior da caixa de diálogo, uma lista suspensa: guilabel: Valor está ativada. Você pode selecionar uma coluna de atributo a ser usada para rotular. Por padrão, o: ref: campo de exibição<maptips> é usado. Clique em | expressão | se você deseja definir rótulos com base em expressões - Veja: ref: rotulando com expressões.

Abaixo estão as opções exibidas para personalizar os rótulos, em várias guias:

A descrição de como definir cada propriedade é exposta em: ref: showlabels.

14.1.4.1. Configurando o mecanismo de posicionamento automatizado

Você pode usar as configurações de posicionamento automatizado para configurar um comportamento global e automatizado dos rótulos. No canto superior direito da guia: guilabel: ´Etiquetas`, clique no | posicionamento automático| : sup: Configurações automáticas de posicionamento (aplicável a todas as camadas), abrindo uma caixa de diálogo com as seguintes opções:

../../../_images/placement_engine.png

Fig. 14.27 O mecanismo de posicionamento automatizado de etiquetas

  • O: guilabel: Número de candidatos controla quantos candidatos de colocação de etiqueta devem ser gerados para cada tipo de recurso. Quanto mais candidatos gerados, melhor será a rotulagem - mas a um custo de velocidade de renderização. Um número menor de candidatos resulta em menos rótulos colocados, mas redesenhos mais rápidos.

  • : guilabel: Renderização de texto: define o valor padrão para os widgets de renderização de etiquetas quando: ref:` exportando uma tela de mapa <exportingmapcanvas>`ou: ref:` um layout <create-output>`para PDF ou SVG. Se: guilabel: Sempre renderizar rótulos como texto estiver selecionado, os rótulos poderão ser editados em aplicativos externos (por exemplo, Inkscape) como texto normal. MAS o efeito colateral é que a qualidade da renderização diminui e há problemas com a renderização quando certas configurações de texto, como buffers, estão em vigor. É por isso que: guilabel: Sempre renderize rótulos como caminhos (recomendado) que exporta rótulos como contornos, é recomendado.

  • checkbox Allow truncated labels on edges of map: controls whether labels which fall partially outside of the map extent should be rendered. If checked, these labels will be shown (when there’s no way to place them fully within the visible area). If unchecked then partially visible labels will be skipped. Note that this setting has no effects on labels’ display in the layout map item.

  • |desmarcado | : guilabel: Mostrar todos os rótulos para todas as camadas (isto é, incluindo objetos em colisão). Observe que esta opção também pode ser definida por camada (consulte: ref: etiquetas que rendem)

  • unchecked Show unplaced labels: allows to determine whether any important labels are missing from the maps (e.g. due to overlaps or other constraints). They are displayed using a customizable color.

  • unchecked Show candidates (for debugging): controls whether boxes should be drawn on the map showing all the candidates generated for label placement. Like the label says, it’s useful only for debugging and testing the effect different labeling settings have. This could be handy for a better manual placement with tools from the label toolbar.

14.1.4.2. Rotulagem baseada em regras

Com a rotulagem baseada em regras, várias configurações de rótulos podem ser definidas e aplicadas seletivamente na base dos filtros de expressão e no intervalo de escala, como em: ref: Renderização baseada em regras<rule_based_rendering>.

Para criar uma regra, selecione o | com base em regras | ** Rotulagem baseada em regras ** na lista suspensa principal da guia: guilabel: Etiquetas e clique no | assinar Maior | botão na parte inferior da caixa de diálogo. Em seguida, preencha o novo diálogo com uma descrição e uma expressão para filtrar os recursos. Você também pode definir um: ref: escala range <label_scaledepend>’no qual a regra do rótulo deve ser aplicada. As outras opções disponíveis nesta caixa de diálogo são: ref: `configurações comuns<showlabels> vistas anteriormente.

../../../_images/label_rule_settings.png

Fig. 14.28 Configurações de regra

Um resumo das regras existentes é mostrado na caixa de diálogo principal (consulte figure_labels_rule_based). Você pode adicionar várias regras, reordená-las ou imbricá-las com um recurso de arrastar e soltar. Você também pode removê-los com o | assinarMenos | botão ou edite-os com | Propriedades do projeto | botão ou clique duas vezes.

../../../_images/label_rules_panel.png

Fig. 14.29 Painel de rotulagem baseado em regras

14.1.4.3. Definir rótulos com base em expressões

Se você escolhe o tipo de rotulagem única ou baseada em regras, o QGIS permite o uso de expressões para rotular os recursos.

Supondo que você esteja usando o método: guilabel: Etiquetas individuais, clique no | expressão | próximo à lista suspensa: guilabel: Valor na | etiqueta | : guilabel: guia Etiquetas da caixa de diálogo de propriedades.

Em figure_labels_expression, você vê uma expressão de amostra para rotular a camada de árvores do Alasca com o tipo e a área da árvore, com base no campo ‘VEGDESC’, algum texto descritivo e a função `` $ area`` em combinação com `` format_number () ` `para torná-lo mais agradável.

../../../_images/label_expression.png

Fig. 14.30 Usando expressões para rotular

É fácil trabalhar com etiquetas baseadas em expressões. Tudo o que você precisa cuidar é o seguinte:

  • Pode ser necessário combinar todos os elementos (strings, campos e funções) com uma função de concatenação de strings, como `` concat``, `` + `` ou `` || ``. Esteja ciente de que, em algumas situações (quando houver valor nulo ou numérico), nem todas essas ferramentas atenderão à sua necessidade.

  • As strings são escritas em ‘aspas simples’.

  • Os campos são escritos em “aspas duplas” ou sem aspas.

Vamos dar uma olhada em alguns exemplos:

  1. Rótulo com base em dois campos ‘nome’ e ‘local’ com uma vírgula como separador:

    "name" || ', ' || "place"
    

    Retorna :

    John Smith, Paris
    
  2. Rótulo com base em dois campos ‘nome’ e ‘local’ com outros textos:

    'My name is ' + "name" + 'and I live in ' + "place"
    'My name is ' || "name" || 'and I live in ' || "place"
    concat('My name is ', name, ' and I live in ', "place")
    

    Retorna :

    My name is John Smith and I live in Paris
    
  3. Rótulo com base em dois campos ‘nome’ e ‘local’ com outros textos que combinam diferentes funções de concatenação:

    concat('My name is ', name, ' and I live in ' || place)
    

    Retorna :

    My name is John Smith and I live in Paris
    

    Ou, se o campo ‘local’ for NULO, retornará:

    My name is John Smith
    
  4. Rótulo de várias linhas com base em dois campos ‘nome’ e ‘local’ com um texto descritivo:

    concat('My name is ', "name", '\n' , 'I live in ' , "place")
    

    Retorna :

    My name is John Smith
    I live in Paris
    
  5. Rótulo com base em um campo e na função $ area para mostrar o nome do local e seu tamanho da área arredondada em uma unidade convertida:

    'The area of ' || "place" || ' has a size of '
    || round($area/10000) || ' ha'
    

    Retorna :

    The area of Paris has a size of 10500 ha
    
  6. Crie uma condição CASE ELSE. Se o valor da população no campo “população” for <= 50000, é uma cidade, caso contrário, é uma cidade:

    concat('This place is a ',
    CASE WHEN "population" <= 50000 THEN 'town' ELSE 'city' END)
    

    Retorna :

    This place is a town
    
  7. Nome para exibição das cidades e nenhum rótulo para os outros recursos (para o contexto “cidade”, veja o exemplo acima):

    CASE WHEN "population" > 50000 THEN "NAME" END
    

    Retorna :

    Paris
    

Como você pode ver no construtor de expressões, você tem centenas de funções disponíveis para criar expressões simples e muito complexas para rotular seus dados no QGIS. Veja o capítulo ref: vector_expressions para mais informações e exemplos sobre expressões.

14.1.4.4. Usando substituição definida por dados para rotular

Com o | dadosDefinidos | : sup: função “Substituição definida dos dados”, as configurações para a rotulagem são substituídas pelas entradas na tabela de atributos ou pelas expressões baseadas nelas. Esse recurso pode ser usado para definir valores para a maioria das opções de rotulagem descritas acima.

Por exemplo, usando o conjunto de dados de amostra QGIS do Alasca, vamos rotular a camada: file: aeroportos com seu nome, com base em seu militar` USE`, ou seja, se o aeroporto está acessível para:

  • militares, em seguida, exibi-lo na cor cinza, tamanho 8;

  • outros, em seguida, mostrar na cor azul, tamanho 10.

Para fazer isso, depois de habilitar a identificação no campo `` NAME`` da camada (consulte: ref: showlabels):

  1. Ative a guia: guilabel: Texto.

  2. Clique no | dadosDefinidos | ícone ao lado da propriedade: guilabel: Tamanho.

  3. Selecione: guilabel: Edit … e digite

    CASE
      WHEN "USE" like '%Military%' THEN 8 -- because compatible values are 'Military'
                                          -- and 'Joint Military/Civilian'
      ELSE 10
    END
    
  4. Pressione: guilabel: OK para validar. A caixa de diálogo é fechada e o | dadosDefinidos | o botão se torna | data Definir expressão ativada | significando que uma regra está sendo executada.

  5. Em seguida, clique no botão ao lado da propriedade color, digite a expressão abaixo e valide:

    CASE
      WHEN "USE" like '%Military%' THEN '150, 150, 150'
      ELSE '0, 0, 255'
    END
    

Da mesma forma, você pode personalizar qualquer outra propriedade do rótulo da maneira que desejar. Veja mais detalhes sobre o | dadosDefinidos | : sup: descrição e manipulação do ferramenta Substituição de definição de dados na seção: ref:` data_defined`.

../../../_images/label_attribute_data_defined.png

Fig. 14.31 Os rótulos dos aeroportos são formatados com base em seus atributos

Dica

** Use a substituição definida por dados para rotular todas as partes dos recursos de várias partes **

Há uma opção para definir a rotulagem para recursos de várias partes independentemente das propriedades da sua etiqueta. Escolha o | render | : ref: Renderização<labels_rendering>, `` Opções de recursos``, vá para | dadosDefinidos | : sup: botão Substituição de definição de dados ao lado da caixa de seleção | desmarcado | : guilabel: Rotule todas as partes dos recursos de várias partes e defina os rótulos como descrito em: ref:` data_defined`.

14.1.4.4.1. A barra de ferramentas Rótulo

The Label Toolbar provides some tools to manipulate labeling label or diagram diagram properties.

../../../_images/diagram_toolbar.png

Fig. 14.32 A barra de ferramentas Rótulo

Embora, para facilitar a leitura, Rótulo tenha sido usado abaixo para descrever a barra de ferramentas Rótulo, observe que, quando mencionadas em seu nome, as ferramentas funcionam quase da mesma maneira com os diagramas:

  • showPinnedLabels Highlight Pinned Labels and Diagrams. If the vector layer of the label is editable, then the highlighting is green, otherwise it’s blue.

  • showUnplacedLabel Toggles Display of Unplaced Labels: Allows to determine whether any important labels are missing from the maps (e.g. due to overlaps or other constraints). They are displayed with a customizable color (see Configurando o mecanismo de posicionamento automatizado).

  • pinLabels Pin/Unpin Labels and Diagrams. By clicking or draging an area, you pin label(s). If you click or drag an area holding Shift, label(s) are unpinned. Finally, you can also click or drag an area holding Ctrl to toggle the pin status of label(s).

  • showHideLabels Show/Hide Labels and Diagrams. If you click on the labels, or click and drag an area holding Shift, they are hidden. When a label is hidden, you just have to click on the feature to restore its visibility. If you drag an area, all the labels in the area will be restored.

  • moveLabel Moves a Label or Diagram. You just have to drag the label to the desired place.

  • rotateLabel Rotates a Label. Click the label and move around and you get the text rotated.

  • changeLabelProperties Change Label Properties. It opens a dialog to change the clicked label properties; it can be the label itself, its coordinates, angle, font, size, multiline alignment … as long as this property has been mapped to a field. Here you can set the option to checkbox Label every part of a feature.

Aviso

** As ferramentas de etiqueta substituem os valores atuais do campo **

O uso da barra de ferramentas: guilabel: Rótulo para personalizar a rotulagem realmente grava o novo valor da propriedade no campo mapeado. Portanto, tenha cuidado para não substituir inadvertidamente os dados necessários posteriormente!

Nota

O mecanismo: ref: vector_auxiliary_storage pode ser usado para personalizar a identificação (posição e assim por diante) sem modificar a fonte de dados subjacente.

14.1.4.4.2. Personalizar os rótulos da tela do mapa

Combinada com a: guilabel: Barra de ferramentas Etiqueta, a configuração de substituição de dados definida ajuda a manipular etiquetas na tela do mapa (mover, editar, girar). Agora descrevemos um exemplo usando a função de substituição definida por dados para a função | moveMarcador |: sup: Mover marcador (consulte figure_labels_coordinate_data_defined).

  1. Importe: file: lakes.shp do conjunto de dados de amostra do QGIS.

  2. Clique duas vezes na camada para abrir as propriedades da camada. Clique em: guilabel: Etiquetas e: guilabel:Canal. Selecione |botão de opção Ativado| : guilabel: Deslocamento do centróide.

  3. Procure as entradas: guilabel: Dados definidos. Clique no | Dadosdefinidos | ícone para definir o tipo de campo para: guilabel: Coordenada. Escolha `` xlabel`` para X e `` ylabel`` para Y. Os ícones agora estão destacados em amarelo.

    ../../../_images/label_coordinate_data_defined.png

    Fig. 14.33 Rotulagem de camadas de polígono de vetor com substituição definida por dados

  4. Zoom em um lago

  5. Defina editável a camada usando o | Editar edição | : sup: botão Alternar edição.

  6. Vá para a barra de ferramentas Rótulo e clique no | moveLabel | ícone. Agora você pode mudar o rótulo manualmente para outra posição (consulte figure_labels_move). A nova posição do rótulo é salva nas colunas `` xlabel`` e `` ylabel`` da tabela de atributos.

  7. Usando: ref: geometry_generator_symbol com a expressão abaixo, você também pode adicionar uma camada de símbolo de cadeia de linhas para conectar cada lago ao seu rótulo movido:

    make_line( centroid( $geometry ), make_point( "xlabel", "ylabel" ) )
    
    ../../../_images/move_label.png

    Fig. 14.34 Etiquetas movidas

Nota

O mecanismo: ref: vector_auxiliary_storage pode ser usado com propriedades definidas por dados sem ter uma fonte de dados editável.

14.1.5. Propriedades dos diagramas

diagram The Diagrams tab allows you to add a graphic overlay to a vector layer (see figure_diagrams_attributes).

A implementação principal atual de diagramas fornece suporte para:

  • diagramNone No diagrams: the default value with no diagram displayed over the features;

  • piechart Pie charts, a circular statistical graphic divided into slices to illustrate numerical proportion. The arc length of each slice is proportional to the quantity it represents;

  • text Text diagrams, a horizontaly divided circle showing statistics values inside;

  • e | histograma | : guilabel: Histogramas.

No canto superior direito da guia: guilabel: Diagramas, o | posicionamento automático | O botão: sup: Configurações automáticas de posicionamento (aplica-se a todas as camadas) fornece meios para controlar o diagrama: ref: etiqueta posicionamento<automated_placement> na tela do mapa.

Dica

** Alterne rapidamente entre tipos de diagramas **

Como as configurações são quase comuns aos diferentes tipos de diagrama, ao projetar seu diagrama, você pode alterar facilmente o tipo de diagrama e verificar qual é o mais apropriado para seus dados sem perda.

Para cada tipo de diagrama, as propriedades são divididas em várias guias:

14.1.5.1. Atributos

: guilabel: Atributos define quais variáveis ​​exibir no diagrama. Use | assinarPlus | : sup: botão adicionar item para selecionar os campos desejados no painel ‘Atributos atribuídos’. Atributos gerados com: ref: vector_expressions também podem ser usados.

Você pode mover para cima e para baixo qualquer linha com clique e arraste, classificando como os atributos são exibidos. Você também pode alterar o rótulo na coluna ‘Legenda’ ou a cor do atributo clicando duas vezes no item.

Esse rótulo é o texto padrão exibido na legenda do layout de impressão ou da árvore de camadas.

../../../_images/diagram_tab.png

Fig. 14.35 Guia Atributos das propriedades do diagrama

14.1.5.2. Renderização

Rendering defines how the diagram looks like. It provides general settings that do not interfere with the statistic values such as:

  • a opacidade do gráfico, sua largura e cor do contorno;

  • e, dependendo do tipo de diagrama:

    • a largura da barra no caso de histograma;

    • a cor de fundo do círculo no caso de diagrama de texto e a fonte usada para textos;

    • a orientação da linha esquerda da primeira fatia representada no gráfico de pizza. Observe que as fatias são exibidas no sentido horário.

Nesta guia, você também pode gerenciar e ajustar a visibilidade do diagrama com diferentes opções:

  • : guilabel: Diagrama z-index: controla como os diagramas são desenhados um sobre o outro e sobre os rótulos. Um diagrama com um índice alto é desenhado sobre diagramas e etiquetas;

  • checkbox Show all diagrams: shows all the diagrams even if they overlap each other;

  • Show diagram: allows only specific diagrams to be rendered;

  • Always Show: selects specific diagrams to always render, even when they overlap other diagrams or map labels;

  • configurando: ref: Visibilidade dependente da escala<label_scaledepend>;

  • Discourage diagrams and labels from covering features: defines features to use as obstacles, ie QGIS will try to not place diagrams nor labels over these features.

../../../_images/diagram_tab_appearance.png

Fig. 14.36 Propriedades do diagrama - guia Renderização

14.1.5.3. Tamanho

Size is the main tab to set how the selected statistics are represented. The diagram size units can be ‘Millimeter’, ‘Points’, Pixels, ‘Map Units’ or ‘Inches’. You can use :

  • Fixed size, an unique size to represent the graphic of all the features, except when displaying histogram

  • ou: guilabel: Tamanho em escala, com base em uma expressão usando atributos de camada.

../../../_images/diagram_tab_size.png

Fig. 14.37 Propriedades do diagrama - guia Tamanho

14.1.5.4. Localização

Placement helps to define diagram position. According to the layer geometry type, it offers different options for the placement:

  • ‘Sobre o ponto’ ou ‘Em torno do ponto’ para geometria de pontos. A última variável requer um raio a seguir.

  • ‘Sobre a linha’ ou ‘Em torno da linha’ para a geometria da linha. Como o recurso de ponto, a última variável exige uma distância a ser respeitada e o usuário pode especificar o posicionamento do diagrama em relação ao recurso (‘acima’, ‘ligado’ e ‘ou’ abaixo ‘da linha) É possível selecionar várias opções ao mesmo tempo. Nesse caso, o QGIS procurará a posição ideal do diagrama. Lembre-se de que aqui você também pode usar a orientação da linha para a posição do diagrama.

  • ‘Sobre o centróide’, ‘Ao redor do centróide’ (com uma distância definida), ‘Perímetro’ e em qualquer lugar ‘Dentro do polígono’ são as opções para os recursos do polígono.

O diagrama também pode ser colocado usando os dados do recurso para preencher os campos de coordenadas `` X`` e `` Y``.

O posicionamento dos diagramas pode interagir com a rotulagem, para que você possa detectar e resolver conflitos de posição entre diagramas e rótulos, definindo o valor do controle deslizante ** Prioridade **.

../../../_images/diagram_tab_placement.png

Fig. 14.38 Caixa de diálogo Propriedades do vetor com propriedades do diagrama, guia Posicionamento

14.1.5.5. Opções

A guia: guilabel: Opções possui configurações apenas no caso de histograma. Você pode escolher se a orientação da barra deve ser ‘Para cima’, ‘Para baixo’, ‘Direita’ e ‘Esquerda’.

14.1.5.6. Legenda

Na guia: guilabel: Legenda, você pode optar por exibir os itens do diagrama na: ref:` label_legend` e na: ref: legenda do layout de impressão<layout_legend_item>, ao lado da simbologia da camada:

  • Verifica: guilabel: Mostrar entradas de legenda para os atributos do diagrama para exibir nas legendas as propriedades` Cor` e` Legenda`, conforme previamente atribuído na guia: guilabel:` Atributos`;

  • e, quando um: ref: tamanho dimensionado<diagram_size> estiver sendo usado para os diagramas, pressione o botão: guilabel: Entradas de legenda para o tamanho do diagrama … para configurar o aspecto do símbolo do diagrama nas legendas. Isso abre a caixa de diálogo: guilabel: Legenda do tamanho definido por dados cujas opções são descritas em: ref:` data_defined_size_legend`.

Quando definidos, os itens da legenda do diagrama (atributos com cor e tamanho do diagrama) também são exibidos na legenda do layout de impressão, ao lado da simbologia da camada.

14.1.5.7. Estudo de Caso

Vamos demonstrar um exemplo e sobrepor na camada limite do Alasca um diagrama de texto mostrando os dados de temperatura de uma camada vetorial climática. Ambas as camadas vetoriais fazem parte do conjunto de dados de amostra do QGIS (consulte a seção: ref: label_sampledata).

  1. Primeiro, clique no | adicionar camada Ogr | : sup: Carregar vetor, navegue até a pasta do conjunto de dados de amostra QGIS e carregue as duas camadas de forma vetorial: Arquivo:` alaska.shp` e: file: Climate.shp.

  2. Dê um clique duplo na camada clima na legenda do mapa para abrir a aba de diálogo ‘Propriedades da camada `.

  3. Clique na guia: guilabel: Diagramas e na: guilabel:` Tipo de diagrama` | selecioneString | caixa de combinação, selecione ‘Diagrama de texto’.

  4. Na guia Aparência, escolhemos um azul claro como cor de fundo, e na guia Tamanho, montamos um tamanho fixo de 18 mm.

  5. Na guia Posição, a colocação pode ser definida como ‘em torno do ponto’.

  6. No diagrama, queremos exibir os valores das três colunas `` T_F_JAN``, `` T_F_JUL`` e `` T_F_MEAN``. Portanto, na guia: guilabel: Attributes, primeiro selecione` T_F_JAN` e clique no | signPlus | , repita com `` T_F_JUL`` e finalmente `` T_F_MEAN``.

  7. Agora clique em: guilabel: Aplicar para exibir o diagrama na janela principal do QGIS.

  8. Você pode adaptar o tamanho do gráfico na guia: guilabel: Tamanho. Ative o | botão de opção Ativado | : guilabel: Tamanho dimensionado e defina o tamanho dos diagramas com base na: guilabel:` valor máximo` de um atributo e na opção: guilabel: Tamanho. Se os diagramas parecerem muito pequenos na tela, você poderá ativar a caixa de seleção | : guilabel: caixa de seleção Aumentar tamanho dos pequenos diagramas e definir o tamanho mínimo dos diagramas.

  9. Altere as cores dos atributos clicando duas vezes nos valores das cores no campo: guilabel: Atributos atribuídos. Figure_diagrams_mapped dá uma idéia do resultado.

  10. Por fim, clique em: guilabel: OK.

../../../_images/climate_diagram.png

Fig. 14.39 Diagrama dos dados de temperatura sobrepostos em um mapa

Lembre-se que no: guilabel: guia ` Posição`, a | checkbox |: guilabel: Dados posição definida dos diagramas é possível. Aqui você pode usar atributos para definir a posição do diagrama. Você também pode definir a visibilidade dependente escala no: guilabel: guia ` Aparência`.

O tamanho e os atributos também podem ser uma expressão. Use a expressão | para adicionar uma expressão. Veja o capítulo ref: vector_expressions para mais informações e exemplos.

14.1.5.8. Usando substituição definida por dados

Como mencionado acima, você pode usar alguns dados personalizados definidos para ajustar a renderização dos diagramas:

  • posição em: guilabel: guia Colocação preenchendo os campos` X` e` Y`

  • visibilidade em: guilabel: guia Aparência preenchendo o campo` Visibilidade`

Veja: ref: data_defined_labeling para mais informações.

14.1.6. Propriedades da vista 3D

 | 3d | A guia: guilabel: 3D View fornece configurações para as camadas vetoriais que devem ser representadas na ferramenta: ref:` 3D Map view <label_3dmapview>`.

Para exibir uma camada em 3D, selecione na caixa de combinação na parte superior da guia:

  • : guilabel: Símbolo único: os recursos são renderizados usando um símbolo comum cujas propriedades podem ser: ref:` data-defined<data_defined>` ou não

  • : guilabel: Baseado em regras: várias configurações de símbolos podem ser definidas e aplicadas seletivamente com base em filtros de expressão e escala de escala. Mais detalhes sobre como fazer em: ref: Renderização baseada em regras<rule_based_rendering>.

Dependendo do tipo de geometria da camada, várias propriedades estão disponíveis para renderização em 3D.

../../../_images/3d_view_properties.png

Fig. 14.40 Propriedades 3D de uma camada de polígono

14.1.6.1. Camadas de ponto

  • Você pode definir diferentes formas 3D simples como: guilabel: Esfera,: guilabel:Cilindro,: guilabel: Cubo,: guilabel:` Cone`,: guilabel: Avião e: guilabel:` Toro` definido pelos seus: guilabel: Radio,: guilabel:` Tamanho ‘ou: guilabel: comprimento. A unidade de tamanho das formas 3D refere-se ao CRS do projeto.

  • The shading of the 3D shapes can be defined by the menus Diffuse, Ambient, Specular and Shininess (see https://en.wikipedia.org/wiki/Phong_reflection_model#Description)

  • If you choose 3D Model, the location will be determined by a simple point coordinate.

  • For visualizing 3D point clouds you can use Billboard Shapes defined by the Billboard Height, Billboard symbol and Altitude clamping. The symbol will have a stable size.

  • Altitude clamping can be set to Absolute, Relative or Terrain. The Absolute setting can be used when height values of the 3d vectors are provided as absolute measures from 0. Relative and Terrain add given elevation values to the underlying terrain elevation.

  • : guilabel: Tradução pode ser usada para mover objetos nos eixos x, ye z.

  • You can define a Scale factor for the 3D shape as well as a Rotation around the x-, y- and z-axis.

14.1.6.2. Line layers

  • Beneath the Width and Height settings you can define the Extrusion of the vector lines. If the lines do not have z-values, you can define the 3d volumes with this setting.

  • With the Altitude clamping you define the position of the 3D lines relative to the underlying terrain surface, if you have included raster elevation data or other 3D vectors.

  • The Altitude binding defines how the feature is clamped to the terrain. Either every Vertex of the feature will be clamped to the terrain or this will be done by the Centroid.

  • It is possible to checkboxRender as simple 3D lines.

  • The shading can be defined in the menus Diffuse, Ambient, Specular and Shininess.

14.1.6.3. Polygon Layers

  • As for the other ones, Height can be defined in CRS units.

  • Again, Extrusion is possible for missing z-values.

  • The Altitude clamping, Altitude binding can be defined as explained above.

  • There is an additional option to checkboxAdd back faces and checkboxInvert normals.

  • You can define checkboxEdges by Width and Color.

14.1.6.4. Application example

To go through the settings explained above you can have a look at https://public.cloudmergin.com/projects/saber/luxembourg/tree.

14.1.7. Fields Properties

sourceFields The Fields tab provides information on fields related to the layer and helps you organize them.

The layer can be made editable using the toggleEditing Toggle editing mode. At this moment, you can modify its structure using the newAttribute New field and deleteAttribute Delete field buttons.

You can also rename fields by double-clicking its name. This is only supported for data providers like PostgreSQL, Oracle, Memory layer and some OGR layer depending on the OGR data format and version.

If set in the underlying data source or in the forms properties, the field’s alias is also displayed. An alias is a human readable field name you can use in the feature form or the attribute table. Aliases are saved in the project file.

Dependendo do provedor de dados, você pode associar um comentário a um campo, por exemplo, na sua criação. Essas informações são recuperadas e mostradas na coluna: guilabel: Comente e mais tarde são exibidas ao passar o mouse sobre o rótulo do campo em um formulário de recurso.

Other than the fields contained in the dataset, virtual fields and Auxiliary Storage included, the Fields tab also lists fields from any joined layers. Depending on the origin of the field, a different background color is applied to it.

For each listed field, the dialog also lists read-only characteristics such as its type, type name, length and precision. When serving the layer as WMS or WFS, you can also check here which fields could be retrieved.

../../../_images/fields_properties.png

Fig. 14.41 Guia de propriedades dos campos

14.1.8. Propriedades do formulário de atributos

formView The Attributes Form tab helps you set up the form to display when creating new features or querying existing one. You can define:

  • a aparência e o comportamento de cada campo no formulário do recurso ou na tabela de atributos (rótulo, widget, restrições …);

  • a estrutura do formulário (personalizada ou gerada automaticamente):

  • lógica extra no Python para lidar com a interação com os widgets de formulário ou campo.

At the top right of the dialog, you can set whether the form is opened by default when creating new features. This can be configured per layer or globally with the Suppress attribute form pop-up after feature creation option in the Settings ▶ Options ▶ Digitizing menu.

14.1.8.1. Personalizando um formulário para seus dados

By default, when you click on a feature with the identify Identify Features tool or switch the attribute table to the form view mode, QGIS displays a basic form with predefined widgets (generally spinboxes and textboxes — each field is represented on a dedicated row by its label next to the widget). If relations are set on the layer, fields from the referencing layers are shown in an embedded frame at the bottom of the form, following the same basic structure.

This rendering is the result of the default Autogenerate value of the Attribute editor layout setting in the Layer properties ▶ Attributes Form tab. This property holds three different values:

  • Autogenerate: keeps the basic structure of “one row - one field” for the form but allows to customize each corresponding widget.

  • Drag-and-drop designer: other than widget customization, the form structure can be made more complex eg, with widgets embedded in groups and tabs.

  • Provide ui file: allows to use a Qt designer file, hence a potentially more complex and fully featured template, as feature form.

14.1.8.1.1. The autogenerated form

When the Autogenerate option is on, the Available widgets panel shows lists of fields (from the layer and its relations) that would be shown in the form. Select a field and you can configure its appearance and behavior in the right panel:

14.1.8.1.2. The drag and drop designer

The drag and drop designer allows you to create a form with several containers (tabs or groups) to present the attribute fields, as shown for example in figure_fields_form.

../../../_images/resulting_feature_form.png

Fig. 14.42 Resulting built-in form with tabs and named groups

  1. Choose Drag and drop designer from the Select attribute layout editor combobox. This enables the Form Layout panel next to the Available widgets panel, filled with existing fields. The selected field displays its properties (that you can customize) in a third panel.

  2. Select fields you do not want to use in your Form Layout panel and hit the signMinus button to remove them. Drag and drop fields from the other panel to re-add them. The same field can be added multiple times.

  3. Drag and drop fields within the Form Layout panel to reorder their position.

  4. Add containers (tab or group frames) to associate fields that belong to the same category and better structure the form.

    1. The first step is to use the signPlus icon to create a tab in which fields and groups will be displayed

    2. Then set the properties of the container, ie:

      • the name

      • the type, ie a tab or a group in container (a group inside a tab or another group)

      • and the number of columns the embedded fields should be distributed over

      ../../../_images/attribute_editor_layout.png

      Fig. 14.43 Dialog to create containers with the Attribute editor layout

      These, and other properties can later be updated by selecting the item and, from the third panel:

      • hide or show the container’s label

      • display the container as a group box (only available for tabs).

      • rename the container

      • set the number of columns

      • enter an expression to control the container’s visibility. The expression will be re-evaluated every time values in the form change, and the tab or group box shown/hidden accordingly

      • add a background color

    3. You can create as many containers as you want; press the signPlus icon again to create another tab or a group frame under an existing tab.

  5. The next step is to assign the relevant fields to each container, by simple drag and drop. Groups and tabs can also be moved in the same way.

  6. In case the layer is involved in a one or many to many relation, drag-and-drop the relation name from the Available widgets panel to the Form Layout panel. The associated layer attribute form will be embedded at the chosen place in the current layer’s form. As for the other items, select the relation label to configure some properties:

    • hide or show the relation label

    • show the link button

    • show the unlink button

  7. Apply the layer’s properties dialog

  8. Open a feature attribute form (eg, using the identify Identify features tool) and it should display the new form.

14.1.8.1.3. Using custom ui-file

The Provide ui-file option allows you to use complex dialogs made with Qt-Designer. Using a UI-file allows a great deal of freedom in creating a dialog. Note that, in order to link the graphical objects (textbox, combobox…) to the layer’s fields, you need to give them the same name.

Use the Edit UI to define the path to the file to use.

UI-files can also be hosted on a remote server. In this case, you provide the URL of the form instead of the file path in Edit UI.

You’ll find some example in the Creating a new form lesson of the Manual de treinamento QGIS. For more advanced information, see https://woostuff.wordpress.com/2011/09/05/qgis-tips-custom-feature-forms-with-python-logic/.

14.1.8.1.4. Enhance your form with custom functions

QGIS forms can have a Python function that is called when the dialog is opened. Use this function to add extra logic to your dialogs. The form code can be specified in three different ways:

  • load from the environment: use a function, for example in startup.py or from an installed plugin

  • load from an external file: a file chooser will let you select a Python file from your filesystem or enter a URL for a remote file.

  • provide code in this dialog: a Python editor will appear where you can directly type the function to use.

In all cases you must enter the name of the function that will be called (open in the example below).

An example is (in module MyForms.py):

def open(dialog,layer,feature):
    geom = feature.geometry()
    control = dialog.findChild(QWidged,"My line edit")

Reference in Python Init Function like so: open

14.1.8.2. Configure the field behavior

The main part of the Attributes Form tab helps you set the type of widget used to fill or display values of the field, in the attribute table or the feature form: you can define how user interacts with each field and the values or range of values that are allowed to be added to each.

../../../_images/edit_widgets_dialog.png

Fig. 14.44 Dialog to select an edit widget for an attribute column

14.1.8.2.1. Common settings

Regardless the type of widget applied to the field, there are some common properties you can set to control whether and how a field can be edited.

14.1.8.2.1.1. Widget display

Show label: indicates whether the field name should be displayed in the form.

14.1.8.2.1.2. General options
  • Alias: a human readable name to use for fields. The alias will be displayed in the feature form, the attribute table, or in the Identify results panel. It can also be used as field name replacement in the expression builder, easing expressions understanding and reviews. Aliases are saved in project file.

  • Comment: displays the field’s comment as shown in the Fields tab, in a read-only state. This information is shown as tooltip when hovering over the field label in a feature form.

  • checkbox Editable: uncheck this option to set the field read-only (not manually modifiable) even when the layer is in edit mode. Note that checking this setting doesn’t override any edit limitation from the provider.

  • checkbox Label on top: places the field name above or beside the widget in the feature form.

14.1.8.2.1.3. Default values
  • Default value: for new features, automatically populates by default the field with a predefined value or an expression-based one. For example, you can:

    • use $x, $length, $area to automatically populate a field with the feature’s X coordinate, length, area or any geometric information at its creation;

    • increment a field by 1 for each new feature using maximum("field")+1;

    • save the feature creation datetime using now();

    • use variables in expressions, making it easier to e.g. insert the operator name (@user_full_name), the project file path (@project_path), …

    A preview of the resulting default value is displayed at the bottom of the widget.

    Nota

    The Default value option is not aware of the values in any other field of the feature being created so it won’t be possible to use an expression combining any of those values i.e using an expression like concat(field1, field2) may not work.

  • checkbox Apply default value on update: whenever the feature attribute or geometry is changed, the default value is recalculated. This could be handy to save values like last user that modifies data, last time it was changed…

14.1.8.2.1.4. Constraints

You can constrain the value to insert in the field. This constraint can be:

  • checkbox Not null: requires the user to provide a value;

  • checkbox Unique: guarantee the inserted value to be unique throughout the field;

  • based on a custom expression: e.g. regexp_match(col0,'A-Za-z') to ensure that the value of the field col0 has only alphabetical letter. A short description can be added to help you remember the constraint.

Whenever a value is added or edited in a field, it’s submitted to the existing constraints and:

  • if it meets all the requirements, a green check is shown beside the field in the form;

  • if it does not meet all the requirements, then a yellow or red cross is displayed near the field. You can hover over the cross to remind which constraints are applied to the field and fix the value:

    • A yellow cross appears when the unmet constraint is an unenforced one and it does not prevent you to save the changes with the “wrong” values;

    • A red cross can not be ignored and does not allow you to save your modifications until they meet the constraints. It appears when the checkbox Enforce constraint option is checked.

14.1.8.2.2. Edit widgets

Based on the field type, QGIS automatically determines and assigns a default widget type to it. You can then replace the widget with any other compatible with the field type. The available widgets are:

  • Checkbox: Displays a checkbox whose state defines the value to insert.

  • Classification: Only available when a categorized symbology is applied to the layer, displays a combo box with the values of the classes.

  • Color: Displays a color widget allowing to select a color; the color value is stored as a html notation in the attribute table.

  • Date/Time: Displays a line field which can open a calendar widget to enter a date, a time or both. Column type must be text. You can select a custom format, pop-up a calendar, etc.

  • Enumeration: Opens a combo box with predefined values fetched from the database. This is currently only supported by the PostgreSQL provider, for fields of enum type.

  • Attachment: Uses a “Open file” dialog to store file path in a relative or absolute mode. It can also be used to display a hyperlink (to document path), a picture or a web page.

  • ** Oculto **: Uma coluna de atributo oculto é invisível. O usuário não é capaz de ver o seu conteúdo.

  • Key/Value: Displays a two-columns table to store sets of key/value pairs within a single field. This is currently supported by the PostgreSQL provider, for fields of hstore type.

  • List: Displays a single column table to add different values within a single field. This is currently supported by the PostgreSQL provider, for fields of array type.

  • Tamanho: Permite definir valores numéricos de um tamanho específico. A edição do Widget pode ser um controle deslizante ou uma caixa de rotação.

  • Relation Reference: This widget lets you embed the feature form of the referenced layer on the feature form of the actual layer. See Creating one or many to many relations.

  • Text Edit (default): This opens a text edit field that allows simple text or multiple lines to be used. If you choose multiple lines you can also choose html content.

  • Unique Values: You can select one of the values already used in the attribute table. If ‘Editable’ is activated, a line edit is shown with autocompletion support, otherwise a combo box is used.

  • Uuid Generator: Generates a read-only UUID (Universally Unique Identifiers) field, if empty.

  • Value Map: A combo box with predefined items. The value is stored in the attribute, the description is shown in the combo box. You can define values manually or load them from a layer or a CSV file.

  • Value Relation: Offers values from a related table in a combobox. You can select layer, key column and value column. Several options are available to change the standard behaviors: allow null value, order by value, allow multiple selections and use of auto-completer. The forms will display either a drop-down list or a line edit field when completer checkbox is enabled.

Dica

Relative Path in Attachment widget

If the path which is selected with the file browser is located in the same directory as the .qgs project file or below, paths are converted to relative paths. This increases portability of a .qgs project with multimedia information attached.

14.1.9. Joins Properties

join The Joins tab allows you to associate features of the current layer (called Target layer) to features from another loaded vector layer (or table). The join is based on an attribute that is shared by the layers. The layers can be geometryless (tables) or not but their join attribute should be of the same type.

To create a join:

  1. Click the signPlus Add new join button. The Add vector join dialog appears.

  2. Select the Join layer you want to connect with the target vector layer

  3. Specify the Join field and the Target field that are common to both the join layer and the target layer

  4. Press OK and a summary of selected parameters is added to the Join panel.

../../../_images/join_attributes.png

Fig. 14.45 Join an attribute table to an existing vector layer

The steps above will create a join, where ALL the attributes of the first matching feature in the join layer is added to the target layer’s feature. QGIS provides more options to tweak the join:

  • checkbox Cache join layer in virtual memory: allows you to cache values in memory (without geometries) from the joined layer in order to speed up lookups.

  • unchecked Create attribute index on the join field

  • unchecked Dynamic form: helps to synchronize join fields on the fly, according to the Target field. This way, constraints for join fields are also correctly updated. Note that it’s deactivated by default because it may be very time consuming if you have a lot of features or a myriad of joins.

  • If the target layer is editable, then some icons will be displayed in the attribute table next to fields, in order to inform about their status:

    • joinNotEditable: the join layer is not configured to be editable. If you want to be able to edit join features from the target attribute table, then you have to check the option checkbox Editable join layer.

    • joinedLayerNotEditable: the join layer is well configured to be editable, but its current status is read only.

    • joinHasNotUpsertOnEdit: the join layer is editable, but synchronization mechanisms are not activated. If you want to automatically add a feature in the join layer when a feature is created in the target layer, then you have to check the option checkbox Upsert on edit. Symmetrically, the option checkbox Delete cascade may be activated if you want to automatically delete join features.

  • unchecked Joined fields: instead of adding all the fields from the joined layer, you can specify a subset.

  • unchecked Custom field name prefix for joined fields, in order to avoid name collision

QGIS currently has support for joining non-spatial table formats supported by OGR (e.g., CSV, DBF and Excel), delimited text and the PostgreSQL provider.

14.1.10. Auxiliary Storage Properties

The regular way to customize styling and labeling is to use data-defined properties as described in Data defined override setup. However, it may not be possible if the underlying data is read only. Moreover, configuring these data-defined properties may be very time consuming or not desirable! For example, if you want to fully use map tools coming with A barra de ferramentas Rótulo, then you need to add and configure more than 20 fields in your original data source (X and Y positions, rotation angle, font style, color and so on).

The Auxiliary Storage mechanism provides the solution to these limitations and awkward configurations. Auxiliary fields are a roundabout way to automatically manage and store these data-defined properties (labels, diagram, symbology…) in a SQLite database thanks to editable joins. This allows you to store properties for layers that aren’t editable.

A tab is available in vector layer properties dialog to manage auxiliary storage:

../../../_images/auxiliary_storage_tab.png

Fig. 14.46 Auxiliary Storage tab

14.1.10.1. Labeling

Considering that the data source may be customized thanks to data-defined properties without being editable, labeling map tools described in A barra de ferramentas Rótulo are always available as soon as labeling is activated.

Actually, the auxiliary storage system needs an auxiliary layer to store these properties in a SQLite database (see Auxiliary storage database). Its creation process is run the first time you click on the map while a labeling map tool is currently activated. Then, a window is displayed, allowing you to select the primary key to use for joining (to ensure that features are uniquely identified):

../../../_images/auxiliary_storage_key.png

Fig. 14.47 Auxiliary Layer creation dialog

As soon as an auxiliary layer is configured for the current data source, you can retrieve its information in the tab:

../../../_images/auxiliary_storage_tabkey.png

Fig. 14.48 Auxiliary Layer key

The auxiliary layer now has these characteristics:

  • the primary key is ID,

  • there are 0 features using an auxiliary field,

  • there are 0 auxiliary fields.

Now that the auxiliary layer is created, you can edit the layer labels. Click on a label while the changeLabelProperties Change Label map tool is activated, then you can update styling properties like sizes, colors, and so on. The corresponding data-defined properties are created and can be retrieved:

../../../_images/auxiliary_storage_fields.png

Fig. 14.49 Auxiliary Fields

As you can see in the figure above, 21 fields are automatically created and configured for labeling. For example, the FontStyle auxiliary field type is a String and is named labeling_fontstyle in the underlying SQLite database. There is also 1 feature which is currently using these auxiliary fields.

Notice that the icon dataDefineOn is displayed in the Labels properties tab indicating that the data-defined override options are set correctly:

../../../_images/auxiliary_storage_dd.png

Fig. 14.50 Data-defined properties automatically created

Otherwise, there’s another way to create an auxiliary field for a specific property thanks to the dataDefined data-defined override button. By clicking on Store data in the project, an auxiliary field is automatically created for the Opacity field. If you click on this button and the auxiliary layer is not created yet, a window (Fig. 14.47) is first displayed to select the primary key to use for joining.

14.1.10.2. Simbologia

Like the method described above for customizing labels, auxiliary fields can also be used to stylize symbols and diagrams. To do this, click on dataDefined Data-defined override and select Store data in the project for a specific property. For example, the Fill color field:

../../../_images/auxiliary_storage_symbol.png

Fig. 14.51 Data-defined property menu for symbol

There are different attributes for each symbol (e.g. fill style, fill color, stroke color, etc…), so each auxiliary field representing an attribute requires a unique name to avoid conflicts. After selecting Store data in the project, a window opens and displays the Type of the field and prompts you to enter a unique name for the auxiliary field. For example, when creating a Fill color auxiliary field the following window opens:

../../../_images/auxiliary_storage_symbol_name.png

Fig. 14.52 Name of the auxiliary field for a symbol

Once created, the auxiliary field can be retrieved in the auxiliary storage tab:

../../../_images/auxiliary_storage_symbol_field.png

Fig. 14.53 Auxiliary field symbol

14.1.10.3. Attribute table and widgets

Auxiliary fields can be edited using the attribute table. However, not all auxiliary fields are initially visible in the attribute table.

Auxiliary fields representing attributes of a layer’s symbology, labeling, appearance, or diagrams will appear automatically in the attribute table. The exception are attributes that can be modified using the Label Toolbar which are hidden by default. Auxiliary fields representing a Color have a widget Color set by default, otherwise auxiliary fields default to the Text Edit widget.

Auxiliary fields that represent attributes that can be modified using the Label toolbar are Hidden in the attribute table by default. To make a field visible, open the Attribute Form properties tab and change the value of an auxiliary field Widget Type from Hidden to another relevant value. For example, change the auxiliary_storage_labeling_size to Text Edit or change auxiliary_storage_labeling_color to the Color widget. Those fields will now be visible in the attribute table.

Auxiliary fields in the attribute table will appear like the following image:

../../../_images/auxiliary_storage_widgets.png

Fig. 14.54 Form with auxiliary fields

14.1.10.4. Management

The Auxiliary Layer menu allows you to manage the auxiliary fields:

../../../_images/auxiliary_storage_actions.png

Fig. 14.55 Auxiliary layer management

The first item Create is disabled in this case because the auxiliary layer is already created. But in case of a fresh work, you can use this action to create an auxiliary layer. As explained in Labeling, a primary key will be needed then.

The Clear action allows to keep all auxiliary fields, but remove their contents. This way, the number of features using these fields will fall to 0.

The Delete action completely removes the auxiliary layer. In other words, the corresponding table is deleted from the underlying SQLite database and properties customization are lost.

Finally, the Export action allows to save the auxiliary layer as a new vector layer. Note that geometries are not stored in auxiliary storage. However, in this case, geometries are exported from the original data source too.

14.1.10.5. Auxiliary storage database

When you save your project with the .qgs format, the SQLite database used for auxiliary storage is saved at the same place but with the extension .qgd.

For convenience, an archive may be used instead thanks to the .qgz format. In this case, .qgd and .qgs files are both embedded in the archive.

14.1.11. Actions Properties

action QGIS provides the ability to perform an action based on the attributes of a feature. This can be used to perform any number of actions, for example, running a program with arguments built from the attributes of a feature or passing parameters to a web reporting tool.

../../../_images/action_dialog.png

Fig. 14.56 Overview action dialog with some sample actions

Ações são úteis quando você frequentemente deseja executar uma aplicação externa ou visualizar uma página web com base em um ou mais valores em sua camada de vetor. Elas são divididas em seis tipos e pode ser usadas assim:

  • Iniciar ações genéricas, Mac, Windows e Unix em um processo externo.

  • Executar ações Python uma expressão Python.

  • Ações genéricas e Python são visíveis em toda parte.

  • Ações Mac, Windows e Unix são visíveis apenas na respectiva plataforma (ou seja, você pode definir ações de três “Editar” para abrir um editor e os usuários só podem ver e executar a ação “Editar” na sua plataforma para executar o editor) .

There are several examples included in the dialog. You can load them by clicking on Create Default Actions. To edit any of the examples, double-click its row. One example is performing a search based on an attribute value. This concept is used in the following discussion.

The checkbox Show in Attribute Table allows you to display in the attribute table dialog the checked feature-scoped actions, either as Combo Box or as Separate Buttons (see Configurando as colunas).

14.1.11.1. Defining Actions

To define an attribute action, open the vector Layer Properties dialog and click on the Actions tab. In the Actions tab, click the signPlus Add a new action to open the Edit Action dialog.

Select the action Type and provide a descriptive name for the action. The action itself must contain the name of the application that will be executed when the action is invoked. You can add one or more attribute field values as arguments to the application. When the action is invoked, any set of characters that start with a % followed by the name of a field will be replaced by the value of that field. The special characters %% will be replaced by the value of the field that was selected from the identify results or attribute table (see using_actions below). Double quote marks can be used to group text into a single argument to the program, script or command. Double quotes will be ignored if preceded by a backslash.

The Action Scopes allows you to define where the action should be available. You have 4 different choices:

  1. Feature Scope: action is available when right click in the cell within the attribute table.

  2. Field Scope: action is available when right click in the cell within the attribute table, in the feature form and in the default action button of the main toolbar.

  3. Layer Scope: action is available in the action button in the attribute table toolbar. Be aware that this type of action involves the entire layer and not the single features.

  4. Canvas: action is available in the main action button in the toolbar.

If you have field names that are substrings of other field names (e.g., col1 and col10), you should indicate that by surrounding the field name (and the % character) with square brackets (e.g., [%col10]). This will prevent the %col10 field name from being mistaken for the %col1 field name with a 0 on the end. The brackets will be removed by QGIS when it substitutes in the value of the field. If you want the substituted field to be surrounded by square brackets, use a second set like this: [[%col10]].

Using the Identify Features tool, you can open the Identify Results dialog. It includes a (Derived) item that contains information relevant to the layer type. The values in this item can be accessed in a similar way to the other fields by proceeding the derived field name with (Derived).. For example, a point layer has an X and Y field, and the values of these fields can be used in the action with %(Derived).X and %(Derived).Y. The derived attributes are only available from the Identify Results dialog box, not the Attribute Table dialog box.

Two example actions are shown below:

  • konqueror https://www.google.com/search?q=%nam

  • konqueror https://www.google.com/search?q=%%

In the first example, the web browser konqueror is invoked and passed a URL to open. The URL performs a Google search on the value of the nam field from our vector layer. Note that the application or script called by the action must be in the path, or you must provide the full path. To be certain, we could rewrite the first example as: /opt/kde3/bin/konqueror https://www.google.com/search?q=%nam. This will ensure that the konqueror application will be executed when the action is invoked.

O segundo exemplo usa a notação % % , que não depende de um campo específico para o seu valor. Quando a ação é consultado, o % % será substituído pelo valor do campo selecionado na tabela de identificar resultados ou atributo.

14.1.11.2. Usando ações

O QGIS oferece várias maneiras de executar ações que você ativou em uma camada. Dependendo das configurações, eles podem estar disponíveis:

  • no menu suspenso do | ação Executar| : sup: botão Executar ação de recurso na: guilabel:` Barra de ferramentas Atributos` ou: guilabel: Tabela de Atributos;

  • when right-clicking a feature with the identify Identify Features tool (see Identifying Features for more information);

  • from the Identify Results panel, under the Actions section;

  • as items of an Actions column in the Attribute Table dialog.

Se você está chamando uma ação que usa o ``% ``% notação, clique com o botão direito sobre o valor do campo na: guilabel: `` Identificar resultados de diálogo ou o: guilabel: ‘Tabela de atributos` diálogo que você deseja passar para a aplicação ou script.

Here is another example that pulls data out of a vector layer and inserts it into a file using bash and the echo command (so it will only work on nix or perhaps osx). The layer in question has fields for a species name taxon_name, latitude lat and longitude long. We would like to be able to make a spatial selection of localities and export these field values to a text file for the selected record (shown in yellow in the QGIS map area). Here is the action to achieve this:

bash -c "echo \"%taxon_name %lat %long\" >> /tmp/species_localities.txt"

Depois de selecionar algumas localidades e executar a ação em cada um, a abertura do arquivo de saída irái mostrar algo como isto:

Acacia mearnsii -34.0800000000 150.0800000000
Acacia mearnsii -34.9000000000 150.1200000000
Acacia mearnsii -35.2200000000 149.9300000000
Acacia mearnsii -32.2700000000 150.4100000000

As an exercise, we can create an action that does a Google search on the lakes layer. First, we need to determine the URL required to perform a search on a keyword. This is easily done by just going to Google and doing a simple search, then grabbing the URL from the address bar in your browser. From this little effort, we see that the format is https://www.google.com//search?q=QGIS, where QGIS is the search term. Armed with this information, we can proceed:

  1. Verifique se a camada lagos está carregada.

  2. Open the Layer Properties dialog by double-clicking on the layer in the legend, or right-click and choose Properties from the pop-up menu.

  3. Click on the Actions tab.

  4. Click signPlus Add a new action.

  5. Choose the Open action type,

  6. Digite um nome para a ação, por exemplo `` Google Search ``.

  7. Additionally you can add a Short Name or even an Icon.

  8. Choose the action Scope. See Defining Actions for further information. Leave the default settings for this example.

  9. Para a ação, precisamos fornecer o nome do programa externo a ser executado. Neste caso, podemos usar o Firefox. Se o programa não estiver em seu caminho, você precisará fornecer o caminho completo.

  10. Following the name of the external application, add the URL used for doing a Google search, up to but not including the search term: https://www.google.com//search?q=

  11. The text in the Action field should now look like this: https://www.google.com//search?q=

  12. Clique na caixa suspensa que contém os nomes dos campos da camada `` lagos``. Ele está localizado à esquerda do botão: guilabel: Insert.

  13. Na caixa suspensa, selecione ‘NAMES’ e clique em: guilabel: Insert.

  14. Seu texto ação agora se parecerá como este:

    https://www.google.com//search?q=[%NAMES%]

  15. Para finalizar e adicionar a ação, clique no botão: guilabel: OK.

../../../_images/add_action_edit.png

Fig. 14.57 Caixa de diálogo Editar Ação Configurada com o Exemplo

Isso completa a ação, e ele está pronto para usar. O texto final da ação deve ser semelhante a este:

https://www.google.com//search?q=[%NAMES%]

Agora podemos utilizar a ação. Feche a: aba de diálogo: ‘Propriedades da camada ` e aplique um zoom em uma área de interesse. Certifique-se que a camada lagos está ativa e identifique um lago. Na caixa o resultado que você poderá visualizar que a nossa ação está visível:

../../../_images/action_identifyaction.png

Fig. 14.58 Selecione o recurso e escolha a ação

When we click on the action, it brings up Firefox and navigates to the URL https://www.google.com/search?q=Tustumena. It is also possible to add further attribute fields to the action. Therefore, you can add a + to the end of the action text, select another field and click on Insert Field. In this example, there is just no other field available that would make sense to search for.

Você pode definir várias ações para uma camada, e cada um vai aparecer no diálogo Identificar resultados.

You can also invoke actions from the attribute table by selecting a row and right-clicking, then choosing the action from the pop-up menu.

Há todos os tipos de usos para as ações. Por exemplo, se você tem uma camada de pontos que contém as localizações de imagens ou fotos, juntamente com um nome de arquivo, você pode criar uma ação para lançar um visualizador para exibir a imagem. Você também pode usar ações para lançar relatórios baseados na web para um campo de atributo ou combinação de campos, especificando-as da mesma forma que fizemos no nosso exemplo de busca Google.

Nós também podemos fazer exemplos mais complexos, por exemplo, usando ações Python.

Usually, when we create an action to open a file with an external application, we can use absolute paths, or eventually relative paths. In the second case, the path is relative to the location of the external program executable file. But what about if we need to use relative paths, relative to the selected layer (a file-based one, like Shapefile or SpatiaLite)? The following code will do the trick:

command = "firefox"
imagerelpath = "images_test/test_image.jpg"
layer = qgis.utils.iface.activeLayer()
import os.path
layerpath = layer.source() if layer.providerType() == 'ogr'
  else (qgis.core.QgsDataSourceURI(layer.source()).database()
    if layer.providerType() == 'spatialite' else None)
path = os.path.dirname(str(layerpath))
image = os.path.join(path,imagerelpath)
import subprocess
subprocess.Popen( [command, image ] )

Nós apenas temos que lembrar que a ação é um do tipo variáveis Python e o comando e imagerelpath ​​devem ser alteradas para atender as necessidades.

Mas o que dizer se o caminho relativo deve ser relativo ao arquivo de projeto (salvo)? O código da ação Python seria:

command = "firefox"
imagerelpath = "images/test_image.jpg"
projectpath = qgis.core.QgsProject.instance().fileName()
import os.path
path = os.path.dirname(str(projectpath)) if projectpath != '' else None
image = os.path.join(path, imagerelpath)
import subprocess
subprocess.Popen( [command, image ] )

Outro exemplo de ação Python é a que nos permite adicionar novas camadas ao projeto. Por exemplo, os exemplos a seguir irão adicionar ao projeto, respectivamente, um vetor e raster. Os nomes dos arquivos a serem adicionados ao projeto e os nomes a serem indicados para as camadas são conduzidos de dados (nome do arquivo e nome da camada são nomes da tabela de atributos do vetor, onde a ação foi criada coluna):

qgis.utils.iface.addVectorLayer('/yourpath/[% "filename" %].shp',
  '[% "layername" %]', 'ogr')

Para adicionar um raster (uma imagem TIF neste exemplo), ele se torna:

qgis.utils.iface.addRasterLayer('/yourpath/[% "filename" %].tif',
  '[% "layername" %]')

14.1.12. Display Properties

display The Display tab helps you configure fields to use for feature identification:

  • The Display name: based on a field or an expression. This is:

    • the label shown on top of the feature information in the Identify tool results;

    • the field used in the locator bar when looking for features in all layers;

    • the feature identifier in the attribute table form view;

    • the map tip information, i.e. the message displayed in the map canvas when hovering over a feature of the active layer with the mapTips Show Map Tips icon pressed. Applicable when no HTML Map Tip is set.

  • The HTML Map Tip is specifically created for the map tips: it’s a more complex and full HTML text mixing fields, expressions and html tags (multiline, fonts, images, hyperlink…).

../../../_images/display_html.png

Fig. 14.59 HTML code for map tip

To activate map tips, select the menu option View ▶ Show Map Tips or click on the mapTips Show Map Tips icon of the Attributes Toolbar. Map tip is a cross-session feature meaning that once activated, it stays on and apply to any layer in any project, even in future QGIS sessions until it’s toggled off.

../../../_images/map_tip.png

Fig. 14.60 Map tip made with HTML code

14.1.13. Propriedades de Renderização

14.1.13.1. Scale dependent visibility

You can set the Maximum (inclusive) and Minimum (exclusive) scale, defining a range of scale in which features will be visible. Out of this range, they are hidden. The mapIdentification Set to current canvas scale button helps you use the current map canvas scale as boundary of the range visibility. See Escala dependente da renderização for more information.

14.1.13.2. Simplify geometry

QGIS offers support for on-the-fly feature generalisation. This can improve rendering times when drawing many complex features at small scales. This feature can be enabled or disabled in the layer settings using the checkbox Simplify geometry option. There is also a global setting that enables generalisation by default for newly added layers (see global simplification for more information).

../../../_images/simplify_rendering.png

Fig. 14.61 Layer Geometry Simplification dialog

Nota

Feature generalisation may introduce artefacts into your rendered output in some cases. These may include slivers between polygons and inaccurate rendering when using offset-based symbol layers.

While rendering extremely detailed layers (e.g. polygon layers with a huge number of nodes), this can cause layout exports in PDF/SVG format to be huge as all nodes are included in the exported file. This can also make the resultant file very slow to work with/open in other programs.

Checking checkbox Force layer to render as raster forces these layers to be rasterised so that the exported files won’t have to include all the nodes contained in these layers and the rendering is therefore sped up.

You can also do this by forcing the layout to export as a raster, but that is an all-or-nothing solution, given that the rasterisation is applied to all layers.

Refresh layer at interval (seconds): set a timer to automatically refresh individual layers at a matching interval. Canvas updates are deferred in order to avoid refreshing multiple times if more than one layer has an auto update interval set.

Depending on the data provider (e.g. PostgreSQL), notifications can be sent to QGIS when changes are applied to the data source, out of QGIS. Use the checkbox Refresh layer on notification option to trigger an update. You can also limit the layer refresh to a specific message set in the checkbox Only if message is text box.

14.1.14. Propriedades das Variáveis

expression The Variables tab lists all the variables available at the layer’s level (which includes all global and project’s variables).

It also allows the user to manage layer-level variables. Click the signPlus button to add a new custom layer-level variable. Likewise, select a custom layer-level variable from the list and click the signMinus button to remove it.

More information on variables usage in the General Tools Storing values in Variables section.

14.1.15. Propriedades dos Metadados

editMetadata The Metadata tab provides you with options to create and edit a metadata report on your layer. Information to fill concern:

  • the data Identification: basic attribution of the dataset (parent, identifier, title, abstract, language…);

  • the Categories the data belongs to. Alongside the ISO categories, you can add custom ones;

  • the Keywords to retrieve the data and associated concepts following a standard based vocabulary;

  • the Access to the dataset (licenses, rights, fees, and constraints);

  • the Extent of the dataset, either spatial one (CRS, map extent, altitudes) or temporal;

  • the Contact of the owner(s) of the dataset;

  • the Links to ancillary resources and related information;

  • the History of the dataset.

A summary of the filled information is provided in the Validation tab and helps you identify potential issues related to the form. You can then either fix them or ignore them.

Metadata are currently saved in the project file. They can also be saved in a .qmd file alongside file based layers or in a local .sqlite database for remote layers (e.g. PostGIS).

14.1.16. Dependencies Properties

dependencies The Dependencies tab allows to declare data dependencies between layers. A data dependency occurs when a data modification in a layer, not by direct user manipulation, may modify data of other layers. This is the case for instance when geometry of a layer is updated by a database trigger or custom PyQGIS scripting after modification of another layer’s geometry.

In the Dependencies tab, you can select any layers which may externally alter the data in the current layer. Correctly specifying dependent layers allows QGIS to invalidate caches for this layer when the dependent layers are altered.

14.1.17. Propriedades da legenda

legend The Legend properties tab provides you with advanced settings for the Layers panel and/or the print layout legend. These options include:

  • checkbox Text on symbols: In some cases it can be useful to add extra information to the symbols in the legend. With this frame, you can affect to any of the symbols used in the layer symbology a text that is displayed over the symbol, in both Layers panel and print layout legend. This mapping is done by typing each text next to the symbol in the table widget or filling the table using the Set Labels from Expression button. Text appearance is handled through the font and color selector widgets of the Text Format button.

../../../_images/text_legend_symbols.png

Fig. 14.62 Setting text on symbols (left) and its rendering in the Layers panel (right)

  • a list of widgets you can embed within the layer tree in the Layers panel. The idea is to have a way to quickly access some actions that are often used with the layer (setup transparency, filtering, selection, style or other stuff…).

    By default, QGIS provides transparency widget but this can be extended by plugins registering their own widgets and assign custom actions to layers they manage.

14.1.18. Propriedades do Servidor QGIS

overlay The QGIS Server tab consists of Description, Attribution, MetadataURL, and LegendUrl sections.

You can add or edit a title and abstract for the layer in the Description section. It’s also possible to define a Keyword list here. These keyword lists can be used in a metadata catalog. If you want to use a title from an XML metadata file, you have to fill in a link in the DataUrl field.

Use Attribution to get attribute data from an XML metadata catalog.

In MetadataUrl, you can define the general path to the XML metadata catalog. This information will be saved in the QGIS project file for subsequent sessions and will be used for QGIS server.

In the LegendUrl section, you can provide the url of a legend image in the url field. You can use the Format drop-down option to apply the appropriate format of the image. Currently png, jpg and jpeg image formats are supported.

../../../_images/vector_server_properties.png

Fig. 14.63 QGIS Server tab in vector layers properties dialog

14.1.19. Digitizing Properties

digitizing The Digitizing tab gives access to options that help to ensure the quality of digitized geometries.

../../../_images/vector_digitizing_properties.png

Fig. 14.64 The QGIS Digitizing tab in the vector layers properties dialog

14.1.19.1. Automatic Fixes

Options in the Automatic Fixes section will directly affect the vertices of any geometry which is added or modified. If the checkbox Remove duplicate nodes option is checked, any two subsequent vertices with exactly the same coordinates will be removed. If the Geometry precision is set, all vertices will be rounded to the closest multiple of the configured geometry precision. The rounding will happen in the layer coordinate reference system. Z and M values are not rounded. With many map tools, a grid is shown on the canvas while digitizing.

14.1.19.2. Geometry Checks

In the Geometry checks section, additional validations on a per geometry basis can be activated. Immediately after any geometry modification, failures in these checks are reported to the user in the geometry validation panel. As long as a check is failing, it is not possible to save the layer. The checkbox Is valid check will run basic validity checks like self intersection on geometries.

14.1.19.3. Topology Checks

In the Topology checks section, additional topology validation checks can be activated. Topology checks will be executed when the user saves the layer. Check errors will be reported in the geometry validation panel. As long as validation errors are present, the layer can not be saved. Topology checks are executed in the area of the bounding box of the modified features. Since other features may be present in the same area, topological errors concerning these features are reported as well as errors introduced in the current edit session.

Topology check option

Illustration

The checkbox Gap check will check for gaps between neighbouring polygons.

../../../_images/gapcheck.png

The checkbox Overlap check will check for overlaps between neighbouring polygons.

../../../_images/overlapcheck.png

The checkbox Missing vertex check will check for shared boundaries of neighbouring polygons where one border misses a vertex which is present on the other one.

../../../_images/missingvertexcheck.png

14.1.19.3.1. Gap check exceptions

Sometimes it is desirable to keep gaps inside an area in a polygon layer that otherwise is fully covered by polygons. For example, a land use layer may have acceptable holes for lakes. It is possible to define areas that are ignored in the gap check. Since gaps inside these areas are allowed, we will refer to them as Allowed Gaps areas.

In the options for the gap checks under Allowed Gaps, an Allowed Gaps layer can be configured.

Whenever the gap check is executed, gaps which are covered by one or more polygons in the Allowed Gaps Layer are not reported as topology errors.

It is also possible to configure an additional Buffer. This buffer is applied to each polygon on the Allowed Gaps Layer. This makes it possible to make the tests less susceptible to small changes in the outlines at the borders of gaps.

When Allowed Gaps are enabled, an additional button (Add Allowed Gap) for detected gap errors is available in the geometry validation dock, where gaps are reported during digitizing. If the Add Allowed Gap button is pushed, a new polygon with the geometry of the detected gap is inserted into the Allowed Gaps Layer. This makes it possible to quickly flag gaps as allowed.