Jag inleder året med en mycket enkel, men effektfull, kartstil som baseras på blandningslager, texturer, effekter och ett enda vektorlager. Det blir även ett ”problem” med metoden, som jag inte riktigt vet hur det går att lösa (om det går). Men som alltid med QGIS så går det att uppnå ett resultat på flera sätt.
Jag använder ”markytor” från Lantmäteriets sverigekarta och väljer ut ”vattenytor” med en urvalsfråga som fångar upp alla olika typer av vattenytor.
Det första enkla testet med QGIS för att närma sig det jag är ute efter är att använda gradientformfyllning som blandningslager på ett linjelager.
Linjelagret är bara horisontella linjer som täcker hela polygonerna, men som med gradientformfyllningslagret med gråskala (svart till vitt) och blandningsläget ”addition”, begränsar utsträckningen av linjefyllningen till det som är mera strandnära.
Detta ger en gradvis uttoning av linjerna, men det är fortfarande väldigt raka och ”tekniska” linjer. Vill man ha det så är det ok, men jag är ute efter något mera ”handritat”.
I Gimp så använder jag en pensel med struktur och kanten på muspekarens ”trackpad” för att rita någorlunda raka linjer.
Att det inte är exakt lika långt avstånd mellan linjerna, eller att de är helt raka, spelar heller inte så stor roll, utan hjälper snarare till att skapa ett handritat intryck. Det som är viktigt är att linjerna bryter kanterna på samma höjd till vänster och höger så att det inte skapas en tydlig kant när man lägger dessa bilder jämte varandra.
I QGIS ersätter jag mitt linjelager med en lagerstil baserad på rasterbildsfyllning.
Så här långt är det precis som jag tänkt mig, men nu börjar svårigheterna…
Den kantlinje som används skulle jag ju också vilja ha lite mera handritad stil på. Det enda jag kan tänka mig är att använda flera lager med markörlinjer, där markörerna är varianter på en eller ett par svg-bilder.
Genom att variera svg symbolstorlek och avståndet mellan markörpunkterna så kan man få fram en effekt som ger en linje med ett något oregelbundet utseende. Genom att använda slumpmässiga storlekar eller avstånd så kan detta ytterligare förstärkas.
Tyvärr så behagade QGIS att krascha ganska frekvent när jag försökte använda svg-symboler med markörlinjen, så jag fick nöja mig med en enkel markör i stället, vilket var väldigt stabilt (bugg rapporterad till QGIS.org). Genom att använda en slumpvis storlek mellan 0.2 och 0.6 mm för den runda symbolen så får linjen ett ganska passande oregelbundent intryck. Jag kombinerar markörlinjen med en vanlig kantlinje med lämplig tjocklek, vilket färdigställer kantlinjen.
Nästa bekymmer, som jag inte hittat någon lösning på, är att jag skulle vilja sätta en färg på vattnet i bakgrunden. Jag kan inte få detta att fungera! Mitt blandningslager blandar nämligen med samtliga underliggande lager, vilket därmed även tonar bort mina färgfyllningar. Jag kan heller inte tona till något annat än vitt (exempelvis transparent) då detta inte tonar bort mina linjer…
Om därför bakgrundsfärgen är viktigare än den tonade övergången så är det enda sättet jag känner till att använda en buffer som krymper polygonerna och där man sedan fyller buffertområdet med en linjestil med en genomskinlig linjestil. Detta fungerar så länge man inte använder sig av blandningslager.
Med QGIS så behöver du naturligtvis inte skapa en massa extra vektorlager med buffertar, utan dessa kan enkelt skapas med geometrigeneratorn. I mitt exempel så skapar jag en buffert med negativt värde på vattenlagret. Dessa mindre polygoner används sedan för att subtrahera från den ursprungliga polygonen, vilket skapar en ”strandzon” ute i vattnet med det angivna avståndet.
Fördelen med detta, att inte använda blandningseffekter, är att jag faktiskt kan ”stapla” stilarna på varandra i ett och samma lager.
Vill man ändå använda sig av blandningseffekter över lager som inte skall blandas så måste man bygga in nya funktioner i QGIS. Man skulle kunna tänka sig att man använder sig av lagergrupper, där blandningseffekter i en lagergrupp inte sprider sig till lager som finns utanför gruppen, även om dessa ligger under dessa i lagerlistan i utritningsordning.
Nåväl. Jag kan även lägga till en markstil som inverterad polygon i samma lager, samt ett ytterligare lager som täcker hela ytan. Det går att använda geometrigeneratorn för detta. Det heltäckande lagret används med en rasterbildsfyllning och blandningseffekten multiplicera.
Nu får man som sagt välja om man vill ha bakgrundsfärger, eller om man vill färglägga på annat sätt. Det är nu som jag kommer på det briljanta lösningen på mitt problem, nämligen att inte alls använda ett lager i bakgrunden för att ange färgen på vattnet, utan åter igen använda ett lager ovanpå dessa ytor med färg och ”blanda” ner dessa med den tidigare stilen och på så sätt uppnå den effekt jag från början var ute efter.
Blandningslager, geometrigenerator och liknande funktioner i QGIS är helt fantastiska och ger enorma möjligheter att skapa väldigt effektfulla kartor, om man bara experimenterar lite och inte ger sig.
Snyggt! Vet du något sätt att rotera linjefyllningen utifrån ett attribut för varje polygon?
Ähm, om du menar markören jag använder i linjen så är det bara att rotera med datadefinierad åsidosättning. Är det fyllning i en markör du menar, så går det också på motsvarande sätt. Har du inte ett attribut med lämpligt riktningsvärde så går det att skapa ett med CASE för lite enklare värden, eller en ”scale_linear” (alt scale_exp) för att översätta ett värdeintervall till ett annat (0-360).