Viktigt
Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 97.22%.
18.2.4. Etikettobjektet
Objektet Label är ett verktyg som hjälper dig att dekorera din karta med texter som hjälper dig att förstå den; det kan vara titel, författare, datakällor eller annan information… Du kan lägga till en etikett med verktyget Add Label efter instruktioner för skapande av objekt och manipulera den på samma sätt som i Interagera med layoutobjekt.
Som standard har etikettobjektet en standardtext som du kan anpassa med hjälp av dess Item Properties-panel. Förutom objektens gemensamma egenskaper har den här funktionen följande funktioner (se Fig. 18.24):

Fig. 18.24 Etikettobjektets egenskapspanel
18.2.4.1. Huvudsakliga egenskaper
Gruppen Main properties är platsen för att ange etikettens text. Texten kan vara statisk, dynamisk med expression funktioner och variabler, och/eller formaterad med HTML. Dynamiska delar av en etikett måste omges av [%
och %]
för att kunna tolkas och utvärderas som sådana.
För att använda uttryck i etiketter kan du klicka på knappen Infoga/redigera uttryck…, skriva din formel som vanligt och när dialogen tillämpas lägger QGIS automatiskt till de omgivande tecknen.
Råd
När du klickar på knappen Infoga/redigera uttryck… utan att ha gjort något val i textrutan, kommer det nya uttrycket att läggas till den befintliga texten. Om du däremot vill ändra ett befintligt uttryck ändras beteendet beroende på vad du har markerat: Om någon text är markerad och markeringen är inom ett uttryck (mellan ’[%’ och ’%]’), eller om ingen text är markerad men markören är inom ett uttryck, kommer hela uttrycket att markeras. I alla andra fall förblir markeringen som den är.
Eftersom kartor vanligtvis fylls med vanlig textinformation (datum, författare, titel, sidnummer, …) ger QGIS direkt tillgång till motsvarande uttryck eller variabler: tryck på knappen Dynamisk text för att välja och infoga dem i din etikett.
Tips
Toppmenyn
kan användas för att skapa ett nytt etikettobjekt som fylls med det valda fördefinierade uttrycket.Det är möjligt att göra en dynamisk etikett statisk: tryck på rullgardinsmenyn bredvid knappen Infoga/redigera uttryck… och välj Konvertera till statisk. Alla dynamiska delar av etikettens innehåll kommer att utvärderas och ersättas med sina aktuella värden. Du kan sedan manuellt justera den resulterande texten när det behövs.
Etiketter kan tolkas som HTML-kod: check
Render as HTML. Du kan nu infoga HTML-taggar eller stilar, URL, en klickbar bild som länkar till en webbsida, eller något mer komplext…
Följande kod kombinerar HTML-rendering med uttryck, för en avancerad märkning och kommer att mata ut Fig. 18.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>

Fig. 18.25 Utnyttja en etikett med HTML-styling
18.2.4.2. Utseende
Definiera typsnitt och stil för texten genom att klicka på knappen Font. I menyn Label Font kan du använda några av alternativen för Formatering av etikettexten.
Du kan ange olika horisontella och vertikala marginaler i
mm
. Detta är marginalen från kanten av layoutobjektet. Etiketten kan placeras utanför etikettgränserna, t.ex. för att anpassa etikettobjekt till andra objekt. I så fall måste du använda negativa värden för marginalen.Ett annat sätt att placera etiketten är att använda textjusteringen. Den kan vara:
Left, Center, Right eller Justify för Horizontal alignment
och Top, Vertical Center, Bottom för Vertical alignment.

Fig. 18.26 Egenskaper för etikettobjektets utseende
18.2.4.3. Utforska uttryck i ett etikettobjekt
Nedan följer några exempel på uttryck som du kan använda för att fylla etikettobjektet med intressant information - kom ihåg att koden, eller åtminstone den beräknade delen, ska omges av [%
och %]
i ramen Main properties:
Visa en titel med det aktuella atlasvärdet i ”field1”:
'This is the map for ' || "field1"
eller, skrivet i avsnittet Main properties:
This is the map for [% "field1" %]
Lägg till en paginering för bearbetade atlasfunktioner (t.ex.
Sida 1/10
):concat( 'Page ', @atlas_featurenumber, '/', @atlas_totalfeatures )
Returnerar namnet på flygplatserna i den aktuella atlasregionfunktionen, baserat på deras gemensamma attribut:
aggregate( layer := 'airports', aggregate := 'concatenate', expression := "NAME", filter := fk_regionId = attribute( @atlas_feature, 'ID' ), concatenator := ', ' )
Eller om en attributsrelation är inställd:
relation_aggregate( relation := 'airports_in_region_relation', aggregate := 'concatenate', expression := "NAME", concatenator := ', ' )
Returnerar namnet på de flygplatser som ingår i den aktuella atlasregionfunktionen, baserat på deras rumsliga relation:
aggregate( layer := 'airports', aggregate := 'concatenate', expression := "NAME", filter := contains( geometry( @parent ), $geometry ), concatenator := ', ' )
OR:
array_to_string( array:= overlay_contains( layer := 'airports', expression := "NAME" ), delimiter:= ', ' )
Returnerar den nedre X-koordinaten för
Map 1
-objektets utsträckning:x_min( map_get( item_variables( 'Map 1' ), 'map_extent' ) )
Hämta namnet på lagren i den aktuella layouten
Map 1
och formatera dem i ett namn per rad: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 )
Visa listan över lager med deras licenssträngar (användningsrättigheter) i ett objekt i layouten
Map 1
. Du måste fylla i skiktens Åtkomstmetadata egenskaper först.array_to_string( map_credits( 'Map 1', true ) )