Hoppa till innehåll
Meny
  • Hem
  • Dokument
  • Om Mig
Geosupportsystem

Fler häftiga stilar…

Publicerat den 2018-03-12

Det är många som påverkar utvecklingen av QGIS på olika sätt. Beroende på vad du jobbar med så kan det vara olika grupper och personer som har mest påverkan på ditt arbetsflöde. En av de som påverkar mitt arbetsflöde mest är Nyall Dawson (North-Road).
När jag gjorde min stil med lite ”ruffare” utseende (artikel), så letade jag också efter ett sätt att skapa alternativa övergångar från land till djupare vatten, där jag mer eller mindre ”nöjde” mig med den rasterbildsfyllning i kombination med gradientformfyllning och blandnignseffekter. Nu har Nyall visat hur jag skulle kunnat ha gjort för att komma närmare det jag ville uppnå från början, med en ”prickstil”.
För att bara snabbt visa hur det såg ut i min karta från tidigare så framgår det av bilden nedan.
Skärmbild_2018-03-10_08-48-01.png
Detta är inte alls ”fult”, men som sagt inte riktigt vad jag ville från början. Med hjälp av Nyalls tips så skall jag försöka åstadkomma det jag strävade efter.
Skärmbild_2018-03-10_09-12-59.png
För att få prickarna att spridas åt båda hållen för linjen, så har jag modifierat Nyalls uttryck något.

concat('0,',array_get(array(-1,1),rand(0,1))*5*randf(0,1) ^ 3)

Uttrycket används som ”offset” för en ”Simple Marker” för en ”Marker Line”…
Skärmbild_2018-03-10_09-37-39
Det som gör att allt fungerar är att man skapar en markörlinje med väldigt litet intervall. Det intervall man väljer påverkar hur ”tätt” det blir mellan punkterna i resultatet. Detta värde kan man därmed använda för att justera ”tätheten”.
Skärmbild_2018-03-10_09-40-47.png
Under inställningarna för ”Simple Marker” så är det de datadefinierade åsidosättningarna för ”Offset” som används för uttrycket tidigare. Uttrycket genererar en textsträng med två värden i en ”lista”. Det första värdet är vertikal offset, det vill säga längs linjen, och är alltid ”0”. Det andra värdet slumpas och positiva värden hamnar till ”höger” och negativa värden till ”vänster”.
Då jag använder QGIS 3 så har jag använt ”array” funktionerna för att även slumpa om värdet är positivt eller negativt, för att därmed slippa göra två lager, ett för vänster och ett för höger. Om du använder QGIS 2.18 så kan du använda två markörlinjer och följande två uttryck (ett för varje markörlinje).

concat('0,', 5*randf(0,1) ^ 3)
concat('0,-', 5*randf(0,1) ^ 3)

Skillnaden mellan dessa är ett minustecken…
Det övriga uttrycket har en slumpmässig komponent och en spridningskomponent. Multiplikatorn (5) styr spridningsbredden generellt, och exponenten (3) styr hur snabbt tätheten tunnas ut. Jag tycker att ”3” är lite för lite i vissa sammanhang, så jag använder ”5” i stället.
Jag kommer heller inte att behöva sprida åt båda hållen, utan jag vill bara ha spridning ”inåt” i mina sjöar. Vi får se hur den viljan stämmer med vänster och höger…
Men först. Det finns ett problem med metoden.
Skärmbild_2018-03-10_10-01-40.png
När linjen byter riktning så sker ett överlapp, eller glapp, mellan spridningarna som sker vinkelrät mot linjen. Det som framför allt är ett problem är när det blir tomt vid ytterhörn. Genom att även lägga till ett slumpmässigt värde för spridning vertikalt längs linjen, så kan man täppa igen detta.
Skärmbild_2018-03-10_10-09-20.png
I bilden ovan har jag ett uttryck bestående av två slumpmässiga komponenter, först längs linjen, som är både positiv och negativ för att minska en annan effekt, nämligen att punkterna tenderar att spridas i linjernas förlängning. Den andra delen är enbart positiv och sprider därmed punkterna enbart på en sida av linjen.
Skärmbild_2018-03-10_10-21-39.png
Tyvärr innebär detta ännu ett problem, nämligen när linjen böjs åt andra hållet, så kommer vissa punkter att spridas till ”fel” sida. Detta kan jag hantera genom att placera lagret under ett lager som ”täcker” de punkter som hamnar fel.
Så, hur blev det då?
Skärmbild_2018-03-10_11-00-57
Riktigt bra om jag får säga det själv. Jag har lagt till lite opacitet och använder en gradientformfyllning från förra artikeln också för att få lite bättre kontroll på spridningen.

Lämna ett svar Avbryt svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Translate with Google

GBR In English
GER Auf Deutch
FRA En Français
ESP En Español
Swedish is a hard language for a machine to translate. Nuance and detail will likely be lost.
     Mastodon  

Bok om QGIS på Svenska

Bok

Beställ Boken/E-bok genom att klicka på bilden (även förhandsgranskning).

Senaste kommentarer

  • Daniel Nilsson om QField
  • denis Empisse om SpaceMouse Python
  • klakar om SpaceMouse Python
  • Anders Jackson om Återbesök, WebODM
  • Anders Jackson om SpaceMouse Python

Arkiv

Meta

  • Logga in
  • Flöde för inlägg
  • Flöde för kommentarer
  • WordPress.org
©2025 Geosupportsystem | WordPress-tema av Superbthemes.com