Jag har ju tidigare i veckan halvt om halvt utlovat något om hur man kan jobba med QGIS och Incskape för att skapa snyggare kartor, så jag får väl göra ett försök med det.
Tyvärr så har det inte gått så bra, åtminstone inte så bra som jag trott och hoppats. Inte nog med att Print Composer i QGIS är något begränsad i hur man kan utforma kartor, den är dessutom ganska dålig på export av SVG-filer. Det blir konstiga fenomen och vektorlager begränsas inte av dataramar med mera. Det senare går att fixa i Inkscape, men det stör mig att behöva jobba i onödan.
Dessutom så är Inkscape ganska dåligt på att hantera vektordata med många brytpunkter. Skall man exportera vektordata så måste man mer eller mindre förenkla komplicerade geometrier ganska rejält för att det skall gå att jobba med SVG i Inkscape över huvud taget.
Suck! Problemet med export och print composer ligger egentligen inte i QGIS, utan i Qt4 som är dålig på att hantera SVG. Inkscape använder GTK, som kanske är bättre i detta fall, men som sagt har begränsningar i data med många brytpunkter.
Lösningen på många utskriftsproblem behöver således inte vara att förbättra QGIS, utan Qt. Jag vet nu inte när eller om man planerar att gå till Qt5 med QGIS, men det finns säkert skäl att så inte har skett. Qt finns ju numera i version 5.3 och QGIS kör 4.8.3.
Om detta skulle lösa några SVG-problem vet jag inte heller så under tiden så får man hitta andra lösningar.
QGIS rekommenderar PS-format om man vill exportera vektorbilder, men det får jag att fungera ännu sämre. Bäst fungerar egentligen att exportera endast själva kartan med koordinatnät och en skalstock till TIFF i 600 dpi och sedan fixa layouten i LibreOffice Draw! Då kan allt annat fixas där och skalstocken används för att kontrollera att skalan blir korrekt.
Nåja, vi gör väl ett försök med Inkscape då.
Jag har en karta jag använt tidigare (ovan) som jag exporterar till svg. När jag öppnar i Inkscape så tar det lite tid men det blir snygga vektorer, men…
Som syns i bilden ovan så ”läcker” vektordata ut över kanterna, vilket innebär massor med onödigt arbete. Tittar man noga så ser man dessutom en mängd konstiga fenomen med svarta fält som man inte kan ha med i en färdig karta. Det verkar dock som att detta är ett problem på skärmen när data ritas ut, för om man zoomar in så ser det jättebra ut.
Nåja, processen är följande:
- Skapa ett nytt tomt dokument med rätt pappersformat.
- Importera (ctrl + i) den skapade svg-filen.
- Skala bilden till rätt storlek (shift + ctrl + m), bilden måste vara markerad när detta görs.
- Placera bilden korrekt på ”pappret”.
- Skapa en rektangel kring det som skall vara kvar (obs i samma lager som bilden, shift + ctrl + l för att visa lager)
- Med rektangeln överst i lagret markera allt (ctrl + a)
- Välj i menyn Objekt – Klipp – Sätt.
Om du var förutseende så skapade du även en kopia av rektangeln som inte var markerad med övriga, eller placerades i ett eget lager. Denna kan då användas som ram med exakt samma mått som det som klippts.
Tyvärr är det bara texter skapade i print composer som kan redigeras i Inkscape. Alla andra texter har konverterats till polygoner. Det går däremot utmärkt att skapa nya texter och grafik, men även att rätta till den där vägen som gick lite onödigt nära sjön för att det skall bli tydligt i den här skalan. Se till att kartbilden är avgrupperad så går det att redigera varje enskild nod i hela kartan (förutsatt att det är vektorer).
I bilden ovan är kartan klippt, men det enda i övrigt jag gjort är att jag har lagt till en ram runt kartan. Här kan du dock bli hur kreativ du vill och det kan vara vits att skapa en layout i förväg utan karta och ha några mallar liggande för att snabbt kunna importera svg-kartor.
Utskriften till PDF (bilden ovan) blev bra, utan svarta fält (puh!).
Utvärdering
Metoden är lite krånglig, men jag tror att om man skapar de vanligaste kartlayouterna i förväg i Inkscape, eller ett annat motsvarande ritprogram så har man väldigt mycket tid att vinna. Är man bara noga med skalan, och här är en exporterad skalstock från QGIS nyckeln, så blir arbetsflödet ganska hanterbart. Eftersom det är lite tungjobbat med många brytpunkter så skall man framför allt använda metoden med kartor med få brytpunkter sammanlagt.
Jag väntar fortfarande på den dag när det går att skapa lika mycket vektorgrafik direkt i QGIS, och inte minst att det blir en koordinatnätsfunktion värd namnet i print composer.
[För inlägget ovan har jag bland annat använt mig av den här dokumentationen]