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.3. Lektion: Klassificering

Etiketter är ett bra sätt att kommunicera information som t.ex. namn på enskilda platser, men de kan inte användas till allt. Låt oss till exempel säga att någon vill veta vad varje ”markanvändningsområde” används till. Med hjälp av etiketter skulle du få det här:

../../../_images/bad_landuse_labels.png

Detta gör kartans märkning svårläst och till och med överväldigande om det finns många olika markanvändningsområden på kartan.

Målet för den här lektionen: Att lära sig att klassificera vektordata på ett effektivt sätt.

3.3.1. ★☆☆ Följ med: Klassificering av nominella data

  1. Öppna dialogrutan Layer Properties för skiktet landuse (markanvändning)

  2. Gå till fliken Symbologi

  3. Klicka på rullgardinsmenyn där det står Single Symbol och ändra den till Categorized:

    ../../../_images/categorised_styles.png
  4. I den nya panelen ändrar du Value till landuse och Color ramp till Random colors

  5. Klicka på knappen märkt Classify

    ../../../_images/categorised_style_settings.png
  6. Klicka på OK

    Du kommer att se något liknande detta:

    ../../../_images/categorisation_result.png
  7. Klicka på pilen (eller plustecknet) bredvid landuse i Layers-panelen så får du en förklaring av kategorierna:

    ../../../_images/categories_explained.png

    Nu är våra markanvändningspolygoner färgade och klassificerade så att områden med samma markanvändning har samma färg.

  8. Om du vill kan du ändra symbolen för varje markanvändningsområde genom att dubbelklicka på det relevanta färgblocket i panelen Layers eller i dialogrutan Layer Properties:

    ../../../_images/change_layer_color.png

Lägg märke till att det finns en kategori som är tom:

../../../_images/empty_category.png

Denna tomma kategori används för att färglägga objekt som inte har något definierat markanvändningsvärde eller som har ett NULL-värde. Det kan vara bra att behålla den här tomma kategorin så att områden med ett NULL-värde fortfarande finns representerade på kartan. Du kanske vill ändra färgen för att tydligare representera ett tomt värde eller ett NULL-värde.

Kom ihåg att spara din karta nu så att du inte förlorar alla dina hårt förvärvade ändringar!

3.3.2. ★☆☆ Prova själv: Mer klassificering

Använd den kunskap du fick ovan för att klassificera skiktet byggnader. Ställ in kategoriseringen mot fältet byggnader och använd färgrampen Spectral.

Observera

Kom ihåg att zooma in i ett stadsområde för att se resultatet.

3.3.3. ★★☆ Följ med: Ratio klassificering

Det finns fyra olika typer av klassificering: nominell, ordinal, intervall och förhållande.

Vid nominal klassificering är de kategorier som objekten klassificeras i namnbaserade; de har ingen inbördes ordning. Till exempel: stadsnamn, distriktskoder etc. Symboler som används för nominella data ska inte antyda någon ordning eller storlek.

  • För punkter kan vi använda symboler med olika form.

  • För polygoner kan vi använda olika typer av skraffering eller olika färger (undvik att blanda ljusa och mörka färger).

  • För linjer kan vi använda olika streckmönster, olika färger (undvik att blanda ljusa och mörka färger) och olika symboler längs linjerna.

I ordinal klassificering är kategorierna ordnade i en viss ordning. Till exempel ges världsstäder en rangordning beroende på deras betydelse för världshandel, resor, kultur etc. Symboler som används för ordinaldata ska antyda ordning, men inte storleksordning.

  • För punkter kan vi använda symboler med ljusa till mörka färger.

  • För polygoner kan vi använda graderade färger (ljus till mörk).

  • För linjer kan vi använda graderade färger (från ljust till mörkt).

I intervall-klassificering är siffrorna på en skala med positiva, negativa och nollvärden. Till exempel: höjd över/under havsnivån, temperatur i grader Celsius. Symboler som används för intervalldata bör antyda ordning och storleksordning.

  • För punkter kan vi använda symboler med varierande storlek (liten till stor).

  • För polygoner kan vi använda graderade färger (ljus till mörk) eller lägga till diagram av varierande storlek.

  • För linjer kan vi använda tjocklek (tunn till tjock).

I ratio-klassificering är siffrorna på en skala med endast positiva och nollvärden. Till exempel: temperatur över absolut nollpunkt (0 grader Kelvin), avstånd från en punkt, den genomsnittliga trafikmängden på en viss gata per månad osv. Symboler som används för kvotdata ska antyda ordning och storleksordning.

  • För punkter kan vi använda symboler med varierande storlek (liten till stor).

  • För polygoner kan vi använda graderade färger (ljus till mörk) eller lägga till diagram av varierande storlek.

  • För linjer kan vi använda tjocklek (tunn till tjock).

I exemplet ovan använde vi nominell klassificering för att färglägga varje post i skiktet landuse baserat på dess attribut landuse. Nu ska vi använda kvotklassificering för att klassificera posterna efter område.

Vi kommer att omklassificera lagret, så befintliga klasser kommer att gå förlorade om de inte sparas. För att lagra den aktuella klassificeringen:

  1. Öppna dialogrutan för skiktets egenskaper

  2. Klicka på knappen Save Style … i rullgardinsmenyn Style.

  3. Välj Rename Current…, ange land usage och tryck på OK.

    Kategorierna och deras symboler sparas nu i skiktets egenskaper.

  4. Klicka nu på Add… i rullgardinsmenyn Style och skapa en ny stil med namnet ratio. Detta kommer att lagra den nya klassificeringen.

  5. Stäng dialogrutan Layer Properties

Vi vill klassificera markanvändningsområdena efter storlek, men det finns ett problem: de har inget storleksfält, så vi måste skapa ett.

  1. Öppna attributtabellen för skiktet landuse.

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

  3. Lägg till en ny kolumn av decimaltyp, kallad AREA, med hjälp av knappen newAttribute New field:

    ../../../_images/add_area_column.png
  4. Klicka på OK

    Det nya fältet kommer att läggas till (längst till höger i tabellen; du kan behöva skrolla horisontellt för att se det). För närvarande är det dock inte ifyllt, det har bara en massa NULL-värden.

    För att lösa detta problem måste vi beräkna ytorna.

    1. Öppna fältkalkylatorn med knappen calculateField.

      Du kommer att få den här dialogen:

      ../../../_images/calculate_field_dialog.png
    2. Markera kryssrutan Uppdatera befintliga fält

    3. Välj AREA i rullgardinsmenyn för fält

      ../../../_images/field_calculator_top.png
    4. Under fliken Expression, expandera gruppen Geometry functions i listan och hitta $area

    5. Dubbelklicka på det så att det visas i fältet Expression

      ../../../_images/geometry_area_select.png
    6. Klicka på OK

    7. Bläddra till fältet AREA i attributtabellen och du kommer att se att det är fyllt med värden (du kan behöva klicka på kolumnrubriken för att uppdatera data).

    Observera

    Dessa ytor följer projektets inställningar för ytenheter, så de kan vara i kvadratmeter eller kvadratgrader.

  5. Tryck på saveEdits för att spara ändringarna och avsluta redigeringsläget med toggleEditing Toggle editing

  6. Stäng attributtabellen

Nu när vi har data, låt oss använda dem för att rendera landuse-skiktet.

  1. Öppna dialogrutan Layer properties på fliken Symbology för skiktet landuse

  2. Ändra klassificeringsstilen från Categorized till Graduated

  3. Ändra Value till AREA

  4. Under Color ramp väljer du alternativet Create New Color Ramp…:

    ../../../_images/area_gradient_select.png
  5. Välj Gradient (om den inte redan är vald) och klicka på OK. Du kommer att se detta:

    ../../../_images/gradient_color_select.png

    Du kommer att använda detta för att ange område, med små områden som Color 1 och stora områden som Color 2.

  6. Välj lämpliga färger

    I exemplet ser resultatet ut så här:

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

  8. Du kan spara färgrampen genom att välja Save Color Ramp… under fliken Color ramp. Välj ett lämpligt namn på färgrampen och klicka på Save. Du kan nu enkelt välja samma färgramp under All Color Ramps.

  9. Under Mode välj equalCount Equal Count (Quantile) .

  10. Klicka på Classify

    Nu kommer du att ha något liknande detta:

    ../../../_images/landuse_gradient_selected.png

    Lämna allt annat i befintligt skick.

  11. Klicka på OK:

../../../_images/gradient_result_map.png

3.3.4. ★★☆ Prova själv: Förfina klassificeringen

  • Ändra värdena för Mode och Classes tills du får en klassificering som är meningsfull.

3.3.5. ★★★★ Följ med: Regelbaserad klassificering

Det är ofta användbart att kombinera flera kriterier för en klassificering, men tyvärr tar normal klassificering bara hänsyn till ett attribut. Det är här som regelbaserad klassificering kommer väl till pass.

I den här lektionen kommer vi att representera skiktet markanvändning på ett sätt som gör det enkelt att identifiera Swellendam city från det andra bostadsområdet och från de andra typerna av markanvändning (baserat på deras område).

  1. Öppna dialogrutan Layer Properties för skiktet landuse (markanvändning)

  2. Byt till fliken Symbologi

  3. Ändra klassificeringsstilen till Rule-based

    QGIS kommer automatiskt att visa de regler som representerar den aktuella klassificeringen som implementerats för detta skikt. När du har slutfört övningen ovan kan du till exempel se något i den här stilen:

    ../../../_images/rule_based_classification.png
  4. Klicka och dra för att välja alla regler

  5. Använd knappen symbologyRemove Remove selected rules för att ta bort alla befintliga regler

Låt oss nu lägga till våra anpassade regler.

  1. Klicka på knappen symbologyAdd Lägg till regel

  2. Dialogrutan Edit rule visas då

  3. Ange Swellendam city som Label

  4. Klicka på knappen expression bredvid textområdet Filter för att öppna Expression String Builder

  5. Ange kriteriet "name" = 'Swellendam' och validera

    ../../../_images/query_builder_example.png
  6. Gå tillbaka till dialogrutan Edit rule, ge den en mörkare gråblå färg för att visa stadens betydelse i regionen och ta bort gränsen

    ../../../_images/rule_style_result.png
  7. Tryck på OK

  8. Upprepa stegen ovan för att lägga till följande regler:

    1. Övrigt bostadsområde med kriteriet "landuse" = 'residential' AND "name" <> 'Swellendam'`. Välj en blek blågrå Fyllnadsfärg

    2. Stora områden som inte är bostadsområden etikett med kriteriet "landuse" <> "residential" AND "AREA" >= 605000. Välj en mellangrön färg.

      ../../../_images/criterion_refined_midway.png

      Dessa filter är exklusiva, eftersom de utesluter områden på kartan (områden som inte är bostadsområden och som är mindre än 605000 (kvadratmeter) ingår inte i någon av reglerna).

    3. Vi kommer att fånga de återstående funktionerna med hjälp av en ny regel märkt Small non residential areas. Istället för ett filteruttryck, Kontrollera radioButtonOn Else. Ge denna kategori en lämplig ljusgrön färg.

      ../../../_images/criterion_else.png

    Dina regler bör nu se ut så här:

    ../../../_images/criterion_refined_list.png
  9. Tillämpa denna symbologi

Din karta kommer att se ut ungefär så här:

../../../_images/rule_based_map_result.png

Nu har du en karta med Swellendam det mest framträdande bostadsområdet och andra områden som inte är bostadsområden färgade enligt deras storlek.

3.3.6. Sammanfattningsvis

Symbologi gör det möjligt för oss att representera attributen för ett lager på ett lättläst sätt. Det gör det möjligt för både oss och kartläsaren att förstå betydelsen av funktioner, med hjälp av relevanta attribut som vi väljer. Beroende på vilka problem du ställs inför kommer du att använda olika klassificeringstekniker för att lösa dem.

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

Nu har vi en snygg karta, men hur ska vi få ut den ur QGIS och in i ett format som vi kan skriva ut eller göra om till en bild eller PDF? Det är ämnet för nästa lektion!