Egna höjdkurvor.

Jag tänkte laborera lite med höjdkurvor som jag gör själv i detta inlägg.

Jag börjar med att ladda hem lite höjddata från SRTM i *.hgt format (länk). I den komprimerade filen man tar hem så finns det flera hgt-filer som när man lägger till dem symbolsätts individuellt. Ett enkelt sätt att skapa ett enda hanterbart lager med samma symbolsättning är att skapa ett virtuellt rasterlager.

Gå till ”Raster”, ”Övrigt” och ”Bygg Virtuellt Raster (Katalog)”.

Skärmbild från 2013-11-22 15:21:30

När jag försöker välja sökvägar med knapparna ”Välj…” i verktyget så totalkraschar QGIS, men det går bra att skriva eller klistra in sökvägarna till katalogen med hgt-filer och till den vrt-fil man vill skapa. Jag lägger vrt-filen på samma ställe som datat, jag tycker det blir enklast så just nu. Observera att jag även valt att öppna en katalog med filer och inte enskilda filer.

När verktyget kört så läggs den virtuella katalogen till i lagerlistan, därefter är det bara att klicka på ”Stäng” för att ta bort verktyget (varför kan det inte stängas automatiskt?).

SRTM

Bilden ovan visar ”tiles” till vänster och den virtuella katalogen till höger.

Sedan så kör man ”bara” verktyget för att skapa höjdkurvor.

Skärmbild från 2013-11-22 15:42:31

Du hittar verktyget under ”Raster”/”Extrahera”.

Jag kryssade även i rutan att skapa attributnamn för höjdkurvorna, så att dessa även fick ett höjdvärde. Kan vara bra att ha senare.

Höjdkurvorna gick ganska snabbt att få fram, med hänsyn till att de beräknades över hela Götaland och del av Svealand (i princip), och resultatet efter lite stilval och etiketter ser du här nedanför.

HöjdkurvorKlicka på bilden för att se den i full skärmupplösning.

Om jag får säga det själv så är jag ganska nöjd med resultatet. Jag använder en regelbaserad stil där de tunna linjerna är en ofiltrerad regel och de tjockare en regel med ”Regular Expression” som filtrerar fram rader på jämna 50-tal meter:

 regexp_match(  tostring(   toint( ”ELEV”) ),’.[05].’)

”ELEV” är mitt höjdattribut och för att testa attributet som text så tar jag bort decimaler med ”toint” och gör om talen till text med ”tostring”. Uttrycket matchar sedan strängar med ett valfritt tecken  på position ett och tre, och en femma eller nolla på position två. Uttrycket fungerar således bara på höjder under 1000 meter, men det är ganska lätt att modifiera.

Jag använder ett villkor med samma urval för att välja ut vilka linjer som skall få etiketter. Jag lägger även till ett ”m” efter höjdangivelsen.

CASE WHEN regexp_match( tostring( toint( ”ELEV”) ),’.[05].’) THEN tostring(ELEV) || ‘ m’ END

I bakgrunden så har jag den virtuella höjddatakatalogen som låg till grund för beräkningen. Och om du undrar så är det Vättern och Jönköping som syns på bilden.

Annonser

Taggar:, ,

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 )

Twitter-bild

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

Facebook-foto

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

Google+ photo

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

Ansluter till %s

%d bloggare gillar detta: