Tanaka style

”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.

Skärmbild från 2015-11-28 18:12:08

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).

Skärmbild från 2015-11-28 18:15:44.png

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.

Skärmbild från 2015-11-28 18:50:19

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.

Skärmbild från 2015-11-28 19:07:33

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…

Advertisements

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: