För ett tag sedan så lade jag upp en kor film på YouTube om hur man kan använda attributvärden för att åsidosätta symbolstilar efter en fastställd mall.
I detta inlägg repeterar jag detta i text och bild för den som tycker att det är enklare att hänga med.
I mitt exempel använde jag signalstyrkan från den WarWalk jag visade igår.
Om jag direkt väljer att använda värdet från attributet för att bestämma storlek på symbolen så blir det konstigt. I tabellen finns värden från -19 till -91 dB där -19 är den starkaste signalen.
Eftersom skalan är logaritmisk så kan det vara passande att även symbolstorleken motsvarar detta. Det vore även bra om symboler för -19 är större än -91.
I stället för att välja attributfält direkt, så kan man välja ”Redigera…” för att bättre anpassa utseendet.
Under rubriken ”Matematiska” kan man hitta två skalningsfunktioner. En som är linjär, som är lite enklare att använda, och en exponentiell, som har lite extra inställningar.
Jag använder den exponentiella för att särskilja riktigt stora signaler, medan de svagaste kan presenteras med mindre skillnad storleksmässigt.
scale_exp( värdefält, värde_min, värde_max, resultat_min, resultat_max, exponent )
Uttrycket tar sex argument där det första är objektets aktuella värde. Detta hämtar jag helt enkelt från fältet för signalstyrka.
Det andra och tredje argumentet anger det minsta och största värde som värdefältet kan ha. Detta för att sätta en ”skala” för indata.
Det fjärde och femte är motsvarande för det minsta och största värde som skall användas för att åsidosätta inställningarna i lageregenskaperna.
Det sista värdet anger hur den exponentiella kurvan skall se ut. Ett värde mellan noll och ett ger en kurva som börjar brant och planar ut, medan ett värde över ett börjar plant och accelererar. Det är det senare jag använder här. Lite experimenterande blir det till för att få ett värde som är ”lagom”.
Nu kan man tycka att jag inte har tänkt på att det är negativa värden i tabellen… Men i det här fallet så fungerar detta perfekt, eftersom -19, som är den större signalstyrkan, är ”större” än -91 som är minst.
Principen att ”översätta” värdet i ett numeriskt fält till en definierad omfattning av användbara värden är användbar i väldigt många sammanhang när man skall skräddarsy symboler för att presentera allt från ordinala till helt linjära data.
Ett sätt kan vara att omsätta ett värde till en värdeskala från 0 till 360 och använda symbolrotation för att visa om värdet är relativt högt eller lågt.
I bilden ovan har jag använt frekvensdata omsatt till varvet och ”pinnens” riktning anger således vilket frekvensband som används. För detta använde jag den linjära skalningsfunktionen.