Skriv inte ut från WMS!

I detta inlägg tittar jag lite närmare på vilka problem man kan ställas inför om man använder WMS eller WMTS tjänster i sitt GIS program, och vill skriva ut på skrivare.

Det grundläggande problemet är att WMS/WMTS är för-renderade bilder avsedda att visas på en skärm! Skärmar är typiskt 72 punkter per tum (jag räknar längre ner), medan skrivare med enkelhet brukar hantera 600 punkter per tum…

Det där med pixeltäthet på skärmen är dock lite vanskligt känns det som, så jag tar ett räkneexempel.

En full-hd skärm på 24 tum, får väl anses ganska normal. 24 diagonala tum är drygt 20 horisontellt, vilket fördelat på 1920 bildpunkter är 96 punkter per tum…

Nu räknar jag inte på UHD skärmar eller så kallade ”retina” skärmar, där upplösningen är högre på samma yta, men några 600 dpi är det ändå inte så låt mig fortsätta med 96 DPI som räkneexempel.

Om jag tar Lantmäteriets WMTS tjänst, som är renderad för en skärmskala på 1:30’236 (beräknat utifrån de fasta zoomnivåer som används i webbkartor), och exporterar denna från QGIS skärmläge får jag nedanstående.

skarmspar

Om jag visar kartan med exakt pixelmatchning för skärmen så ser den hur bra ut som helst!

Om jag istället växlar till utskriftslayout och skapar en karta så ser denna ganska OK ut på skärmen också, och om jag exporterar den till bild med 600 dpi får jag i princip samma bild, om jag visar den på skärmen. Men om jag i stället ställer in den på exakt pixelmatchning för skärmen så ser den ut så här:

skarmbild_2016-10-21_14-21-28

(Klicka på bilden för att visa i full upplösning)

Det ser ju inge vidare ut… Om jag exporterar i olika DPI och väljer ut samma område och lägger bilderna jämte varandra så ser man följande.

Skärmbild_2016-10-21_14-33-21.jpg

Såå… Om man inte bryr sig om hur andra objekt ritas ut i utskrifterna så verkar det inte spela någon roll att skrivaren kan hantera 600 DPI, det blir inte särskilt mycket bättre!

Om man sedan tittar på hur kartan ritas ut i layouten och hur den sedan renderas i utskrifter så har man ett möjligt problem, då dessa två ytor rent tekniskt inte är lika stora.

Skärmbild_2016-10-21_15-01-46.jpg

I bilden ovan är halva bilden hämtad från en skärmdump och halva är den resulterande utskriften. Olika upplösning (dpi) gör helt enkelt att olika tiles begärs från servern.

Sedan har vi ett annat problem, nämligen begränsningar i en del WMS/WMTS tjänster kopplat till skärmstorlek.

En ”tile” i en WMTS tjänst kan exempelvis vara 256×256 pixlar stor, vilket betyder att en full-HD skärm maximalt behöver runt 40 st tiles för att täcka skärmen. Om ditt GIS program försöker matcha pixlar mot DPI i en utskriftslayout så skulle en A3 karta betyda att det krävs runt 6’000 tiles! Även om GIS programmet är smart nog att koppla tiles till inställd skala så blir en A3 karta lätt 100 st tiles, och sedan ökar detta antal naturligtvis när pappret blir större.

Många WMS/WMTS tjänster har en inbyggd spärr för hur många tiles som levereras för varje begäran. Lantmäteriets WMTS verkar fungera ganska skapligt även för stora utskrifter men symptomen på detta problem brukar vara vita fält i utskrifterna där det helt enkelt saknas tiles.

Sammanfattning

Jag tänker inte förbjuda utskrifter från WMS, speciellt inte om man faktiskt anpassat sin WMS till en högre dpi för att underlätta utskrifter. Men om man använder exempelvis Lantmäteriets WMTS data, Google Maps eller Open Street Map, så skall man vara medveten om vilka begränsningar som finns i dessa tjänster.

WMS/WMTS är framtaget för att visa kartor på skärm, inte för att skapa snygga utskrifter! Vill man ha snygga utskrifter skall man välja data som kan representeras i upplösningar på 600 dpi eller högre, vilket i praktiken betyder vektordata!!

Så… om du vill skriva ut kartor använd vektordata eller väl anpassade rasterdata/-tjänster. Jag vill inte längre höra att ”Det blir så fult när jag skriver ut [infoga valfri WMS/WMTS tjänst] -kartor!”. Nu vet du varför det blir ”fult”.

Advertisements

Taggar:, ,

One response to “Skriv inte ut från WMS!”

  1. Backman Per says :

    Hej!
    Vid en simpel, mycket ovetenskaplig, jämförelse mellan utskrifter av Lantmäteriets wms:er via QGIS respektive MapInfo får jag mycket olika resultat. Bifogar 3 st pdf.
    TestwmsA4_QGIS.pdf är utskriven med QGIS egen funktion ”Exportera som pdf”
    TestwmsA4_300_qgis.pdf är utskriven med PDFCreator, inställd på 300 dpi
    TestwmsA4_300_mapinfo.pdf är utskriven från MapInfo med mapinfos egen ”Skriv ut till PDF”, inställd på 300 dpi.

    Som synes är detaljrikedomen mycket olika. För ca tre år sedan fick jag samma resultat som idag. För ca ett år sedan fick jag ungefär samma ”dåliga” bild från MapInfo som nu syns i qgisvarianterna. Nu har det alltså återgått till att det blir riktigt bra från MapInfo. En topografisk karta utskriven från MapInfo får utseendet av ekonomiska kartan/fastighetskartan vid skalor större än ca 1:19 000 och det typiska topografisk karta utseendet ned till ca 1:40 000. I QGIS har jag inte gjort motsvarande tester.

    Det förefaller som att LM ställt in zoomlägen/detaljrikedom olika för skärm respektive utskrift och att de olika programmen skickar olika signaler till utskriftshanteraren hos LM eller hur ska man tolka resultatet?

    /Per Backman

    Per Backman
    GIS och digitala kartor
    Tekniska Divisionen
    Nyköpings Kommun
    Tel 0155 24 81 15

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s

%d bloggare gillar detta: