Då blir det statistik! När det publiceras statistik så händer det att denna är i ett format som är användbart för GIS. I det här fallet så är det en tabell på http://kommunrankning.miljobarometern.se/hela-listan/. Men hur får jag över dessa resultat på en karta?
Det hade varit bättre om det funnits en fil för nedladdning, men en tabell på en webbsida duger. Det är bara att markera tabellen och kopiera innehållet (ctrl – c).
I LibreOffice väljer jag att klistra in innehåll (shift – ctrl – v). På detta sätt får jag välja om jag skall infoga html kod, eller oformaterad text. Oformaterad text är att föredra.
Nästa steg blir att spara tabellen i ett format som går att behandla vidare i QGIS. Spara tabellen som csv.
Här är det viktigt att markera ”Redigera filterinställningar” i dialogen (bilden ovan). Då får man upp en dialog där man kan välja ett annat tecken för att separera fälten än komma. Eftersom tabellen innehåller decimaltal med decimalkomma, så är det bättre att använda exempelvis semikolon som separerande tecken.
Lägg till tabellen i QGIS. Antingen med ”Lägg till separerad text” eller via ”Datakällor”. Det är inte säkert att det fungerar att klickdra filen till kartan, men QGIS är ganska bra på att tolka en fils innehåll så prova gärna.
Innan jag går vidare vill jag ”städa” tabellen något så att det exempelvis finns ett attribut med en ren placeringssiffra. Just nu är det ett textfält med förändring jämfört med förra årets placering inom parentes.
Lägg till en heltalskolumn och skapa ett uttryck för att fylla med innehåll.
Om vi börjar ”inifrån” i uttrycket så börjar jag med att ta bort alla ”*” tecken som indikerar att tabellen uppdaterats. Detta tecken stör resten av uttrycket, så det måste bort.
Därefter hämtas en sub-sträng med hjälp av ett ”reguljärt uttryck”. I början på texten skall det finnas ”noll” till flera tecken av typen 0-9. Detta anges med ^[0-9]*. Detta skall sedan avslutas med ett blanktecken som i QGIS anges med \\s. Resten av texten bryr sig inte uttrycket om. Resultatet görs sedan om till heltal med to_int() som effektivt även tar bort kvarvarande blanktecken.
På tal om blanktecken så behöver även kommunnamnskolumnen rensas på onödiga blanktecken. Detta görs genom att skriva om fältet med uttrycket trim( ”kommun” ).
Sedan behöver jag ett lager med alla kommuner, där det även finns ett attribut med kommunens namn. På val.se så finns det ett sådant lager och du kan hämta detta här: http://www.val.se/val/ep2014/statistik/gis/valgeografi_kommun.zip.
Hopkopplingen görs sedan med en sammanslagning på Kommunnamn i de båda tabellerna. Sedan är det ”bara” att stilsätta som man vill. Jag har ansträngt mig ganska ordentligt för att få fram en som jag tycker snygg stil som jag har använt för att skapa en karta.
Det är en blandning av tekniker som jag använt tidigare på bloggen och jag tycker resultatet blev ganska bra. Inte helt säker på den rosa färgen, men jag ville ha något som avviker rejält från den andra skalan.
Om du själv inte vill göra jobbet så kan du ladda hem mitt GeoPackage där jag även sparat lagerstilen som jag skapat. Hämta filen här: https://github.com/klakar/geosupportsystem/raw/master/kommunranking2017.gpkg