Från början tänkte jag få med allt i ett inlägg, men det blir på tok för omfattande. Därför så inleder jag med lite generella grunder här, mer detaljer i kommande inlägg.
I dessa inlägg tänker jag försöka gå igenom så mycket jag bara kan om etiketter i kartor skapade med QGIS. Ett ambitiöst mål, speciellt som jag i veckan hittade funktioner som jag inte hade en aning om fanns, och som jag heller inte lyckats spåra till exakt när de infördes. Hög tid att gå igenom allt som är möjligt med etiketter i QGIS med andra ord.
Först och främst. Etiketter kan användas för flera typer av geometrier, och inställningarna skiljer sig något åt mellan dessa olika typer. Väldigt mycket är dock gemensamt.

För det första. Etiketter är kopplade till stilinställningarna och sparas med stilen i projekt och stilfiler (om man inte aktivt väljer bort att göra det). Det går även att skapa och spara textstilar och etikettinställningar i stilhanteraren. Detta gör det möjligt att enkelt återanvända stilar som man är speciellt nöjd med.
På fliken ”Text format” kan man skapa generella etikettinställningar som kan användas för alla typer av objekt, men om man även vill kunna göra inställningar för exempelvis placering, vilket är beroende av typ av geometri, så kan man göra det under fliken ”Label Settings”.
Om man gör ändringar i de sparade stilarna så slår dessa inte igenom i redan applicerade stilar i kartan. För att göra det så får man markera etiketter i stilinställningarna och tillämpa stilen igen.

Först och främst så kan man välja hur etiketterna skall tillämpas.

Valen är ”No Labels” och ”Single Labels” för de vanligaste tillämpningarna. Vill man ha olika etikettstilar i ett lager så kan man välja ”Rule-based Labeling”, vilket gör att man kan skapa olika villkor som ”filter” för dessa regler. En användbar finess med dessa är att man kan använda samma regel för att lägga till flera etikettstilar för en och samma etikett. Med lite trixande kan man därmed exempelvis ha etiketter med delvis olika färg eller fet stil med mera.

Den sista typen är ”Blocking” som man inte använder på det lager man vill hämta etiketter ifrån, utan på lager som inte skall täckas av etiketter.

Man sätter här prioritet för blockeringen, vilket gör att etiketter med lägre prioritet inte skrivs ut så att de täcker objekt i det blockerande lagret. Är det ett polygonlager (som i bilden ovan) så kan man välja om det är hela ytan som skall vara blockerande eller bara ytterkanten på polygonerna.

Till höger om det grundläggande etikettvalet så finns det en knapp som heter ”Automated Placement Settings”. Detta är inställningar som tillämpas på alla etiketter i alla lager, vilket är användbart inte minst vid felsökning av etiketters placering. Exempelvis kan man välja att visa alla etiketter oavsett om de krockar eller ej, eller att visa dessa med en avvikande färg. Man kan även ändra hur många ”kandidater” för etikettplacering som skall beräknas för linjer och polygoner.
Det sista jag tänkte titta på i detta inlägg är själva källan till etikettens innehåll.

Det enklaste är att direkt välja ett textattribut i listan med valbara attribut. Vill man skriva ut något lite mera anpassat så kan man skriva uttryck direkt i detta fältet.

Textsträngar definieras med enkla citationstecken och man kan använda alla typer av funktioner och metoder som finns i uttrycksbyggaren generellt. Resultatet av uttrycket måste dock vara något som går att använda i en etikett.
Vill man skapa mera avancerade etiketter så kan man öppna uttrycksbyggaren med knappen till höger om fältet. I denna kan man sedan bygga i princip hur komplicerade uttryck som man vill.

Som hjälp när man skriver sina uttryck så visas en ”Output preview” i nedre delen av dialogfönstret. Om man nu mot förmodan inte kan skapa tillräckligt avancerade uttryck för att uppnå det man vill, så kan man relativt enkelt använda ”Function Editor” för att med Python skript skapa helt skräddarsydda funktioner som kan användas precis som alla inbyggda funktioner.
Det sista jag tänkte gå igenom idag är verktygsfältet ”Etiketter”.

Här kan man direkt gå till etikett (och diagram) -inställningarna, men även med hjälp av funktionen Auxiliary Storage göra individuella anpassningar av alla etiketter i ett lager. Det enda som krävs är att lagret med etiketter har ett unikt identifierande attribut som kan kopplas till den externa databasen där alla anpassningar lagras. Databasen finns normalt i projektfilen och följer således med projektet när detta sparas.
Om man flyttar etiketter manuellt så kan man välja att visa vilka etiketter som är manuellt placerade med en blå bakgrund. Det går även att visa oplacerade etiketter med röd text. Detta gör det relativt enkelt att manuellt flytta oplacerade etiketter till en plats där de kan ritas ut med angivna etikettregler.
Det går även att rotera etiketter eller visa/dölja dessa. Men detta är inte allt. Var enda en av stilinställningarna för etiketterna generellt kan anpassas individuellt för etiketterna med knappen längst till höger.
Den som nu inte är nöjd med inställningsmöjligheterna individuellt för etiketterna får gärna höra av sig. Vissa saker kan säkert göras mera intuitiva eller snabbare, men bortsett det så ger dessa samlade inställningar otroligt stor variation och möjligheter att skapa etiketter.
I nästa inlägg tittar jag närmare på hur dessa etiketter kan stilsättas i mera detalj.