Publicerad den Lämna en kommentar

Berg från sagorna

Den som läst Tolkien kan väl inte ha undvikit att se hur bergskedjor avbildas på de kartor som finns i böckerna. Ja du har säkert sett dessa även om du inte läst böckerna.

I detta inlägg tänkte jag kika på hur man kan använda QGIS för att återskapa denna stil. Det blir många steg, men inget fusk, allt är gjort i QGIS (förutom symbolerna).

Jag börjar med ett höjddataset i rasterformat. Beroende på data så får man anpassa detta steg något, men jag är främst intresserad av att hitta ett lagom gränsvärde jag kan använda för att klassa ett område som ”berg” eller ej. Jag vet att det inte är så enkelt, men nu är det en fantasyinspirerad karta det är frågan om.

Skärmklipp från 2018-07-08 19:36:55.png

När jag hittat mitt gränsvärde genom att testa lite diskreta färgskalor och variera värdet, så använder jag verktyget för att skapa höjdkurvor. Då jag bara vill ha en enda kurva så sätter jag ett väldigt högt intervallvärde och ett offsetvärde som motsvarar mitt gränsvärde (se bilden ovan). Detta kommer att skapa en höjdkurva på just denna höjd.

Detta bildspel kräver JavaScript.

Nästa steg är att skapa polygoner från linjerna (lines to polygons) och sedan väljer jag att förenkla geometrierna något och jämna ut dem. Det senare är inte nödvändigt, men det ser snyggt ut. Jag behöver inte bry mig om alla små polygoner, de kommer att ignoreras senare.

För att placera ut mina berg så behöver jag förankra dessa någonstans. Jag väljer att först skapa slumpmässiga punkter i polygonerna. Det hade inte fungerat lika bra att använda en geometrigenerator för polygonen då slumpmässiga punkter inte kan hanteras lika kontrollerat som jag önskar.

Skärmklipp från 2018-07-08 19:56:01

Det finns ett verktyg för detta som heter ”random points inside polygons”. Här kan jag sätta ett minsta avstånd punkterna får ha, men även hur många punkter som skall slumpas ut i varje polygon. Antalet räknar jag fram med ett uttryck baserat på polygonens storlek. Alla mått måste anpassas till situationen och i mitt fall så väljer jag minsta avstånd 500 meter och ett värde för antal som motsvarar två punkter per kvadratkilometer.

Skärmklipp från 2018-07-08 19:57:04

Storleken på mina svg-symboler sätter jag till att börja med till 500 kartenheter, så jag har något att börja med.

När det gäller svg-symbolerna så hittar jag en samling bilder i Tolkienstil som skapats av Tiffany Munro.

Skärmklipp från 2018-07-08 20:04:16

Denna bild använder jag i Inkscape för att vektorisera ett antal jag tror kan passa för min stil.

Jag döper varje svg-berg till m1.svg, där jag räknar upp siffran för varje fil.

Sökvägen till svgsymbolen styr jag sedan med ett uttryck.

'/home/klakar/Bilder/mountain/m'||rand(0,9)||'.svg'

Det blir sedan i övrigt ganska många uttryck i datadefinierade åsidosättningar.

Skärmklipp från 2018-07-08 20:58:51.png

Mina symbolstorlekar anpassar jag för att få lite variation i storlekarna med ett uttryck.

rand(400, 1000)

Färgerna behöver man bara sätta på det här sättet om det går att byta färg på symbolerna. Det går inte att sätta färgerna manuellt när QGIS inte vet exakt vilken symbol som skall användas. Jag sätter även en tunn vit kantlinje på symbolerna för att separera dem lite där de överlappar.

Skärmbild från 2018-07-08 21-13-22

När det gäller överlapp så är det ett annat problem, nämligen att en del symboler som borde ligga bakom andra, inte gör det då utritningen sker ganska slumpmässigt. Som tur är kan jag styra utritningsordningen och eftersom det som ligger långt bort, även ligger längre norrut, så kan jag styra utritningsorgningen baserat på Y-koordinaten för punkten. Detta är inte helt felfritt då symbolerna inte är exakt lika höga, men en ankringspunkt i botten av symbolerna hjälper något.

Skärmklipp från 2018-07-08 20:35:55

Ja, det var det hela. Det blir ganska bra om jag får säga det själv. Och förutom själva symbolerna så är precis allt skapat internt i QGIS, och då har jag inte ens börjat använda effekter och blandningslager.

Skärmklipp från 2018-07-08 22:04:56.png

Nu är det bara att fortsätta lägga till lager av lämplig typ, och vara beredd på att alla kompromisser och förenklingar påverkar sådant man lägger till, så det är inte osannolikt att man får göra fler justeringar på vägen. Med lite tålamod så kan man dock komma riktigt långt. Sedan kan man ju alltid ta till blandningslager med texturer och realtidseffekter också för att ytterligare förstärka intrycket man är ute efter.

Skärmklipp från 2018-07-08 22:12:05.png

Nyhet från Geosupportsystem , orginal inlägg

Lämna ett svar