Interpolera data i QGIS

I detta inlägg använder jag ett punktlager med mätvärden för att ”interpolera” en sammanhängande yta som visualiserar dessa värden. Interpolering är ett sätt att räkna ut värden där dessa saknas baserat på de värden man har. Olika metoder använder olika algoritmer för att göra uträkningen och i olika situationer passar dessa olika bra.

Jag kommer att använda temperaturdata från SMHI (CC-BY) som går att hämta från deras sida för öppna data (http://opendata.smhi.se/). Det går att använda vilka typer av mätvärden, eller punktobservationer som helst, men dessa passar ganska bra som demonstration.

Mera konkret hämtar jag en sammanställning av den senaste timmens temperaturer från alla mätstationer i en csv-fil via den här länken.

Dessa data läser jag sedan in i QGIS via den vanliga ”separerad text” funktionen.

Skärmbild från 2018-09-07 15-11-15.png

På kartan får jag ett antal punkter som kan stilsättas precis som vanligt i QGIS, men jag nöjer mig med att använda en etikett som anger aktuell temperatur på mätplatsen.

Skärmklipp från 2018-09-07 15:15:52.png

Nästa steg är helt enkelt att skapa en interpolering med något verktyg. Jag har dock inte lyckats göra detta på det här csv-lagret, och jag vet inte vad det beror på, men om jag först exporterar lagret till ett GeoPackage så går det bra.

Skärmklipp från 2018-09-07 15:20:19.png

QGIS har två inbyggda funktioner för interpolering, IDW och ”TIN”. IDW står för ”inverse distanse weighting”. Med denna metod beräknas ett värde för varje punkt baserat på de värden som existerar i de angivna kända punkterna.

Skärmklipp från 2018-09-07 15:22:03.png

Det finns begränsade inställningsmöjligheter med i Wikipedia så förklaras ett värde, som baserat på resultatet i QGIS även är det som går att ange här. Här får man experimentera lite och jag har hamnat någonstans mellan 2 och 4 när jag provat med temperaturdata.

Skärmklipp från 2018-09-07 15:28:47.png

I dialogen väljer man vektorlager och det värdefält som skall interpoleras. Detta ”lägger man till” i listan med det gröna ”plus-tecknet”. Antalet rader och kolumner går att anpassa till formen för observationsområdet och tänkt upplösning. Ju högre värden desto tätare pixlar. Man måste även ange utsträckningen, men det går att ange ett lagers utsträckning, eller markera i kartbilden, så det är inte speciellt krångligt.

Om man vill spara resultatet till en fil så kan man göra det, annars sparas resultatet i minnet som en temporär fil.

TIN interpolering (”triangular irregular network”) fungerar liknande, men ger ett lite annorlunda resultat.

Skärmklipp från 2018-09-07 15:38:40

Här kan man välja en av två metoder, med viss variation i resultatet. Man kan även välja att visa det trianguleringsnät som räknats fram, och som ligger till grund för beräkningen.

Det finns andra verktyg i SAGA eller GRASS, men jag nöjer mig med mitt IDW resultat. Det är trots allt metoder jag vill visa.

Skärmklipp från 2018-09-07 15:54:16.png

Man kan nu använda sig av kreativ stilsättning i QGIS och vara nöjd så här långt, men det finns sätt att gå vidare.

Ett exempel är höjdkurvor.

Höjdkurvor behöver ju inte bara beskriva höjd! Det går lika bra att som i det här fallet knyta ihop områden med samma temperatur.

Skärmklipp från 2018-09-07 15:56:52.png

Här byter jag helt enkelt ut attributnamnet HOJD mot TEMP, bara för att inte själv bli förvirrad. Annars är det ingen som helst skillnad att skapa linjer av den här typen eller höjdkurvor.

Skärmklipp från 2018-09-07 16:02:46.png

Genom att laborera med intervall och offset så kan man nog få till ganska ”trevliga” linjer för kommande kartprodukter.

Det finns säkert många fler sätt att göra om oregelbundet utspridda mätpunkter till yttäckande data, men de som finns inbyggda i QGIS räcker nog ganska långt.

Oavsett om det som här är temperatur från SMHI, eller egna insamlade data om luftkvalité, eller markens surhetsgrad på en fastighet, så kan man tillämpa metoden för att ”interpolera” värden där dessa saknas. Man måste naturligtvis vara noggrann med att tala om att interpolering är gjord, och det bör gå att spåra vilka mätpunkter som använts, med vilka värden, på ett eller annat sätt. Speciellt om det rör sig om en vetenskaplig rapport eller motsvarande.

Annonser

Taggar:,

One response to “Interpolera data i QGIS”

  1. Henrik Lundqvist says :

    isolinjer är bra för visualisering… dock är IDW och liknande itne bra för interpolering. Speciellt inte med underliggande trender beroende på latitud eller topografi. Och är missing data 0 osv… Kriging som bygger på statistiken av din datamängd samt utbredning av variansen är att föredra och det vore ett bra exempel att visa 🙂

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut /  Ändra )

Google+-foto

Du kommenterar med ditt Google+-konto. Logga ut /  Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut /  Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut /  Ändra )

Ansluter till %s

%d bloggare gillar detta: