”Belysta” konturer eller så höjdkurvor i så kallad ”Tanaka” stil är något som jag blev uppmärksammad på via Anita Grasers blogg. Du kan läsa mer om dessa på http://wiki.gis.com/wiki/index.php/Tanaka_contours.
Vad det handlar om är att skapa en effekt som påminner om hur det ser ut om man tar skivor formade som höjdkurvorna och staplar dessa på varandra.
Principen som Anita tog fram bygger på att klippa upp linjerna i höjdkurvorna och räkna ut deras orientering. Detta kan sedan användas för att sätta stilen på linjerna och därmed ge linjer i ”skugga” en mörkare färg.
Eftersom jag jobbade med att göra höjdkurvor från Lantmäteriets öppna data förra veckan så passar det bra att jag här visar hur det går till att fixa Tanakakurvor i QGIS.
Anita har gjort en modell som går att ladda ner från GitHub för detta. Jag har modifierat min version något så att man slipper att räkna om allt i ett stort höjdlager (i princip ”clip” funktionen i bilden nedan).
Modellen hackar isär höjdkurvorna vid varje brytpunkt och sedan körs ett Pythonskript som bestämmer riktningen från startpunkt (P1) till slutpunkt (P2) för varje segment.
a = p1.azimuth(p2)
Detta attribut kan sedan användas för att räkna fram en färg på linjen med en datadefinierad åsidosättning.
Anita använder en lite annorlunda funktion, men i princip så är det exakt samma sak jag har här.
”color_hsl” är ett alternativt sätt att ange en färg och till skillnad från ”rgb” så anges i stället ton, mättnad och ljusstyrka (hue, saturation, luminescence).
När ton och mättnad sätts till noll, så bestämmer den återstående variabeln ljuset eller en skala från vitt till svart.
Riktningen kan vara 0 till 360, men utseendet på linjen bryr sig inte om ifall linjen går ”mot” eller ”från” ljuskällan. Därför så använda ”abs” funktionen tillsammans med ”-180”.
”scale_linear” översätter linjeriktningens 0 till 180, till ett värde mellan 0 och 100 då ljusstyrka är ett procentuellt värde.
Just siffran 45 anger varifrån den tänkta ljuskällan kommer, i det här fallet snett uppe från vänster. Det går att anpassa värdena för att få det att se ut som om ljuset kommer från ett annat håll.
Nåja, jag tycker att det blir en ganska häftig effekt.
Min tanke just nu är om det går att göra likadant i ESRI ArcMap? Det kanske jag får ta och prova i morgon…
0 svar på ”Tanaka style”