Viktigt

Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.

3.2. Lektion: Etiketter

Etiketter kan läggas till på en karta för att visa information om ett objekt. Alla vektorlager kan ha etiketter associerade med sig. Dessa etiketter förlitar sig på attributdata för ett lager för sitt innehåll.

Målet med den här lektionen: Att applicera användbara och snygga etiketter på ett lager.

3.2.1. ★☆☆ Följ med: Använda etiketter

Kontrollera först att knappen labelingSingle är synlig i GUI:

  1. Gå till menyalternativet Visa ► Verktygsfält

  2. Se till att Label Toolbar har en bockmarkering bredvid sig. Om den inte gör det, klicka på Label Toolbar för att aktivera den.

  3. Klicka på lagret places i panelen Layers så att det markeras

  4. Klicka på knappen labelingSingle i verktygsfältet för att öppna fliken Labels i panelen Layer Styling

  5. Byt från No Labels till labelingSingle Single Labels

    Du måste välja vilket fält i attributen som ska användas för etiketterna. I den föregående lektionen bestämde du att fältet name var det mest lämpliga för detta ändamål.

  6. Välj namn i listan Värde:

    ../../../_images/select_label_with.png
  7. Klicka på Apply

Kartan ska nu ha etiketter som ser ut så här:

../../../_images/first_place_names.png

3.2.2. ★☆☆ Följ med: Ändra etikettalternativ

Beroende på vilka stilar du valde för din karta i tidigare lektioner kan du upptäcka att etiketterna inte är formaterade på rätt sätt och antingen överlappar eller är för långt bort från sina punktmarkörer.

Observera

Ovan använde du knappen labelingSingle i Label Toolbar för att öppna panelen Layer Styling. Precis som med Symbology finns samma etikettalternativ tillgängliga via både panelen Layer Styling och dialogrutan Layer Properties. Här använder du dialogrutan Layer Properties.

  1. Öppna dialogrutan Layer Properties genom att dubbelklicka på lagret places

  2. Välj fliken labelingSingle Labels

  3. Kontrollera att Text är markerad i den vänstra alternativlistan och uppdatera sedan alternativen för textformatering så att de motsvarar dem som visas här:

    ../../../_images/label_formatting_options.png
  4. Klicka på Apply

    Det teckensnittet kan vara större och mer bekant för användarna, men dess läsbarhet är fortfarande beroende av vilka lager som renderas under det. För att lösa detta, låt oss ta en titt på Buffer-alternativet.

  5. Välj Buffer från den vänstra alternativlistan

  6. Markera kryssrutan bredvid Draw text buffer och välj sedan alternativ som motsvarar dem som visas här:

    ../../../_images/buffer_options.png
  7. Klicka på Apply

    Du kommer att se att detta lägger till en färgad buffert eller kant till platsetiketterna, vilket gör dem lättare att urskilja på kartan:

    ../../../_images/buffer_results.png

    Nu kan vi ta itu med placeringen av etiketterna i förhållande till deras punktmarkörer.

  8. Välj Placement från den vänstra alternativlistan

  9. Välj Around point och ändra värdet för Distance till 2.0 Millimeter:

    ../../../_images/offset_placement_settings.png
  10. Klicka på Apply

    Du kommer att se att etiketterna inte längre överlappar sina punktmarkörer.

3.2.3. ★★☆ Följ med: Använda etiketter istället för lagersymbologi

I många fall behöver en punkts läge inte vara särskilt specifikt. Till exempel hänvisar de flesta punkterna i skiktet ”Places” till hela städer eller förorter, och den specifika punkt som är associerad med sådana funktioner är inte så specifik i stor skala. Faktum är att det ofta är förvirrande för den som läser en karta att ange en punkt som är för specifik.

För att nämna ett exempel: på en världskarta kan den punkt som anges för Europeiska unionen vara någonstans i Polen, till exempel. För den som läser kartan och ser en punkt med beteckningen Europeiska unionen i Polen kan det verka som om Europeiska unionens huvudstad därför ligger i Polen.

För att undvika den här typen av missförstånd är det därför ofta bra att avaktivera punktsymbolerna och ersätta dem helt med etiketter.

I QGIS kan du göra detta genom att ändra etikettens position så att den återges direkt över de punkter som den hänvisar till.

  1. Öppna fliken labelingSingle Labels i dialogrutan Layer Properties för skiktet places

  2. Välj alternativet Placement från listan med alternativ

  3. Klicka på knappen Offset från punkt

    Då visas alternativen Quadrant som du kan använda för att ställa in etikettens position i förhållande till punktmarkören. I det här fallet vill vi att etiketten ska vara centrerad på punkten, så välj den mittersta kvadranten:

    ../../../_images/quadrant_offset_options.png
  4. Dölj punktsymbolerna genom att redigera skiktet Symbology som vanligt och ställa in storleken på Marker size till 0.0:

    ../../../_images/hide_point_marker.png
  5. Klicka på Apply så får du se detta resultat:

    ../../../_images/hide_point_marker_results.png

Om du zoomar ut kartan ser du att en del av etiketterna försvinner i större skalor för att undvika överlappning. Ibland är det här vad man vill ha när man hanterar dataset med många punkter, men ibland går användbar information förlorad på det här sättet. Det finns en annan möjlighet att hantera sådana här fall, som vi kommer att gå igenom i en senare övning i den här lektionen. För tillfället kan du zooma ut och klicka på knappen showUnplacedLabel i verktygsfältet och se vad som händer.

3.2.4. ★★☆ Prova själv: Anpassa etiketterna

  • Återställ inställningarna för etikett och symbol så att de har en punktmarkör och en etikettförskjutning på 2,0 millimeter.

  • Ställ in kartan på skalan 1:100000. Du kan göra detta genom att skriva in det i rutan Scale i Status Bar. Ändra dina etiketter så att de passar för visning i den här skalan.

3.2.5. ★★☆ Följ med: Märkning av linjer

Nu när du vet hur etikettering fungerar finns det ett ytterligare problem. Punkter och polygoner är lätta att märka, men hur är det med linjer? Om du märker dem på samma sätt som punkterna skulle resultatet se ut så här:

../../../_images/bad_street_labels.png

Vi kommer nu att omformatera ”vägarnas” lageretiketter så att de blir lätta att förstå.

  1. Dölj lagret platser så att det inte distraherar dig

  2. Aktivera labelingSingle Single Labels för roads-lagret på samma sätt som du gjorde ovan för places

  3. Ställ in teckensnittet Size till 10 så att du kan se fler etiketter

  4. Zooma in på stadsområdet |majorUrbanName

  5. På fliken Labels på fliken Placement väljer du följande inställningar:

    ../../../_images/street_label_settings.png

    Du kommer förmodligen att upptäcka att textstyling har använt standardvärden och att etiketterna därför är mycket svåra att läsa. Uppdatera Text så att den använder en mörkgrå eller svart Color och Buffer så att den använder en ljusgul Color.

    Kartan kommer att se ut ungefär så här, beroende på skala:

    ../../../_images/street_label_formatted.png

    Du kommer att se att vissa av vägnamnen visas mer än en gång och det är inte alltid nödvändigt. För att förhindra att detta händer:

  6. På fliken Labels i dialogrutan Layer Properties väljer du alternativet Rendering och markerar Merge connected lines to avoid duplicate labels enligt bilden:

    ../../../_images/merge_lines_option.png
  7. Klicka på OK

    En annan användbar funktion är att förhindra att etiketter ritas för funktioner som är för korta för att vara anmärkningsvärda.

  8. I samma Rendering-panel ställer du in värdet för Suppress labeling of features smaller than … till 5.00 mm och noterar resultatet när du klickar på Apply

    Prova också olika Placement-inställningar. Som vi har sett tidigare är alternativet Horizontal inte en bra idé i det här fallet, så låt oss prova alternativet Curved istället.

  9. Välj alternativet Curved i panelen Placement på fliken Labels

Här är resultatet:

../../../_images/final_street_labels.png

Som du kan se döljer detta vissa etiketter som tidigare var synliga, eftersom det var svårt att få vissa av dem att följa snirkliga gatulinjer och samtidigt vara läsbara. Andra etiketter blir mycket mer användbara eftersom de följer vägarna i stället för att flyta i rymden mellan dem. Du kan välja vilket av dessa alternativ du vill använda, beroende på vad du tycker verkar mest användbart eller vad som ser bäst ut.

3.2.6. ★★★★ Följ med: Datadefinierade inställningar

  1. Avaktivera märkning för skiktet vägar

  2. Återaktivera märkning för lagret platser

  3. Öppna attributtabellen för platser via knappen openTable (öppna tabell)

    Den har ett fält som är av intresse för oss nu: plats som definierar typen av stadsområde för varje post. Vi kan använda dessa data för att påverka etiketternas stil.

  4. Navigera till panelen Text i panelen places Labels

  5. Klicka på dataDefine-knappen bredvid Italic-textknappen under Style och välj Edit… för att öppna Expression String Builder:

    ../../../_images/expression_string_builder.png
  6. Under Fields and Values, dubbelklicka på place och klicka sedan på All Unique. Detta kommer att lista alla unika värden för fältet place i detta lager. Lägg till en = i textredigeraren och dubbelklicka sedan på town.

    Alternativt kan du skriva: "place" = "town" direkt i textredigeraren.

  7. Klicka på OK två gånger:

    ../../../_images/expression_builder_settings.png

Lägg märke till att etiketterna för alla platser vars fält place matchar town visas i kursiv stil.

../../../_images/italic_label_result.png

3.2.7. ★★★★ Prova själv: Använda datadefinierade inställningar

Observera

Vi hoppar lite framåt här för att demonstrera några avancerade märkningsinställningar. På den avancerade nivån förutsätts det att du vet vad följande betyder. Om du inte gör det kan du hoppa över det här avsnittet och återkomma senare när du har läst det material som krävs.

  1. Öppna attributtabellen för platser

  2. Gå till redigeringsläge genom att klicka på knappen toggleEditing

  3. Lägg till en ny kolumn med knappen |newAttribute

  4. Konfigurera den så här:

    ../../../_images/font_size_column.png
  5. Använd detta för att ställa in anpassade teckenstorlekar för varje olika typ av plats (varje nyckel i fältet plats)

3.2.8. ★★★★ Ytterligare möjligheter med märkning

Vi kan inte gå igenom alla alternativ i den här kursen, men tänk på att fliken Label har många andra användbara funktioner. Du kan ställa in skalbaserad rendering, ändra renderingsprioriteten för etiketter i ett lager och ställa in alla etikettalternativ med hjälp av lagerattribut. Du kan till och med ställa in rotation, XY-position och andra egenskaper för en etikett (om du har attributfält för ändamålet) och sedan redigera dessa egenskaper med hjälp av verktygen intill huvudknappen Layer Labeling Options:

labelingSingle showPinnedLabels pinLabels showHideLabels moveLabel rotateLabel changeLabelProperties

(Dessa verktyg kommer att vara aktiva om de obligatoriska attributfälten finns och du är i redigeringsläge)

Du är välkommen att utforska fler möjligheter med märkningssystemet.

3.2.9. Sammanfattningsvis

Du har lärt dig hur du använder lagerattribut för att skapa dynamiska etiketter. Detta kan göra din karta mycket mer informativ och snygg!

3.2.10. Vad händer härnäst?

Nu när du vet hur attribut kan göra en visuell skillnad för din karta, vad sägs om att använda dem för att ändra symbologin för objekten själva? Det är ämnet för nästa lektion!