Inlägget gjort

Indexkarta med QGIS

Vad är en indexkarta? För länge, länge sedan, när ”Televerket” gav ut kataloger med alla abonnenters telefonnummer, så brukade det även finnas kartor i dessa och de hade ett rutnät som inte var skalenligt. Rutnätet var uppdelat anpassat till sidan och namngivna med bokstäver och siffror. Ofta fanns även en lista med platsnamn som dessutom refererade till vilken ruta platserna fanns i.

I QGIS är det enkelt att skapa ett liknande rutnät på kartor, även om man behöver använda lite uttryck och funktioner för att det skall bli bra.

Vilken karta eller vilken skala du använder spelar absolut ingen roll. Jag börjar med OpenStreetMap och väljer att zooma till Eksjö.

I layouten lägger jag till kartan och den pappersstorlek jag väljer kommer att styra resten av inställningarna, så redan nu gäller det att tänka till. Jag vill ha ett rutnät med 2 cm intervall så baserat på kartelementets storlek så anger jag storleken med datadefinierade uttryck till något jämnt delbart med 2 centimeter.

Skärmklipp från 2018-12-07 10:04:33.png

Detta gör jag för att få jämna (hela) rutor i layouten, eftersom rutorna kommer att skapas baserat på layouten och inte på geografiska koordinater.

Intervallenheten för rutnätet sätts till millimeter (eller centimeter) och intervallet anges i mitt fall till 20 x 20 mm.

Skärmklipp från 2018-12-07 10:07:08.png

Genom att välja kartelementets storlek som en multipel av intervallet så går det jämnt ut.

Som ram väljer jag ”External Ticks” som jag sträcker ut 10 mm. För att även ha en ram runt själva kartan så får jag även kryssa i ”Frame” i kartans grundläggande elementegenskaper. Alternativt använda ramen från ett senare steg nedan.

Skärmklipp från 2018-12-07 10:10:37.png

Varför skapar jag så långa ticks? För att jag vill rama in mina tecken lite trevligare. Jag lägger nämligen till en rektangel i layouten som jag också sätter till en fast storlek, som är 20 mm större än kartelementet. Placeringen kan göras manuellt, eller så sätter man X och Y på samma sätt som storleken, så att ramen justeras till kartan.

Skärmklipp från 2018-12-07 10:17:57.png

Nästa steg blir att lägga till bokstäver och siffror. Här väljer jag att använda bokstäver från vänster till höger och siffror uppifrån och ner (för att det är så vi normalt läser text, och det är så det ser ut i ett kalkylark).

För att skapa ”etiketter” så lägger jag till ett nytt rutnät med samma grund som tidigare, men offset med 10 mm i båda riktningar. Något rutnät skall dock inte ritas ut.

Skärmklipp från 2018-12-07 10:23:26.png

Sedan kommer vi till etiketterna och alla funktioner och uttryck.

Skärmklipp från 2018-12-07 10:26:03.png

Till att börja med så behöver jag skilja på om det är horisontella eller vertikala etiketter, vilket är enkelt att fixa med ett if uttryck.

För bokstäverna så skapar jag en Array med alla bokstäver genom att använda string_to_array funktionen med en ”tom” textsträng som delare, vilket delar upp strängen i enskilda tecken. Observera att denna metod skapar en tom textsträng på index ”0”, så det första tecknet i textsträngen blir index ”1”. Om textsträngen innehåller ”,” för att separera poster i listan, så kommer första posten i strängen att få index = ”0”.

Skärmklipp från 2018-12-07 10:38:46

Från denna array hämtar jag sedan det tecken som motsvaras av rutnätsvärdet med array_get. Jag måste skapa ett uttryck även för detta index. Detta fungerar då avrundningen genom to_int funktionen görs ”uppåt”. Jag skulle också kunna använda ceil för att vara på den säkra sidan i stället för int. Om jag valt att använda ”,” som separerare i strig_to_array, så hade jag här fått välja floor som funktion i stället för att få med index ”0”.

För den vertikala axeln så använder jag samma numeriska funktion för att få siffror. Jag vill dock vända siffrornas ordning, vilket jag kan göra genom att minska (i mitt fall) 14 med det tal som genereras.

Nu återstår bara att justera typsnittet något, så är min indexkarta klar!

Skärmklipp från 2018-12-07 11:01:04.png

Den skarpsynte kan notera att jag ”fuskat” ytterligare lite i bilden ovan…

Det är så att justeringen av etiketter är begränsad till avstånd från kanten, vilket gör att enkelsiffror hamnar med centrum närmare kartan än dubbelsiffror. Detta kompenserar jag något för genom att lägga till mellanslag på båda sidor om siffror mindre än 10.

with_variable('nummer', 14 - to_int(@grid_number/20),
if(@nummer<10, ' '|| @nummer || ' ', @nummer)
)

Ett annat sätt att undvika problemet helt vore att rotera siffrorna så att de skrivs ut vertikalt på sidorna, eller göra en indelning som inte passerar 9…

Nyhet från Geosupportsystem , orginal inlägg

Inlägget gjort

Kraften med Open Source

Har du hört talas om Gutenberg? I det här fallet menar jag den nya editorn för WordPress 5. Det verkar som att INGEN webbutvecklare som använder WordPress som plattform gillar Gutenberg… Men företaget bakom WordPress har ändå drivit igenom denna editor i den nya versionen av WordPress.

Så företaget bakom WordPress.org har antagligen sneglat på Wix med flera hosting leverantörer och dragit slutsatsen att de måste ändra på plattformen för att kunna konkurrera med dessa om användarna, men man verkar ha glömt alla tredjepartsutvecklare som inte gillar den nya editorn.

Källkoden för WordPress är GPLv2 (eller senare)…

Så gissa vad. Någon har skapat en ”fork” och nu finns ClassicPress.net på nätet.

Skärmklipp från 2018-12-07 15:16:00.png

Hur livskraftigt detta kommer att vara på längre sikt vet jag inte, men liknande saker har hänt tidigare när det varit synpunkter på den riktning ett open source projekt tagit.

När exempelvis skrivbordsmiljön Gnome gick till version 3 med stora förändringar så skapades flera ”forks” på Gnome 2. Det var exempelvis såhär skrivbordsmiljön Mate startade.

Hur ClassicPress kommer att utvecklas är som sagt för tidigt att säga, men med tanke på att det är så otroligt många som har invändningar mot Gutenberg så skulle jag bli förvånad om inte den här, eller någon annan fork kommer att leva vidare under lång tid framöver.

Är du webbutvecklare som använder WordPress för att skapa webbsidor så är du säkert redan medveten om ”problemet”, om inte så kanske du skall kika lite närmare på ClassicPress.

Den här bloggen skrivs med WordPress.com men det är inte jag som administrerar sidan. Det har under en längre tid tjatats om att en ”ny bättre editor” är på väg. Vi får väl se hur detta kommer att påverka mitt arbete med bloggen. Förhoppningsvis så kommer det inte att betyda någonting, annars får vi väl se vad som händer…

Nyhet från Geosupportsystem , orginal inlägg

Inlägget gjort

User question of the Month – Dec 18 & answers from Nov

It’s December and that means it is time to plan for the next year. Planning also means preparing a budget and to do so, we would like to learn more about what you think QGIS.ORG should focus on: features or bug fixing and polishing? Therefore, we invite you to our QGIS user question of December 2018.

Your answers in November

In November, we wanted to know which version of QGIS you use.

Nyhet från XXXXXX, orginal inlägg

Inlägget gjort

Call for presentations: QGIS User Conference and Developer Meeting, 2019

The next International QGIS User Conference and Developer Meeting will take place in the week from 4 to 10 March 2019 in A Coruña (Spain).
The International QGIS User and Developer Conference wants to be the reference conference for the QGIS community, a meeting point for the family of users and developers associated with the QGIS project. Attending the conference is an opportunity to gather experience and share knowledge about QGIS. The language of the conference is English.

Nyhet från XXXXXX, orginal inlägg

Inlägget gjort

Ett trick för kartlayouten

Vet du vad vinjettering är? Det är när en ”bild” ramas in av en gradvis övergång mot kanterna, till en annan nyans.

Med utskriftslayouter i QGIS så kan man skapa dessa genom att lägga ett bildlager ovanpå kartan och ”blanda” ner lagret på kartan, men om man vill dela mallen med andra så måste man ju även skicka med bilden, men då finns det andra alternativ också.

Del av tricket är att använda polygoner med gradientformfyllning (shapeburst fill). Men en vanlig rektangel ger lite ”kantigt” utseende.

Skärmbild från 2018-11-24 14-37-25.png

Det finns ovaler och man kan skapa runda hörn på rektangeln vilket skapar mjukare övergångar i hörnen, men detta betyder att man måste placera rektangeln utanför ”pappret” för att allt skall täckas. Problemet med detta är att det blir svårt att komma åt kartan under polygonen om man vill justera panorering eller zoom exempelvis.

Skärmbild från 2018-11-24 14-45-40.png

Men det är bara vana som gör att man placerar vinjetten över kartan…

Det går lika bra att lägga kartan över vinjetten och blanda kartan med bakgrunden i stället!

Skärmbild från 2018-11-24 14-48-19.png

Välj bara ”Multiplicera” som blandningsläge, men se till att ha full opacitet på lagret. Då kommer det som är vitt i bakgrunden att visa kartan i originalstil och allt annat blandas med bakgrundsfärgen.

Intenciteten på vinjetten styr man sedan med bakgrundspolygonens opacitet.

Layout 2.jpg

Exporten av layouten klipper sedan bilden efter den inställda storleken, så polygonen som sticker ut slipper man i exporterna.

I bilden ovan är vinjetten på tok för stark i mitt tycke, men den är i alla fall tydlig. Formen och intensiteten styr man med polygonen i bakgrunden, och numera går det ju att skapa i princip vilka former man vill på polygoner.

Layout 2

Vill man så går det att använda andra färger och andra blandningsalternativ också för att få en annan typ av effekt med vinjetten. Det går exempelvis att göra lite åt det motsatta hållet också, att skapa ljusa övertoningar.

Så länge man använder så mycket av de inbyggda funktionerna som möjligt i layouterna så blir det betydligt enklare att dela dessa med andra.

Nyhet från Geosupportsystem , orginal inlägg

Inlägget gjort

”Tron”

Jag bläddrade förbi en bild på nätet med en terrängmodell i ”trådstil” som simulerade 3D, tänk dig att höjdkurvorna steg upp ur kartan och svävade i luften.

Direkt tänkte jag att, det där borde gå att göra i QGIS. Så det blir dagens inlägg.

Till att börja med behöver jag lite höjdkurvor och det duger inte med Lantmäteriets då jag behöver veta vilken höjd de representerar. Jag får göra kurvorna själv från höjddata.

Skärmklipp från 2018-11-19 14:05:52.png

Intervall på 20 meter duger gott för ett test. Men jag vill nog ”jämna ut” och ”reducera” linjerna något.

Skärmklipp från 2018-11-19 14:09:13.png

Ett urval med uttryck och så är alla linjer kortare än 1000 meter markerade… och borta!

Sedan är det inte mycket mera kvar att göra än att använda geometrigeneratorn för att ytterligare förenkla och jämna ut linjerna.

Skärmklipp från 2018-11-19 14:29:20.png

Med geometrigeneratorn passar jag även på att förskjuta alla linjer ”uppåt” i förhållande till den höjd de representerar. De värden jag använder är beroende av intervall mellan höjdkurvorna och hur mycket jag vill ”flytta tillbaka” höjdkurvorna generellt (-100).

Som stil är det en enkel ljus linje med realtidseffekter som glöd (samma nyans men mörkare) och skugga.

När jag lägger till skugga så blir 3D effekten större, men jag måste även ändra renderingsordningen så att ”höga” höjdkurvor ritas ut överst. Denna inställning hittar du längst ner i lagerstilen under ”Lagerrendering”.

Sedan är det faktiskt inte mer jag behöver göra!

Skärmklipp från 2018-11-19 14:41:02.png

Ändra projektbakgrunden till en passande färg, och jag är nöjd! Kanske exportera till bild och göra ett snabbt tillägg i InkScape, så är inläggets titelbild klar…

Nyhet från Geosupportsystem , orginal inlägg

Inlägget gjort

Results of the MacOS bug fixing initiative

Thanks to your donations, we were able to hire core developers to focus on solving Mac OS specific issues for QGIS. More than 30 MacOS QGIS users donated a little more than 3000 € for this bug fixing round.

After an effort of triage and testing, here is what has been achieved:

Unfortunately, some issues remain. Mainly, the text being rendered as outlines in PDF export (https://issues.qgis.org/issues/3975) remains for now. It might be fixed in a following effort.

Thanks to all donors who helped in this effort and to Denis Rouzaud as a core developer who spent a lot of time investigating and fixing these issues!

Nyhet från XXXXXX, orginal inlägg

Inlägget gjort

Flexibilitet med texter i layout

Etiketter för vektorobjekt i kartan kan stilsättas med enorm frihet. Etiketter i layout erbjuder  inte riktigt lika stora möjligheter.

Men det finns vägar runt begränsningarna om man inte är nöjd med det som erbjuds.

Skärmklipp från 2018-11-11 18:57:14.png

Typsnitt, stil, storlek och färg… Det är i princip det du kan göra med de inbyggda alternativen för texter, och väldigt ofta så räcker det. Men i bland vill man lite mer och då är alternativet just nu HTML och CSS.

Skärmklipp från 2018-11-11 19:05:52.png

För att använda CSS krävs det bara en <style></style> tagg och någon tagg att förankra stilen till, exempelvis <p></p>, där man kan placera texten som skall skrivas ut. Så länge man inte ändrar typsnitt, stil och färg med CSS så kan man använda ordinarie dialoger för detta.

Man behöver sällan ”kräma på” med massor av stilar, utan ofta så är det bara någon liten detalj man vill ändra, men här skall jag kräma på rejält.

letter-spacing: 10pt;
word-spacing: 20pt;
text-shadow: 2pt 2pt 3pt #0007;
-webkit-text-stroke-width: 1px;
-webkit-text-stroke-color: black;
line-height: 1.5;

Ovan är några CSS stilar som kan användas i QGIS.

Letter- och word-spacing är ganska självförklarande och blir ganska effektivt när man skapar ”kraftfulla” titlar.

Text-shadow kastar en skugga på angivet avstånd (x och y) med en angiven ”spridning” samt lämplig färg. Ovan har jag gett exempel med rgba med enkla siffror, men vill du ha mer kontroll så går det även att använda dubbla siffror (#rrggbbaa). Vill du ha mindre kontroll så går det att ange färg med text (black, red, blue).

Text-shadow är lite speciellt då det går att lägga till flera skuggor i samma stil. Separera bara dessa skuggor med ett kommatecken. Ett exempel kommer längre ner. Det kan även hända att skuggan inte renderas helt utan klipps på slutet. Detta går att komma runt genom att lägga in en ”kod” för blanktecken &nbsp;

Skärmklipp från 2018-11-11 20:40:10.png

Klippningen av skugga kan förekomma även vertikalt, och för detta vet jag faktiskt inte vad lösningen är, och jag har provat en hel del (exempel bilden ovan). Det verkar vara väldigt beroende på vilket typsnitt man valt, så om ett typsnitt får klippt skugga, prova med ett liknande och se om det fungerar.

Vill man ha en kantlinje på texten så gör man det med webkit. Då behövs det två rader för att det skall fungera. En rad med färgen och en med tjockleken. Tjockleken kan tyvärr inte styras så det blir bäst effekt med ganska tunna linjer.

Skärmklipp från 2018-11-11 19:47:11.png

Vill man styra font med CSS så går det. Då använder man exempelvis följande stilar.

font-family: Arial;
font-style: italic;
font-size: 24pt;
font-weight: bold;
color: #dd443f;

Det finns sedan ganska mycket till som går att göra, inklusive kombinera stilar och texter i lager, samt ”blanda” dessa med varandra, så med CSS är man helt plötsligt inte så begränsad längre.

Skärmklipp från 2018-11-11 21:08:07.png

Det går att skapa ganska fantasifulla etiketter i en layout, om man bara har lite tålamod. Men jag får ändå varna lite för väldigt mycket CSS i QGIS. Det kan nämligen hända att layouten blir lite långsammare att uppdatera och hantera med mycket CSS aktiverat.

Någon gång i framtiden så kanske vi får fler stilalternativ för texter i layout, så att man kan stilsätta texter precis på samma sätt som för etiketter i kartan.

Vill man sedan göra en mer statisk text av lite speciellt snitt, så kan man ju alltid skapa en SVG i Inkscape. Där har man betydligt större frihet att jobba ”grafiskt”. Det går ju även att göra kartan i övrigt klar och sedan exportera den till exempelvis Inkscape och göra hela layouten färdig där.

Nyhet från Geosupportsystem , orginal inlägg

Inlägget gjort

Gör teckenförklaringen vacker

Det finns möjlighet att lägga till en teckenförklaring i QGIS layout, men är det någon som tycker att standard är snygg?

Det ändrar vi på i detta inlägg.

Utgångsläget är Lantmäteriets terrängkarta i vektorformat, med de vanligaste lagren tillagda.

Skärmklipp från 2018-11-10 14:09:14.png

Som standard läggs allt som finns i kartan till i teckenförklaringen, vilket i fallet med vektordata ofta är lite väl mycket…

Skärmklipp från 2018-11-10 14:10:49.png

Första steget för mig är därför alltid att filtrera teckenförklaringen så att endast symboler som faktiskt används i kartbilden visas i teckenförklaringen. Några andra symboler skall inte behöva förklaras, eller?

Men detta är fortfarande för mycket.

Nästa steg är att plocka bort alla lager som inte behöver förklaras. Här får man ha lite fingertoppskänsla och göra en bedömning av vad de som skall använda kartan behöver få förklarat. En del punktsymboler är tämligen självförklarande och att en svart kantig regelbunden polygon stor som ett hus, faktiskt är ett hus, kanske inte behöver förklaras.

Skärmklipp från 2018-11-10 14:16:45

Något jag gillar i QGIS är att det faktiskt går att plocka bort enskilda symboler från ett lager i teckenförklaringen. När som i bilden ovan tecknen för Kyrka och Kyrka, mindre är i princip de samma så kanske det räcker med en av dessa? Bara att markera och klicka det röda minustecknet.

För att det skall gå att redigera detaljer i teckenförklaringen så måste du först avmarkera ”Uppdatera automatiskt”.

Skärmklipp från 2018-11-10 14:21:55.png

Sådär, nu får teckenförklaringen snart plats på pappret…

Jag kan tycka att lagernamn och rubriker är överflödiga så dessa brukar jag också plocka bort. Detta måste man dock göra genom att döpa om dem till tomma textsträngar. För att ändra namn funkar det att dubbelklicka på texten. Om man tar bort med minusknappen så försvinner hela lagret från teckenförklaringen.

Om man tar bort ett lager av misstag, så går det att ta tillbaka med den gröna plus-knappen.

När de symboler man vill ha med är på plats kan man även passa på att se över texter och symbolordning. I bland duger det att symbolerna är i bokstavsordning, men i bland kan det vara trevligt att samla symboler i kategorier (exempelvis typer av bebyggelse). Du kan flytta runt symboler inom respektive lager precis som du vill med knapparna ”upp” och ”ner”. Det går dock inte att flytta ut en symbol från sin lagergrupp.

Skärmklipp från 2018-11-10 14:34:23.png

Nästa sak att fundera på för att ytterligare reducera teckenförklaringen är om det verkligen behövs så stora typsnitt i teckenförklaringen?

Som standard är dessa satta så att de ser skapliga ut på skärm, men i tryck så behövs det sällan så stora teckensnitt. Jag minskar ner mina texter till runt 7-8 punkter (max).

Man kan även välja ett ”tunnare” teckensnitt för att göra texterna ännu mera kompakta. Men inget av detta gör teckenförklaringen speciellt mindre i höjd. För det så måste vi även ändra symbolernas storlek och separationen mellan olika element.

Skärmklipp från 2018-11-10 14:43:58.png

Symbolerna kan göras något mindre och glöm inte att det finns decimaler i måttangivningen. Om 2 mm i höjd känns litet, så kanske 2,5 fungerar i stället för 3? Har du en teckenförklaring med 40 symboler så gör ju detta trots allt 2 centimeters skillnad.

Jag har vare sig titlar eller gruppnamn, så dessa ”separationer” kan jag enkelt sätta till noll, men jag behåller gärna symbolseparationen som den är.

Nu är min teckenförklaring fortfarande väldigt hög i förhållande till bredden, vilket kan fungera för just den här kartan, men det går även att dela upp teckenförklaringen på flera kolumner.

Skärmklipp från 2018-11-10 15:03:32.png

Sedan är det finjustering kvar. Lägga till lite fler detaljer i layouten, gå tillbaka och justera något i teckenförklaringen om det behövs. Sedan har man en trevlig och användbar teckenförklaring även för en liten utskriven karta, utan att man behöver skämmas.

Nyhet från Geosupportsystem , orginal inlägg

Inlägget gjort

User question of the Month – Nov 18

QGIS 2.18 is the third LTR since we started this effort back in 2015 and next year will see the first LTR of QGIS 3. On this occasion, we want to learn more about our users and which versions of QGIS they use. Therefore, we invite you to our QGIS user question of the month.

Nyhet från XXXXXX, orginal inlägg