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]

labelmask Mask[1]

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

diagrama | : ref: Diagramas<sec_diagram>

|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

temporal Temporal

|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.

You can use one or more layer attributes to define the filter in the Query Builder. The use of more than one attribute is shown in Fig. 14.2. In the example, the filter combines the attributes

  • 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

** Edite categorias diretamente no painel **: guilabel: camadas ** **

Quando uma simbologia de camada é baseada em um modo de simbologia: ref: categorizado<categorized_renderer>,: ref: graduado<graduated_renderer> ou: ref: baseado em regras<rule_based_rendering>, você pode editar cada uma das categorias do painel: guilabel: Camadas. Clique com o botão direito em um subitem da camada e você irá:

  • toggleAllLayers Toggle items visibility

  • showAllLayers Show all items

  • hideAllLayers Hide all items

  • Modifique a cor do símbolo graças ao: ref: seletor de cores<color-selector> roda

  • : guilabel: ʻEditar símbolo … da caixa de diálogo: ref: seletor de símbolo<symbol-selector> `

  • : guilabel: Copiar símbolo

  • : guilabel: Colar símbolo

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:

  • Equal Count (Quantile): each class will have the same number of elements (the idea of a boxplot).

  • Equal Interval: each class will have the same size (e.g. with the values from 1 to 16 and four classes, each class will have a size of four).

  • Logarithmic scale: suitable for data with a wide range of values. Narrow classes for low values and wide classes for large values (e.g. for decimal numbers with range [0..100] and two classes, the first class will be from 0 to 10 and the second class from 10 to 100).

  • Natural Breaks (Jenks): the variance within each class is minimized while the variance between classes is maximized.

  • Pretty Breaks: computes a sequence of about n+1 equally spaced nice values which cover the range of the values in x. The values are chosen so that they are 1, 2 or 5 times a power of 10. (based on pretty from the R statistical environment https://www.rdocumentation.org/packages/base/topics/pretty).

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

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)

The example in Fig. 14.5 shows the graduated rendering dialog for the major_rivers layer of the QGIS sample dataset.

../../../_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.

The example in Fig. 14.8 shows the rule-based rendering dialog for the rivers layer of the QGIS sample dataset.

../../../_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.

Paint effects can be activated by checking the checkbox Draw effects option and clicking the paintEffects Customize effects button. That will open the Effect Properties Dialog (see Fig. 14.18). The following effect types, with custom options are available:

  • ** 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

You can use the automated placement settings to configure a project-level automated behavior of the labels. In the top right corner of the Labels tab, click the autoPlacement Automated placement settings (applies to all layers) button, opening a dialog with the following options:

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

Fig. 14.27 O mecanismo de posicionamento automatizado de etiquetas

  • Number of candidates: calculates and assigns to line and polygon features the number of possible labels placement based on their size. The longer or wider a feature is, the more candidates it has, and its labels can be better placed with less risk of collision.

  • : 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.

  • Project labeling version: QGIS supports two different versions of label automatic placement:

    • Version 1: the old system (used by QGIS versions 3.10 and earlier, and when opening projects created in these versions in QGIS 3.12 or later). Version 1 treats label and obstacle priorities as “rough guides” only, and it’s possible that a low-priority label will be placed over a high-priority obstacle in this version. Accordingly, it can be difficult to obtain the desired labeling results when using this version and it is thus recommended only for compatibility with older projects.

    • Version 2 (recommended): this is the default system in new projects created in QGIS 3.12 or later. In version 2, the logic dictating when labels are allowed to overlap obstacles has been reworked. The newer logic forbids any labels from overlapping any obstacles with a greater obstacle weight compared to the label’s priority. As a result, this version results in much more predictable and easier to understand labeling results.

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

A summary of existing rules is shown in the main dialog (see Fig. 14.29). You can add multiple rules, reorder or imbricate them with a drag-and-drop. You can as well remove them with the signMinus button or edit them with projectProperties button or a double-click.

../../../_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.

In Fig. 14.30, you see a sample expression to label the alaska trees layer with tree type and area, based on the field ‘VEGDESC’, some descriptive text, and the function $area in combination with format_number() to make it look nicer.

../../../_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

A: guilabel: Barra de Ferramentas de Etiqueta fornece algumas ferramentas para manipular | etiquetagem | : ref:<vector_labels_tab> etiqueta ou | diagrama | : ref:<sec_diagram> propriedades do diagrama.

../../../_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

Combined with the Label Toolbar, the data defined override setting helps you manipulate labels in the map canvas (move, edit, rotate). We now describe an example using the data-defined override function for the moveLabelMove label function (see Fig. 14.33).

  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. Go to the Label toolbar and click the moveLabel icon. Now you can shift the label manually to another position (see Fig. 14.34). The new position of the label is saved in the xlabel and ylabel columns of the attribute table.

  7. It’s also possible to add a line connecting each lake to its moved label using:

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 Fig. 14.35).

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 chart, 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 diagram, a horizontaly divided circle showing statistics values inside;

  • histogram Histogram, bars of varying colors for each attribute aligned next to each other

  • stackedBar Stacked bars, Stacks bars of varying colors for each attribute on top of each other vertically or horizontally

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 Diagram properties - Attributes tab

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;

  • depending on the type of diagram:

    • for histogram and stacked bars, the width of the bar and the spacing between the bars. You may want to set the spacing to 0 for stacked bars. Moreover, the Axis line symbol can be made visible on the map canvas and customized using line symbol properties.

    • for text diagram, the circle background color and the font used for texts;

    • for pie charts, the Start angle of the first slice and their Direction (clockwise or not).

  • the use of paint effects on the graphics.

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>;

../../../_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 ‘Millimeters’, ‘Points’, ‘Pixels’, ‘Map Units’ or ‘Inches’. You can use:

  • Fixed size, a unique size to represent the graphic of all the features (not available for histograms)

  • or Scaled size, based on an expression using layer attributes:

    1. In Attribute, select a field or build an expression

    2. Press Find to return the Maximum value of the attribute or enter a custom value in the widget.

    3. For histogram and stacked bars, enter a Bar length value, used to represent the Maximum value of the attributes. For each feature, the bar lenght will then be scaled linearly to keep this matching.

    4. For pie chart and text diagram, enter a Size value, used to represent the Maximum value of the attributes. For each feature, the circle area or diameter will then be scaled linearly to keep this matching (from 0). A Minimum size can however be set for small diagrams.

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

Fig. 14.37 Propriedades do diagrama - guia Tamanho

14.1.5.4. Localização

Placement defines the diagram position. Depending on the layer geometry type, it offers different options for the placement (more details at Placement):

  • Around point or Over point for point geometry. The former variable requires a radius to follow.

  • Around line or Over line for line geometry. Like point feature, the first variable requires a distance to respect and you can specify the diagram placement relative to the feature (‘above’, ‘on’ and/or ‘below’ the line) It’s possible to select several options at once. In that case, QGIS will look for the optimal position of the diagram. Remember that you can also use the line orientation for the position of the diagram.

  • Around centroid (at a set Distance), Over centroid, Using perimeter and Inside polygon are the options for polygon features.

The Coordinate group provides direct control on diagram placement, on a feature-by-feature basis, using their attributes or an expression to set the X and Y coordinate. The information can also be filled using the Move labels and diagrams tool.

In the Priority section, you can define the placement priority rank of each diagram, ie if there are different diagrams or labels candidates for the same location, the item with the higher priority will be displayed and the others could be left out.

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. The priority rank is then used to evaluate whether a diagram could be omitted due to a greater weighted obstacle feature.

../../../_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

The Options tab has settings for histograms and stacked bars. You can choose whether the Bar orientation should be Up, Down, Right or Left, for horizontal and vertical diagrams.

14.1.5.6. Legenda

From the Legend tab, you can choose to display items of the diagram in the Layers panel, and in the print layout legend, next to the layer symbology:

  • 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.6. Masks Properties

labelmask The Masks tab helps you configure the current layer symbols overlay with other symbol layers or labels, from any layer. This is meant to improve the readability of symbols and labels whose colors are close and can be hard to decipher when overlapping; it adds a custom and transparent mask around the items to “hide” parts of the symbol layers of the current layer.

To apply masks on the active layer, you first need to enable in the project either mask symbol layers or mask labels. Then, from the Masks tab, check:

  • the Masked symbol layers: lists in a tree structure all the symbol layers of the current layer. There you can select the symbol layer item you would like to transparently “cut out” when they overlap the selected mask sources

  • the Mask sources tab: list all the mask labels and mask symbol layers defined in the project. Select the items that would generate the mask over the selected masked symbol layers

../../../_images/masks_properties.png

Fig. 14.39 Layer properties - Masks tab

14.1.7. 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>`.

For better performance, data from vector layers are loaded in the background, using multithreading, and rendered in tiles whose size can be controlled from the Layer rendering section of the tab:

  • Zoom levels count: determines how deep the quadtree will be. For example, one zoom level means there will be a single tile for the whole layer. Three zoom levels means there will be 16 tiles at the leaf level (every extra zoom level multiplies that by 4). The default is 3 and the maximum is 8.

  • checkbox Show bounding boxes of tiles: especially useful if there are issues with tiles not showing up when they should

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

  • Single symbol: features are rendered using a common 3D symbol whose properties can be data-defined or not. Read details on setting a 3D symbol for each layer geometry type.

  • : 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>.

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

Fig. 14.40 3D properties of a point layer

14.1.8. Propriedades dos campos

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

A camada pode ser feita: ref: editável<editingvector> usando o botão de |alternância Edição | : sup: Alternar modo de edição. Neste momento, você pode modificar sua estrutura usando o | novo Atributo | : sup: Novo campo e | deletar Atributo | : sup: Botões Excluir campo.

Você também pode renomear campos clicando duas vezes em seu nome. Isso só é compatível com provedores de dados como PostgreSQL, Oracle, camada de memória e alguma camada OGR, dependendo do formato e versão dos dados OGR.

Se definido na fonte de dados subjacente ou nas: ref: propriedades dos formulários<configure_field>, o alias do campo também é exibido. Um alias é um nome de campo legível por humanos que você pode usar no formulário de recurso ou na tabela de atributos. Os aliases são salvos no arquivo de projeto.

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.

Além dos campos contidos no conjunto de dados, campos virtuais e: ref: ʻArmazenamento auxiliar<vector_auxiliary_storage> incluídos, a guia: guilabel: Campos` também lista campos de qualquer: ref: camadas unidas<sec_joins>. Dependendo da origem do campo, uma cor de fundo diferente é aplicada a ele.

Para cada campo listado, a caixa de diálogo também lista características somente leitura, como seu `` tipo``, `` nome do tipo``, `` comprimento`` e `` precisão``. Ao servir a camada como `` WMS`` ou `` WFS``, você também pode verificar aqui quais campos podem ser recuperados.

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

Fig. 14.41 Guia de propriedades dos campos

14.1.9. 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.

No canto superior direito da caixa de diálogo, você pode definir se o formulário é aberto por padrão ao criar novos recursos. Isso pode ser configurado por camada ou globalmente com a opção: guilabel: Suprimir pop-up do formulário de atributo após a criação do recurso no menu: menuselection:` Settings -> Options -> Digitizing`.

14.1.9.1. Personalizando um formulário para seus dados

Por padrão, quando você clica em um recurso com a tecla | identificar | : sup: Ferramenta ʻIdentificar recursos` ou alternar a tabela de atributos para o modo * modo de exibição *, QGIS exibe um formulário básico com widgets predefinidos (geralmente caixas de rotação e caixas de texto — cada campo é representado em uma linha dedicada por seu rótulo próximo a o widget). Se: ref: relações<vector_relations> são definidas na camada, os campos das camadas de referência são mostrados em um quadro embutido na parte inferior do formulário, seguindo a mesma estrutura básica.

Esta renderização é o resultado do valor padrão ʻAutogenerate` da configuração: guilabel: ʻAtributo editor layout` na: seleção de menus:` Propriedades da camada -> Formulário de atributos. Esta propriedade possui três valores diferentes:

  • ʻAutogenerate`: mantém a estrutura básica de” uma linha - um campo “para o formulário, mas permite personalizar cada widget correspondente.

  • `` Drag-and-drop designer``: além da personalização de widgets, a estrutura do formulário pode ser mais complexa, por exemplo, com widgets embutidos em grupos e guias.

  • `` Fornecer arquivo ui``: permite usar um arquivo Qt designer, portanto, um template potencialmente mais complexo e completo, como forma de recurso.

14.1.9.1.1. A forma autogerada

Quando a opção ʻAutogenerate` está ligada, o painel: guilabel: ʻWidgets disponíveis` mostra listas de campos (da camada e suas relações) que seriam mostradas no formulário. Selecione um campo e você pode configurar sua aparência e comportamento no painel direito:

  • adicionar: ref: etiqueta personalizada e verificações automatizadas<configure_field> ao campo;

  • configurando um: ref: widget particular<edit_widgets> para usar.

14.1.9.1.2. O designer de arrastar e soltar

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 Fig. 14.42.

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

Fig. 14.42 Formulário integrado resultante com guias e grupos nomeados

  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 in a third panel.

  2. Selecione os campos que você não deseja usar em seu: guilabel: painel Form Layout e clique no botão | signMinus | botão para removê-los. Arraste e solte os campos do outro painel para adicioná-los novamente. O mesmo campo pode ser adicionado várias vezes.

  3. Arraste e solte os campos no painel: guilabel: Layout de formulário para reordenar suas posições.

  4. Adicione containers (quadros de guia ou grupo) para associar campos que pertencem à mesma categoria e estruturar melhor o formulário.

    1. A primeira etapa é usar o | signPlus | ícone para criar uma guia na qual os campos e grupos serão exibidos

    2. Em seguida, defina as propriedades do contêiner, ou seja:

      • o nome

      • o tipo, ou seja, um: guilabel: tab ou um: guilabel:` grupo no contêiner` (um grupo dentro de uma guia ou outro grupo)

      • e o: guilabel: número de colunas sobre os quais os campos embutidos devem ser distribuídos

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

      Fig. 14.43 Caixa de diálogo para criar contêineres com o ** Layout do editor de atributos **

      Estas e outras propriedades podem ser atualizadas posteriormente selecionando o item e, no terceiro painel:

      • ocultar ou mostrar o rótulo do contêiner

      • exibe o container como uma caixa de grupo (disponível apenas para guias).

      • renomear o contêiner

      • definir o número de colunas

      • insira uma expressão para controlar a visibilidade do contêiner. A expressão será reavaliada sempre que os valores no formulário mudarem, e a guia ou caixa de grupo mostrada / oculta de acordo

      • adicione uma cor de fundo

    3. Você pode criar quantos containers desejar; pressione o | sinal de mais | ícone novamente para criar outra guia ou um quadro de grupo em uma guia existente.

  5. A próxima etapa é atribuir os campos relevantes a cada contêiner, simplesmente arrastando e soltando. Grupos e guias também podem ser movidos da mesma maneira.

  6. Customize the widget of the fields in use

  7. Caso a camada esteja envolvida em uma relação: ref: ʻum ou muitos para muitos , arraste e solte o nome da relação do painel: guilabel: ʻWidgets disponíveis para o painel: guilabel:` Form Layout`. O formulário de atributo de camada associado será incorporado no local escolhido no formulário da camada atual. Quanto aos demais itens, selecione o rótulo de relação para configurar algumas propriedades:

    • ocultar ou mostrar o rótulo de relação

    • mostre o botão do link

    • mostre o botão de desvincular

  8. mostre o botão de desvincular

  9. Abra um formulário de atributo de feição (por exemplo, usando a ferramenta | identificar |: sup: ʻIdentificar características`) e deve exibir o novo formulário.

14.1.9.1.3. Usando arquivo ui personalizado

A opção `` Provide ui-file`` permite que você use diálogos complexos feitos com o Qt-Designer. Usar um arquivo de interface do usuário permite uma grande liberdade na criação de um diálogo. Observe que, para vincular os objetos gráficos (caixa de texto, caixa de combinação …) aos campos da camada, você precisa dar a eles o mesmo nome.

Use: guilabel: ʻEditar IU` para definir o caminho para o arquivo a ser usado.

Os arquivos da IU também podem ser hospedados em um servidor remoto. Neste caso, você fornece a URL do formulário em vez do caminho do arquivo em: guilabel: ʻEditar UI`.

Você encontrará alguns exemplos na: ref: Criando um novo formulário<creating-new-form> lição da: ref: QGIS-training-manual-index-reference. Para obter informações mais avançadas, consulte https://woostuff.wordpress.com/2011/09/05/qgis-tips-custom-feature-forms-with-python-logic/.

14.1.9.1.4. Aprimore seu formulário com funções personalizadas

Os formulários QGIS podem ter uma função Python que é chamada quando a caixa de diálogo é aberta. Use esta função para adicionar lógica extra aos seus diálogos. O código do formulário pode ser especificado de três maneiras diferentes:

  • `` carregar do ambiente``: use uma função, por exemplo em: file: startup.py ou de um plugin instalado

  • `` carregar de um arquivo externo``: um seletor de arquivos permitirá que você selecione um arquivo Python de seu sistema de arquivos ou insira uma URL para um arquivo remoto.

  • `` fornecer código nesta caixa de diálogo``: um editor Python aparecerá onde você pode digitar diretamente a função a ser usada.

Em todos os casos, você deve inserir o nome da função que será chamada (ʻopen` no exemplo abaixo).

Um exemplo é (no módulo MyForms.py):

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

Referência na função Python Init como: ʻopen`

14.1.9.2. Configure o comportamento do campo

A parte principal da aba: guilabel: ʻFormulário de Atributos` ajuda a definir o tipo de widget usado para preencher ou exibir os valores do campo, na tabela de atributos ou no formulário de características: você pode definir como o usuário interage com cada campo e o valores ou intervalo de valores que podem ser adicionados a cada um.

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

Fig. 14.44 Caixa de diálogo para selecionar um widget de edição para uma coluna de atributo

14.1.9.2.1. Configurações padrão

Independentemente do tipo de widget aplicado ao campo, existem algumas propriedades comuns que você pode definir para controlar se e como um campo pode ser editado.

14.1.9.2.1.1. Tela de widget

Show label: indicates whether the field name should be displayed in the form (only in the Drag and drop designer mode).

14.1.9.2.1.2. Opções gerais
  • : guilabel: ʻAlias`: um nome legível para ser usado em campos. O alias será exibido no formulário do recurso, na tabela de atributos ou no painel: guilabel: Identificar resultados. Também pode ser usado como substituição de nome de campo no: ref: construtor de expressão<vector_expressions>, facilitando a compreensão e revisão de expressões. Os aliases são salvos no arquivo de projeto.

  • : guilabel: Comentário: exibe o comentário do campo como mostrado na aba: guilabel:` Campos`, em um estado somente leitura. Essas informações são mostradas como dica de ferramenta ao passar o mouse sobre o rótulo do campo em um formulário de recurso.

  • 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.9.2.1.3. Valores padrão
  • : guilabel: Valor padrão: para novos recursos, preenche automaticamente por padrão o campo com um valor pré-definido ou um: ref:` baseado em expressão<vector_expressions> `. Por exemplo, você pode:

    • use `` $ x``, `` $ length``, `` $ area`` para preencher automaticamente um campo com a coordenada X do elemento, comprimento, área ou qualquer informação geométrica em sua criação;

    • incrementa um campo em 1 para cada novo recurso usando `` maximum (“field”) + 1``;

    • salve a data e hora de criação do recurso usando `` now () ``;

    • use: ref: variáveis<general_tools_variables> em expressões, tornando mais fácil, por exemplo, insira o nome do operador (`` @ user_full_name``), o caminho do arquivo do projeto (`` @ project_path``), …

    Uma visualização do valor padrão resultante é exibida na parte inferior do widget.

    Nota

    A opção `` Valor padrão`` não tem conhecimento dos valores em qualquer outro campo do recurso que está sendo criado, então não será possível usar uma expressão combinando qualquer um desses valores, ou seja, usando uma expressão como `` concat (campo1, field2) `` pode não funcionar.

  • 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.9.2.1.4. Restrições

Você pode restringir o valor a ser inserido no campo. Essa restrição pode ser:

  • 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. not regexp_match(col0,'[^A-Za-z]') will ensure that the value of the field col0 has only alphabet letters. A short description can be added to help you remember the constraint.

Sempre que um valor é adicionado ou editado em um campo, ele é submetido às restrições existentes e:

  • se atender a todos os requisitos, uma marca de seleção verde é exibida ao lado do campo do formulário;

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

    • Uma cruz amarela aparece quando a restrição não atendida não é aplicada e não impede que você salve as alterações com os valores “errados”;

    • An orange 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.9.2.2. Editar widgets

Com base no tipo de campo, o QGIS determina automaticamente e atribui um tipo de widget padrão a ele. Você pode então substituir o widget por qualquer outro compatível com o tipo de campo. Os widgets disponíveis são:

  • ** Caixa de seleção **: exibe uma caixa de seleção cujo estado define o valor a ser inserido.

  • ** Classificação **: Disponível apenas quando uma: ref: simbologia categorizada<categorized_renderer> é aplicada à camada, exibe uma caixa de combinação com os valores das classes.

  • ** Cor **: Exibe um: ref: widget de cor<color-selector> permitindo selecionar uma cor; o valor da cor é armazenado como uma notação html na tabela de atributos.

  • ** Data / Hora **: Exibe um campo de linha que pode abrir um widget de calendário para inserir uma data, hora ou ambos. O tipo de coluna deve ser texto. Você pode selecionar um formato personalizado, abrir um calendário, etc.

  • ** Enumeração **: Abre uma caixa de combinação com valores predefinidos buscados no banco de dados. Isso é atualmente suportado apenas pelo provedor PostgreSQL, para campos do tipo ʻenum`.

  • ** Anexo **: Usa uma caixa de diálogo “Abrir arquivo” para armazenar o caminho do arquivo em um modo relativo ou absoluto. Também pode ser usado para exibir um hiperlink (para o caminho do documento), uma imagem ou uma página da web.

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

  • ** Chave / valor **: exibe uma tabela de duas colunas para armazenar conjuntos de pares de chave / valor em um único campo. Isso é atualmente suportado pelo provedor PostgreSQL, para campos do tipo `` hstore``.

  • ** Lista **: exibe uma única tabela de coluna para adicionar diferentes valores em um único campo. Isso é atualmente suportado pelo provedor PostgreSQL, para campos do tipo ʻarray`.

  • 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 is the default widget assigned to the referencing field (i.e., the foreign key in the child layer) when a relation is set. It provides direct access to the parent feature’s form which in turn embeds the list and form of its children.

  • ** Edição de texto ** (padrão): Isso abre um campo de edição de texto que permite o uso de texto simples ou várias linhas. Se você escolher várias linhas, também poderá escolher o conteúdo html.

  • ** Valores únicos **: Você pode selecionar um dos valores já usados na tabela de atributos. Se ‘Editável’ estiver ativado, uma edição de linha é mostrada com suporte para preenchimento automático, caso contrário, uma caixa de combinação é usada.

  • ** Gerador Uuid **: Gera um campo UUID (Universally Unique Identifiers) somente leitura, se vazio.

  • ** Mapa de valores **: uma caixa de combinação com itens predefinidos. O valor é armazenado no atributo, a descrição é mostrada na caixa de combinação. Você pode definir valores manualmente ou carregá-los de uma camada ou arquivo CSV.

  • ** Relação de valor **: Oferece valores de uma tabela relacionada em uma combobox. Você pode selecionar camada, coluna-chave e coluna de valor. Várias opções estão disponíveis para alterar os comportamentos padrão: permitir valor nulo, ordenar por valor, permitir múltiplas seleções e uso de auto-completer. Os formulários exibirão uma lista suspensa ou um campo de edição de linha quando a caixa de seleção Completer estiver ativada.

Dica

** Caminho relativo no widget de anexo **

Se o caminho selecionado com o navegador de arquivos estiver localizado no mesmo diretório do arquivo de projeto: file: .qgs ou abaixo, os caminhos são convertidos em caminhos relativos. Isso aumenta a portabilidade de um projeto: file: .qgs com informações multimídia anexadas.

14.1.10. Propriedades de associações

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.

Para criar uma junção:

  1. Clique no botão | signPlus | : sup: botão ʻAdicionar nova junção`. A caixa de diálogo: guilabel: ʻAdicionar junção de vetor` aparece.

  2. Selecione o: guilabel: camada de junção que deseja conectar com a camada vetorial de destino

  3. Especifique o: guilabel: Campo de junção e o: guilabel:` Campo de destino` que são comuns à camada de junção e à camada de destino

  4. Pressione: guilabel: ʻOK` e um resumo dos parâmetros selecionados é adicionado ao painel: guilabel: Join.

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

Fig. 14.45 Una uma tabela de atributos a uma camada vetorial existente

As etapas acima criarão uma junção, onde ** TODOS ** os atributos do primeiro recurso correspondente na camada de junção são adicionados ao recurso da camada de destino. QGIS fornece mais opções para ajustar a junção:

  • 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.

  • Caso a camada de destino seja editável, alguns ícones serão exibidos na tabela de atributos ao lado dos campos, para informar sobre o seu estado:

    • 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 atualmente tem suporte para juntar formatos de tabelas não espaciais suportados por OGR (por exemplo, CSV, DBF e Excel), texto delimitado e o provedor PostgreSQL.

14.1.11. Propriedades de armazenamento auxiliar

A maneira normal de personalizar o estilo e a rotulação é usar propriedades definidas por dados conforme descrito em: ref: data_defined. No entanto, pode não ser possível se os dados subjacentes forem somente leitura. Além disso, configurar essas propriedades definidas por dados pode consumir muito tempo ou não ser desejável! Por exemplo, se você deseja usar totalmente as ferramentas de mapa que vêm com: ref: label_toolbar, então você precisa adicionar e configurar mais de 20 campos em sua fonte de dados original (posições X e Y, ângulo de rotação, estilo da fonte, cor e em breve).

O mecanismo de armazenamento auxiliar fornece a solução para essas limitações e configurações inadequadas. Os campos auxiliares são uma forma indireta de gerenciar e armazenar automaticamente essas propriedades definidas por dados (rótulos, diagrama, simbologia …) em um banco de dados SQLite, graças às junções editáveis. Isso permite que você armazene propriedades para camadas que não são editáveis.

Uma guia está disponível na caixa de diálogo de propriedades da camada vetorial para gerenciar o armazenamento auxiliar:

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

Fig. 14.46 Guia de armazenamento auxiliar

14.1.11.1. Marcação

Considerando que a fonte de dados pode ser personalizada graças às propriedades definidas pelos dados sem ser editável, as ferramentas de mapa de rotulagem descritas em: ref: label_toolbar estão sempre disponíveis assim que a rotulagem é ativada.

Na verdade, o sistema de armazenamento auxiliar precisa de uma camada auxiliar para armazenar essas propriedades em um banco de dados SQLite (ver: ref: vector_auxiliary_storage_database). Seu processo de criação é executado na primeira vez que você clica no mapa enquanto uma ferramenta de mapa de rotulagem está ativada no momento. Em seguida, uma janela é exibida, permitindo que você selecione a chave primária a ser usada para ingressar (para garantir que os recursos sejam identificados exclusivamente):

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

Fig. 14.47 Caixa de diálogo de criação de camada auxiliar

Assim que uma camada auxiliar é configurada para a fonte de dados atual, você pode recuperar suas informações na guia:

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

Fig. 14.48 Chave da camada auxiliar

A camada auxiliar agora tem estas características:

  • a chave primária é `` ID``,

  • existem recursos `` 0`` usando um campo auxiliar,

  • existem campos auxiliares `` 0``.

Agora que a camada auxiliar foi criada, você pode editar os rótulos da camada. Clique em um rótulo enquanto o | changeLabelProperties | : sup: a ferramenta de mapa Change Label está ativada, então você pode atualizar as propriedades de estilo como tamanhos, cores e assim por diante. As propriedades definidas por dados correspondentes são criadas e podem ser recuperadas:

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

Fig. 14.49 Campos Auxiliares

Como você pode ver na figura acima, os campos `` 21`` são criados e configurados automaticamente para rotulagem. Por exemplo, o tipo de campo auxiliar `` FontStyle`` é um `` String`` e é denominado `` labeling_fontstyle`` no banco de dados SQLite subjacente. Há também o recurso `` 1`` que está usando esses campos auxiliares.

Observe que o ícone | dataDefineOn | é exibido na guia de propriedades: guilabel: Labels indicando que as opções de substituição definidas pelos dados estão configuradas corretamente:

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

Fig. 14.50 Propriedades definidas por dados criadas automaticamente

Caso contrário, existe outra maneira de criar um campo auxiliar para uma propriedade específica, graças ao | dataDefined | : sup: botão data-defined override. Ao clicar em: guilabel: Armazenar dados no projeto, um campo auxiliar é criado automaticamente para o campo: guilabel:` Opacidade`. Se você clicar neste botão e a camada auxiliar ainda não tiver sido criada, uma janela (: numref: figure_auxiliary_layer_creation) é primeiro exibida para selecionar a chave primária a ser usada para ingressar.

14.1.11.2. Simbologia

Como o método descrito acima para personalizar rótulos, os campos auxiliares também podem ser usados para estilizar símbolos e diagramas. Para fazer isso, clique em | dataDefined | : sup: Substituição definida por dados e selecione: guilabel:` Armazenar dados no projeto` para uma propriedade específica. Por exemplo, o campo: guilabel: Cor de preenchimento:

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

Fig. 14.51 Menu de propriedades definidas por dados para o símbolo

Existem diferentes atributos para cada símbolo (por exemplo, estilo de preenchimento, cor de preenchimento, cor do traço, etc …), portanto, cada campo auxiliar que representa um atributo requer um nome exclusivo para evitar conflitos. Após selecionar: guilabel: Armazenar dados no projeto, uma janela abre e exibe o: guilabel:` Tipo` do campo e solicita que você insira um nome exclusivo para o campo auxiliar. Por exemplo, ao criar um campo auxiliar: guilabel: Cor de preenchimento, a seguinte janela é aberta:

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

Fig. 14.52 Nome do campo auxiliar para um símbolo

Depois de criado, o campo auxiliar pode ser recuperado na guia de armazenamento auxiliar:

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

Fig. 14.53 Símbolo de campo auxiliar

14.1.11.3. Tabela de atributos e widgets

Os campos auxiliares podem ser editados usando a: ref: tabela de atributos<sec_attribute_table>. No entanto, nem todos os campos auxiliares são inicialmente visíveis na tabela de atributos.

Os campos auxiliares que representam os atributos da simbologia, rotulagem, aparência ou diagramas de uma camada aparecerão automaticamente na tabela de atributos. A exceção são os atributos que podem ser modificados usando a: ref: Barra de ferramentas do rótulo<label_toolbar> que estão ocultos por padrão. Os campos auxiliares que representam uma `` Cor`` têm um widget ** Cor ** definido por padrão, caso contrário, os campos auxiliares são padronizados para o widget ** Edição de Texto **.

Os campos auxiliares que representam os atributos que podem ser modificados usando a: ref: Barra de ferramentas do rótulo<label_toolbar> são ** Ocultos ** na tabela de atributos por padrão. Para tornar um campo visível, abra a: ref: guia de propriedades do formulário de atributo<vector_attributes_menu> e altere o valor de um campo auxiliar: guilabel: Widget Type de ** Oculto ** para outro valor relevante. Por exemplo, altere ** auxiliary_storage_labeling_size ** para ** Text Edit ** ou altere ** auxiliary_storage_labeling_color ** para o widget ** Color **. Esses campos agora estarão visíveis na tabela de atributos.

Os campos auxiliares na tabela de atributos aparecerão como a seguinte imagem:

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

Fig. 14.54 Formulário com campos auxiliares

14.1.11.4. Gestão

O menu: guilabel: Camada Auxiliar permite que você gerencie os campos auxiliares:

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

Fig. 14.55 Gerenciamento de camada auxiliar

O primeiro item: guilabel: Criar está desabilitado neste caso porque a camada auxiliar já foi criada. Mas no caso de um novo trabalho, você pode usar esta ação para criar uma camada auxiliar. Conforme explicado em: ref: vector_auxiliary_storage_key, uma chave primária será necessária então.

A ação: guilabel: Clear permite manter todos os campos auxiliares, mas remover seus conteúdos. Dessa forma, o número de recursos que usam esses campos cairá para `` 0``.

A ação: guilabel: Delete remove completamente a camada auxiliar. Em outras palavras, a tabela correspondente é excluída do banco de dados SQLite subjacente e a personalização das propriedades é perdida.

Finalmente, a ação: guilabel: Export permite salvar a camada auxiliar como uma: ref:` nova camada vetorial <general_saveas>`. Observe que as geometrias não são armazenadas no armazenamento auxiliar. No entanto, neste caso, as geometrias também são exportadas da fonte de dados original.

14.1.11.5. Banco de dados de armazenamento auxiliar

Quando você salva seu projeto com o formato `` .qgs``, o banco de dados SQLite usado para armazenamento auxiliar é salvo no mesmo lugar, mas com a extensão `` .qgd``.

Por conveniência, um arquivo pode ser usado graças ao formato `` .qgz``. Neste caso, os arquivos `` .qgd`` e `` .qgs`` são ambos embutidos no arquivo.

14.1.12. Propriedades de Ações

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 Diálogo de ação de visão geral com alguns exemplos de ações

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) .

Existem vários exemplos incluídos na caixa de diálogo. Você pode carregá-los clicando em: guilabel: Criar ações padrão. Para editar qualquer um dos exemplos, clique duas vezes em sua linha. Um exemplo é realizar uma pesquisa com base em um valor de atributo. Este conceito é usado na discussão a seguir.

A | caixa de seleção | : guilabel: Mostrar na Tabela de Atributos permite que você exiba na caixa de diálogo da tabela de atributos as ações com escopo de recursos verificados, seja como: guilabel:` Combo Box` ou como: guilabel: Botões Separados (ver: ref:` configure_table_columns `).

14.1.12.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.12.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/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.13. 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 feature identifier when the map or layout is exported to a layered output format such as GeoPDF

    • 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.14. Propriedades de Renderização

14.1.14.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.14.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.15. 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.16. 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.17. 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.18. 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.19. Propriedades do Servidor QGIS

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

From the Description section, you can change the Short name used to reference the layer in requests (to learn more about short names, read Short name for layers, groups and project). You can also add or edit a Title and Abstract for the layer, or 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

To learn more about QGIS Server, read the QGIS Server Guide/Manual.

14.1.20. 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.20.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.20.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.20.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.20.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.