I twitterflödet så syns då och då lite snygga kartstilar från diverse håll. Den här gången var det Jennifer Bell från Esri som skapat något som såg intressant ut. Det är stilsättning i ArcGis Pro baserat på så kallade ”Wurman Dots”. Vill du läsa mer om ursprunget från början så hänvisar jag till artikeln av Jennifer (länk).
Jag tänker inte här kopiera det som Jennifer gör i sin artikel, men jag vill experimentera med punkter som stilsättning inspirerat av detta. Eftersom jag använder QGIS så blir det ändå inte exakt samma, så eventuella likheter i tillvägagångssätt är mer eller mindre oavsiktliga.
Först tänkte jag göra allt med geometrigenerator i en stil, men då blir det lite väl mycket genvägar och ”fusk” med sådant som inte är meningen att man skall göra. I stället så bygger jag en modell för att skapa punkterna.
Jag fick inte riktigt till ett av momenten i modellen, nämligen att koppla valt rasterlager till buffer-funktionen. Det gick bra när jag namngav lagret manuellt i verktyget, men med modellparametern ”Raster” fungerade det inte. Det var först när jag ”skickade med” rastervärdet med samplingsverktyget som bitarna ramlade på plats. I stort så görs följande:
- Välj utsträckning och hur stort diagonalt avstånd det skall vara mellan punkterna.
- Peka ut ett rasterlager och rasterband som skall styra storleken på punkterna.
- Modellen skapar ett ”nät” med punkter som buffras med ett linjärt skalat värde baserat på rastervärdet så att storlekarna blir allt från ”0” till så stora att de kan nudda varandra, men inte överlappa.
Beräkningen för buffertens distans sattes med ett uttryck.
scale_linear( "r_1", @raster_statistics_MIN , @raster_statistics_MAX , 0, sqrt(( @pointdistancemapunits ^2)/2)/2 )
Attributet ”r_1” är det attribut som samplingsverktyget genererade.
Jag använder ”ruter/diamant” som rutnät i stället för hexagonal indelning. Jag tycker det passar bättre i det här fallet.
I bilden ovan har jag använt höjddata för att skapa storleken på punkterna, men det kan naturligtvis vara vilken typ av rasterdata som helst.
Så, storleken på punkterna representerar höjden över havet. Sedan kan jag använda exempelvis marklutningen för att styra vilken färg punkterna skall ha.
Med hjälp av ett uttryck så kan jag hämta värdet i lutningslagret för varje punkt. Notera att jag behöver använda ”centroid()” för att polygonen skall bli den punkt som uttrycket kräver.
Uttrycket ovan används i ”Assistenten” för att koppla det till en färgskala. Denna anpassar jag även kurvan något för, så att skillnaden mellan stor och liten lutning blir lite tydligare i färgskalan.
På det här sättet kan punkterna symbolisera två olika egenskaper på samma gång. Höjd och lutning är i ärlighetens namn inte speciellt intressant, så se detta bara som ett exempel på vad som går att göra med den här typen av stilsättning.
Det blir ganska tydligt var det är såväl högt, som brant. Tänk dig sedan att det i stället är tematiska värden som representeras av storlek och färg.
Min något bråkiga modell kan du hämta på min GitHub. När man skapar modeller så kommer ganska ofta fälten i en oönskad ordning. Det tog ett tag för mig att ta reda på varför, och vad man behöver göra för att fixa det. Det var långt ifrån självklart, men nu vet jag hur man gör.
Hur, det tänker jag berätta i nästa inlägg…
O resultado fica dinamico? Onde o tamanho dos círculos variam de acordo com o zoom?
Não. Isso é mais difícil.