Importante

A tradução é um esforço comunitário você pode contribuir. Esta página está atualmente traduzida em 90.36%.

4.2. Lesson: Creating a Dynamic Print Layout

Agora que você aprendeu como criar um layout básico de mapa, vamos um passo adiante e criamos um layout de mapa que se adapta dinamicamente à extensão do nosso mapa e às propriedades da página, como por exemplo, quando você altera o tamanho da página. Ainda, a data de criação se adaptará dinamicamente.

4.2.1. ★★☆ Follow Along: Creating the dynamic map canvas

  1. Carregue os conjuntos de dados no formato ESRI Shapefile protected_areas.shp, places.shp, rivers.shp e water.shp na tela do mapa e adapte suas propriedades para o que for mais conveniente.

  2. Após tudo renderizado e simbolizado a seu gosto, clique no botão newLayout New Print Layout na barra de ferramentas Project ou escolha Project ► newLayout New Print Layout. Você será solicitado a escolher um título para o novo layout de impressão.

  3. Queremos criar um layout de mapa que consiste em um cabeçalho e um mapa da região perto de Swellendam, África do Sul. O layout deve ter uma margem de 7,5 mm e o cabeçalho deve ter 36 mm de altura.

  4. Crie um item de mapa chamado mapa principal na tela, vá para a seção Variables e encontre a parte Layout. Aqui definimos algumas variáveis ​​que você pode utilizar em todo o layout de impressão dinâmico. Vá para o painel Layout e desça até a seção Variables. A primeira variável definirá a margem. Pressione a tecla symbologyAdd e digite o nome sw_layout_margin. Defina o valor como 7.5. Pressione novamente a tecla symbologyAdd e digite o nome sw_layout_height_header. Defina o valor “36”.

  5. Agora você está pronto para criar a posição e o tamanho da tela do mapa automaticamente por meio das variáveis. Certifique-se de que seu item de mapa esteja selecionado, vá para o painel guilabel:Item Properties , desça e abra a seção Position and Size. Clique em dataDefineExpressionOn Data defined override para X e a partir da entrada Variables, escolha @sw_layout_margin.

  6. Clique em dataDefineExpressionOn Data defined override para Y, escolha Edit… e digite a fórmula:

    to_real(@sw_layout_margin) + to_real(@sw_layout_height_header)
    
  7. Você pode criar o tamanho do item do mapa usando as variáveis ​​para Width e Height. Clique em dataDefineExpressionOn Data defined override para Width e escolha Edit … novamente. Preencha a fórmula:

    @layout_pagewidth - @sw_layout_margin * 2
    

    Clique em dataDefineExpressionOn Data defined override para Height  e escolha Edit …. Preencha aqui a fórmula:

    @layout_pageheight -  @sw_layout_height_header -  @sw_layout_margin * 2
    
  8. Também criaremos uma grade contendo as coordenadas da extensão do mapa principal da tela. Vá novamente para Item Properties e selecione a seção Grids. Insira uma grade clicando no botão symbologyAdd. Clique em Modify grid … e defina Interval para guilabel:X, Y e Offset de acordo com a escala de mapa que você escolheu na tela principal do QGIS.

4.2.2. ★★☆ Follow Along: Creating the dynamic header

  1. Insira um retângulo que conterá o cabeçalho com o botão addBasicShape Adicionar Forma. No painel Items, digite o nome cabeçalho.

  2. Novamente, vá para Item Properties e abra a seção Position and Size. Usando |dataDefineExpressionOn| :sup:`Data defined override, escolha a variável sw_layout_margin para X assim como para Y. Width deve ser definida pela expressão:

    @layout_pagewidth - @sw_layout_margin * 2
    

    e Height pela variável sw_layout_height_header.

  3. Vamos inserir uma linha horizontal e duas linhas verticais para dividir o cabeçalho em diferentes seções usando o addNodesShape Add Node Item. Crie uma linha horizontal e duas linhas verticais e as nomeie Horizontal line, Vertical line 1 Vertical line 2.

    1. Para a linha horizontal:

      1. Defina X para a variável sw_layout_margin

      2. Defina a expressão para Y como:

        @sw_layout_margin + 8
        
      3. Defina a expressão para Width como:

        @layout_pagewidth -  @sw_layout_margin * 3 - 53.5
        
    2. Para a primeira linha vertical:

      1. Defina a expressão para X como:

        @layout_pagewidth - @sw_layout_margin * 2 - 53.5
        
      2. Defina Y para a variável sw_layout_margin

      3. A altura deve ser a mesma do cabeçalho que criamos, então configure Height para a variável sw_layout_height_header.

    3. A segunda linha vertical é colocada à esquerda da primeira.

      1. Defina a expressão para X como:

        @layout_pagewidth - @sw_layout_margin * 2 - 83.5
        
      2. Defina Y para a variável sw_layout_margin

      3. A altura deve ser a mesma da outra linha vertical, então configure Height para a variável sw_layout_height_header.

    A figura abaixo mostra a estrutura do nosso layout dinâmico. Vamos preencher as áreas criadas pelas linhas com alguns elementos.

../../../_images/dynamic_layout_structure.png

4.2.3. ★★☆ Follow Along: Creating labels for the dynamic header

  1. O título do seu projeto QGIS pode ser incluído automaticamente. O título é definido em Project Properties. Insira uma etiqueta com o botão de etiqueta Add Label e digite o nome título do projeto (variável). Em Main Properties no painel Items Properties digite a expressão:

    [%@project_title%]
    

    Defina a posição do rótulo.

    1. Para X, use a expressão:

      @sw_layout_margin + 3
      
    2. Para Y, use a expressão:

      @sw_layout_margin + 0.25
      
    3. Para Width, use a expressão:

      @layout_pagewidth - @sw_layout_margin *2 - 90
      
    4. Digite 11.25 para Height

    Embaixo em Appearance defina o tamanho da fonte para 16 pt.

  2. A segunda etiqueta incluirá uma descrição do mapa que você criou. Novamente, insira uma etiqueta e a nomeie como descrição do mapa. Em Main Properties digite o texto descrição do mapa Em Main Properties também incluiremos:

    printed on: [%format_date(now(),'dd.MM.yyyy')%]
    

    Aqui usamos duas funções Date and Time (now and format_date).

    Defina a posição do rótulo.

    1. Para X, use a expressão:

      @sw_layout_margin + 3
      
    2. Para Y, use a expressão:

      @sw_layout_margin + 11.5
      
  3. A terceira etiqueta incluirá informações sobre sua organização. Primeiro vamos criar algumas variáveis ​​no menu Variables do Item Properties. Vá para o menu Layout clique no botão symbologyAdd para cada vez e escreva os nomes o_department, o_name , o_adress and o_postcode. Na segunda linha, insira as informações sobre sua organização. Nós usaremos essas variáveis ​​na seção Main Properties.

    Em Main Properties insira:

    [% @o_name %]
    [% @o_department %]
    [% @o_adress %]
    [% @o_postcode %]
    

    Defina a posição do rótulo.

    1. Para X, use a expressão:

      @layout_pagewidth - @sw_layout_margin - 49.5
      
    2. Para Y, use a expressão:

      @sw_layout_margin + 15.5
      
    3. Para Width, use 49.00

    4. Para Height, use a expressão:

      @sw_layout_height_header - 15.5
      
../../../_images/dynamic_layout_organisation.png

4.2.4. ★★☆ Follow Along: Adding pictures to the dynamic header

  1. Use o botão addImage Add Picture para colocar uma imagem acima da sua etiqueta organisation information. Depois de inserir o nome organisation logo defina a posição e o tamanho do logotipo:

    1. Para X, use a expressão:

      @layout_pagewidth - @sw_layout_margin - 49.5
      
    2. Para Y, use a expressão:

      @sw_layout_margin + 3.5
      
    3. Para Width, use 39.292

    4. Para Height, use 9.583

    Para incluir um logotipo de sua organização, você deve salvar seu logotipo em seu diretório pessoal e inserir o caminho em Main Properties ► Image Source.

  2. Nosso layout ainda precisa de uma seta de norte. Isso também será inserido usando northArrow Add North Arrow. Usaremos a seta norte padrão. Defina a posição:

    1. Para X, use a expressão:

      @layout_pagewidth - @sw_layout_margin * 2 - 78
      
    2. Para Y, use a expressão:

      @sw_layout_margin + 9
      
    3. Para Width, use 21.027

    4. Para Height, use 21.157

4.2.5. ★★☆ Follow Along: Creating the scalebar of the dynamic header

  1. Para inserir uma barra de escala no cabeçalho clique em scaleBar Add Scale Bar e a posicione no retângulo acima da seta norte. Em Map, embaixo de Main Properties escolha seu main map(Map 1). Isso significa que a escala muda automaticamente de acordo com a extensão que você escolher na tela principal do QGIS. Escolha guilabel:Style Numeric. Isso significa que inserimos uma escala simples sem uma barra de escala. A escala ainda precisa de uma posição e tamanho.

    1. Para X, use a expressão:

      @layout_pagewidth - @sw_layout_margin * 2 - 78
      
    2. Para Y, use a expressão:

      @sw_layout_margin + 1
      
    3. Para Width, use 25

    4. Para Height, use 8

    5. Coloque o ponto de referência no centro.

Congratulations! You have created your first dynamic map layout. Take a look at the layout and check if everything looks the way you want it! The dynamic map layout reacts automatically when you change the Page Properties. For example, if you change the page size from DIN A4 to DIN A3, click the refresh Refresh view button and the page design is adapted.

../../../_images/dynamic_layout.png

4.2.6. What’s Next?

Na próxima página, você receberá uma tarefa para concluir. Isso permitirá que você pratique as técnicas que aprendeu até agora.