21.2.4. El elemento etiqueta
El elemento Etiqueta es una herramienta que ayuda a decorar tu mapa con textos que ayudarían a entenderlo; puede ser el título, autor, fuentes de datos o cualquier otra información … Puede agregar una etiqueta con la herramienta Agregar etiqueta siguiendo las instrucciones de creación de elementos y manipularla de la misma manera que se expone en Interactuando con los elementos de composición
De forma predeterminada, el elemento de etiqueta proporciona un texto predeterminado que puede personalizar utilizando su panel Propiedades del elemento. Aparte de las propiedades comunes de elementos, esta prestación tiene las siguientes funcionalidades (ver Figura 21.24):
21.2.4.1. Propiedades principales
El grupo Propiedades principales es el lugar para proporcionar el texto de la etiqueta. El texto puede ser estático, dinámico con funciones y variables expression <expression_builder> ` y/o formateado con HTML. Las partes dinámicas de una etiqueta deben estar rodeadas por ``[%` y %]
para que se interpreten y evalúen como tales.
Para usar expresiones en las etiquetas, puede hacer clic en el botón Insertar/Editar expresión…, escribir su fórmula como de costumbre y cuando se aplica el cuadro de diálogo, QGIS agrega automáticamente los caracteres circundantes.
Consejo
Al hacer clic en el botón Insertar/Editar expresión… cuando no se realiza ninguna selección en el cuadro de texto, se agregará la nueva expresión al texto existente. Si desea modificar una expresión existente, primero debe seleccionar la parte de interés.
Debido a que los mapas suelen estar llenos de alguna información textual común (fecha, autor, título, número de página, …), QGIS proporciona un acceso directo a las expresiones o variables correspondientes: presione el botón Texto dinámico para seleccionar y insértelos en su etiqueta.
Truco
El menú superior
se puede usar para crear un nuevo elemento de etiqueta con la expresión predefinida seleccionada.Es posible convertir una etiqueta dinámica en estática: presione la flecha desplegable junto al botón Insertar/Editar expresión… y seleccione Convertir a estática. Cualquier parte dinámica del contenido de la etiqueta será evaluada y reemplazada con sus valores actuales. Luego puede modificar manualmente el texto resultante cuando sea necesario.
Las etiquetas se pueden interpretar como código HTML: marque |casilla de verificación| Renderizar como HTML. Ahora puede insertar etiquetas o estilos HTML, URL, una imagen en la que se puede hacer clic que se vincula a una página web o algo más complejo…
El siguiente código combina la representación HTML con expresiones, para un etiquetado avanzado y generará Figura 21.25:
<html>
<head>
<style>
/* Define some custom styles, with attribute-based size */
name {color:red; font-size: [% ID %]px; font-family: Verdana; text-shadow: grey 1px 0 10px;}
use {color:blue;}
</style>
</head>
<body>
<!-- Information to display -->
<u>Feature Information</u>
<ul style="list-style-type:disc">
<li>Feature Id: [% ID %]</li>
<li>Airport: <name>[% NAME %]</name></li>
<li>Main use: <use>[% USE %]</use></li>
</ul>
Last check: [% concat( format_date( "control_date", 'yyyy-MM-dd'), ' by <b><i>', @user_full_name, '</i></b>' ) %]
<!-- Insert an image -->
<p align=center><img src="path/to/logos/qgis-logo-made-with-color.svg" alt="QGIS icon" style="width:80px;height:50px;"</p>
</body>
</html>
21.2.4.2. Apariencia
Defina la fuente y el estilo del texto haciendo clic en el botón Font. En el menú Fuente de la etiqueta puede utilizar algunas de las opciones para Formatear el texto de la etiqueta.
Puede especificar diferentes márgenes horizontales y verticales en
mm
. Este es el margen desde el borde del elemento de diseño. La etiqueta se puede colocar fuera de los límites de la etiqueta, p. Ej. para alinear los elementos de la etiqueta con otros elementos. En este caso, debe utilizar valores negativos para el margen.Usar la alineación del texto es otra forma de colocar su etiqueta. Puede ser:
Izquierda, Centro, Derecha o Justificar para Alineación horizontal
y Arriba, Medio, Abajo para :guilabel:` Alineación vertical`.
21.2.4.3. Explorando expresiones en un elemento de etiqueta
A continuación, se muestran algunos ejemplos de expresiones que puede utilizar para completar el elemento de la etiqueta con información interesante: recuerde que el código, o al menos la parte calculada, debe estar rodeada por [%
y %]
en el cuadro Propiedades principales:
Muestra un título con el valor actual de la característica del atlas en «field1»:
'This is the map for ' || "field1"
o, escrito en la sección Propiedades principales:
This is the map for [% "field1" %]
Agregue una paginación para los objetos procesadas del atlas (por ejemplo,
Page 1/10
):concat( 'Page ', @atlas_featurenumber, '/', @atlas_totalfeatures )
Devuelve el nombre de los aeropuertos de la entidad de la región del atlas actual, según sus atributos comunes:
aggregate( layer := 'airports', aggregate := 'concatenate', expression := "NAME", filter := fk_regionId = attribute( @atlas_feature, 'ID' ), concatenator := ', ' )
O, si una relación de atributos está establecida:
relation_aggregate( relation := 'airports_in_region_relation', aggregate := 'concatenate', expression := "NAME", concatenator := ', ' )
Devuelve el nombre de los aeropuertos incluidos en la entidad de región del atlas actual, según su relación espacial:
aggregate( layer := 'airports', aggregate := 'concatenate', expression := "NAME", filter := contains( geometry( @parent ), $geometry ), concatenator := ', ' )
O:
array_to_string( array:= overlay_contains( layer := 'airports', expression := "NAME" ), delimiter:= ', ' )
Devuelve la coordenada X inferior de la extensión del elemento
Map 1
:x_min( map_get( item_variables( 'Map 1' ), 'map_extent' ) )
Recupere el nombre de las capas en el elemento de diseño actual
Map1
y en formato de un nombre por línea:array_to_string( array_foreach( map_get( item_variables( 'Map 1' ), 'map_layers' ), -- retrieve the layers list layer_property( @element, 'name' ) -- retrieve each layer name ), '\n' -- converts the list to string separated by breaklines )
Muestre la lista de capas con sus cadenas de licencia (derechos de uso) en un elemento de diseño
Mapa 1
. Necesitas llenar las propiedades de capas primero “ Access metadataarray_to_string( map_credits( 'Map 1', true ) )