4.2. Lesson: Creando una Impresión de Composición Dinámica

Ahora que ha aprendido a crear una composición de mapa básico, vamos un paso más allá y creamos una composición de mapa que se adapta dinámicamente a la extensión de nuestro mapa y a las propiedades de la página, p.ej. cuando cambias el tamaño de la página. Además, la fecha de creación se adaptará dinámicamente.

4.2.1. moderate Follow Along: Creando el lienzo de mapa dinámico

  1. Carga los datos en formato ESRI Shapefile protected_areas.shp, places.shp, rivers.shp y water.shp en el mapa y cambia sus propiedades como creas conveniente.

  2. Una vez que todo esté renderizado y simbolizado a su gusto, haga clic en el icono |nuevaDisposición| Nueva Composición de Impresión de la barra de herramientas Proyecto o seleccione Proyecto ► newLayout Nueva Composición de Impresión. Se le pedirá que elija un título para el nuevo diseño de impresión.

  3. Queremos crear una composición de mapa con un encabezado y un mapa de la región cercana a Swellendam, Sudáfrica. La composición debe tener un margen de 7.5 mm y un encabezado de 36 mm de alto.

  4. Cree un elemento de mapa llamado Mapa Principal en el lienzo y vaya al panel Diseño, desplácese hacia abajo hasta la sección Variables y encuentre la parte Diseño. Aquí establecemos algunas variables que puede usar en todo la composición de impresión dinámica. La primera variable definirá el margen. Presione el botón symbologyAdd y escriba el nombre sw_layout_margin, establezca el valor en `` 7.5``. Presione el botón symbologyAdd de nuevo y escriba el nombre sw_layout_height_header. Establezca el valor en 36.

  5. Ahora está listo para crear la posición y el tamaño del lienzo del mapa automáticamente mediante las variables. Asegúrese de que su elemento mapa esté seleccionado, vaya al panel Propiedades del elemento, desplácese hacia abajo y abra la sección Posición y tamaño. Haga click en dataDefineExpressionOn Suplantación definida por datos para X y de la entrada Variables, elija @sw_layout_margin.

  6. Click en dataDefineExpressionOn Suplantación definida por datos para Y, elija Editar… y escriba en la fórmula:

    to_real(@sw_layout_margin) + to_real(@sw_layout_height_header)
    
  7. Puede crear el tamaño del elemento del mapa utilizando las variables para Anchura y Altura. Haga click en dataDefineExpressionOn Suplantación definida por datos para :guilabel:` Anchura` y elija Editar … nuevamente. Completa la fórmula

    @layout_pagewidth - @sw_layout_margin * 2
    

    Click en dataDefineExpressionOn Suplantación definida por datos para Altura y elija Editar…. Aquí introduzca la fórmula:

    @layout_pageheight -  @sw_layout_height_header -  @sw_layout_margin * 2
    
  8. También crearemos una cuadrícula que contenga las coordenadas de la extensión del mapa del lienzo principal. Vaya a Propiedades del elemento nuevamente y elija la sección Cuadrículas. Inserte una cuadrícula haciendo click en el botón symbologyAdd. Haga click en Modificar cuadrícula … y configure Interval para X, Y y Offset de acuerdo con la escala del mapa que eligió en El lienzo principal de QGIS. El Tipo de cuadrícula Cruz es muy adecuado para nuestros propósitos.

4.2.2. moderate Follow Along: Creando el encabezado dinámico

  1. Inserte un rectángulo que contendrá el encabezado con el botón addBasicShape Agregar forma. En el panel elementos ingrese el nombre Encabezado.

  2. De nuevo, vaya a Propiedades del elemento y abra la sección Posición y tamaño. Usando dataDefineExpressionOn Suplantación definida por datos, elija la variable sw_layout_margin para X así como para Y. Anchura deberá definirse por la expresión:

    @layout_pagewidth - @sw_layout_margin * 2
    

    y Altura por la variable``sw_layout_height_header``.

  3. Insertaremos una línea horizontal y dos líneas verticales para dividir el encabezado en diferentes secciones usando addNodesShape Agregar elemento de nodo. Cree una línea horizontal y dos líneas verticales y asígneles el nombre Línea horizontal, Línea vertical 1 Línea vertical 2.

    1. Para la línea horizontal:

      1. Establezca en X la variable sw_layout_margin

      2. Establezca la expresión para Y a:

        @sw_layout_margin + 8
        
      3. Establezca la expresión para Anchura a:

        @layout_pagewidth -  @sw_layout_margin * 3 - 53.5
        
    2. Para la primera línea vertical:

      1. Establezca la expresión para :guilabel:`X`a:

        @layout_pagewidth - @sw_layout_margin * 2 - 53.5
        
      2. Establezca en Y la variable sw_layout_margin

      3. La altura debe ser la misma que la del encabezado que creamos, así que establezca en Altura la variable sw_layout_height_header.

    3. La segunda línea vertical es ubicada a la izquierda de la primera.

      1. Establezca la expresión para :guilabel:`X`a:

        @layout_pagewidth - @sw_layout_margin * 2 - 83.5
        
      2. Establezca en Y la variable sw_layout_margin

      3. La altura debe de ser la misma que para la otra línea vertical, así que establezca en :guilabel:Àltura`la variable sw_layout_height_header.

    La siguiente figura muestra la estructura de nuestro diseño dinámico. Completaremos las áreas creadas por las líneas con algunos elementos.

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

4.2.3. moderate Follow Along: Creando etiquetas para el encabezado dinámico

  1. El título de su proyecto QGIS se puede incluir automáticamente. El título se establece en Propiedades del proyecto. Inserte una etiqueta con el botón label Agregar etiqueta e ingrese el nombre título del proyecto (variable). En Propiedades principales del panel Propiedades del elemento ingrese la expresión:

    [%@project_title%]
    

    Indique la posición de la etiqueta.

    1. Para X, use la expresión:

      @sw_layout_margin + 3
      
    2. Para Y, use la expresión:

      @sw_layout_margin + 0.25
      
    3. Para Anchura, use la expresión:

      @layout_pagewidth - @sw_layout_margin *2 - 90
      
    4. Introduzca 11.25 para la :guilabel:Àltura`

    En :guilabel:Àpariencia` establezca el tamaño de Fuente en 16 pt.

  2. La segunda etiqueta incluirá una descripción del mapa que creó. Nuevamente, inserte una etiqueta y asígnele el nombre Descripción del mapa. En Propiedades principales ingrese el texto descripción del mapa. En Propiedades principales también incluiremos:

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

    Aquí usamos dos funciones de `` Fecha y hora “” (now y format_date).

    Indique la posición de la etiqueta.

    1. Para X, use la expresión:

      @sw_layout_margin + 3
      
    2. Para Y, use la expresión:

      @sw_layout_margin + 11.5
      
  3. La tercera etiqueta incluirá información sobre su organización. Primero crearemos algunas variables en el menú Variables de Propiedades del elemento. Vaya al menú Diseño, haga click en el botón symbologyAdd cada vez e ingrese los nombres o_department, o_name, o_adress y o_postcode. En la segunda fila ingrese la información sobre su organización. Utilizaremos estas variables en la sección Propiedades principales.

    En Propiedades principales ingrese:

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

    Indique la posición de la etiqueta.

    1. Para X, use la expresión:

      @layout_pagewidth - @sw_layout_margin - 49.5
      
    2. Para Y, use la expresión:

      @sw_layout_margin + 15.5
      
    3. Para Anchura, use 49.00

    4. Para Altura, use la expresión:

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

4.2.4. moderate Follow Along: Añadiendo imágenes al encabezado dinámico

  1. Utilice el botón addImage Agregar imagen para colocar una imagen encima de su etiqueta información de la organización. Después de ingresar el nombre logotipo de la organización, defina la posición y el tamaño del logotipo:

    1. Para X, use la expresión:

      @layout_pagewidth - @sw_layout_margin - 49.5
      
    2. Para Y, use la expresión:

      @sw_layout_margin + 3.5
      
    3. Para Anchura, use 39.292

    4. Para Altura, use 9.583

    Para incluir un logotipo de su organización, debe guardar su logotipo en su directorio de inicio e ingresar la ruta en Propiedades principales -> Fuente de imagen.

  2. Nuestra composición todavía necesita una flecha norte. Esto también se insertará utilizando northArrow Agregar flecha norte. Utilizaremos la flecha norte predeterminada. Definir la posición:

    1. Para X, use la expresión:

      @layout_pagewidth - @sw_layout_margin * 2 - 78
      
    2. Para Y, use la expresión:

      @sw_layout_margin + 9
      
    3. Para Anchura, use 21.027

    4. Para Altura, use 21.157

4.2.5. moderate Follow Along: Creando la barra de escala del encabezado dinámico

  1. Para insertar una barra de escala en el encabezado, haga click en scaleBar Agregar barra de escala y colóquelo en el rectángulo sobre la flecha norte. En Mapa debajo de Propiedades principales elija su mapa principal (Mapa 1). Esto significa que la escala cambia automáticamente según la medida que elija en el lienzo principal de QGIS. Elija el Estilo Numérico. Esto significa que insertamos una escala simple sin una barra de escala. La escala todavía necesita una posición y tamaño.

    1. Para X, use la expresión:

      @layout_pagewidth - @sw_layout_margin * 2 - 78
      
    2. Para Y, use la expresión:

      @sw_layout_margin + 1
      
    3. Para Anchura, use 25

    4. Para Altura, use 8

    5. Ubique el punto de referencia en el centro.

¡Felicidades! Ha creado su primer diseño de mapa dinámico. ¡Eche un vistazo al diseño y compruebe si todo se ve como lo desea! El diseño del mapa dinámico reacciona automáticamente cuando cambian las propiedades de la página. Por ejemplo, si cambia el tamaño de página de DIN A4 a DIN A3, haga click en el botón refresh Actualizar vista y el diseño de la página se adapta.

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

4.2.6. What’s Next?

En la página siguiente, se le asignará una tarea a completar. Esto te permitirá practicar las técnicas que has aprendido hasta ahora.