QGIS Server vs GeoServer
Det händer ibland att någon kollega frågar “kan jag få en karta?”, varpå du svara “javisst, alltid kul att göra en karta”. Du gör en karta och skickar iväg den som en pdf-fil.Sedan kanske det händer igen. Och igen. Och igen. Du börjar kanske bli lite trött på att vara en kartmaskin i något skede och börjar fundera på om det inte finns något lättare sätt att sköta den här ruljansen. Vad du behöver är ett sätt att dela geodata på.
Kanske har du en hög med fina filer som du laddat upp i en databas. Du kan såklart ta direkt kontakt med databasen via till exempel Databashanteraren i QGIS och det fungerar fint på ditt jobb. Men nu vill din kollega (vi kallar honom Folke) också ha tillgång till samma geodata som ligger i databasen. Problemet är bara att Folke är ganska klumpig när det gäller datorer. Till exempel skickade han listan på allas “secret santa” per e-post till alla på kontoret, dagen före jobbets julfest.
För att vi ska kunna hantera olika personers tillgång till databasen kan vi såklart skapa flera användare och reglera deras rättigheter med olika SQL-kommandon, men det blir ganska omständligt att hålla reda på allt och alla. Dessutom anser IT-avdelningen att det alltid finns risker med direktkontakt med databasen, och de säger att de går i strejk om Folke får direkt tillgång till databasen.
Chefen (vi kallar henne Berit) har också bestämt att vi nu ska dela geodata även med andra avdelningar på jobbet. Grafikerna (Vincent och Cassiopeia) behöver färdiga snygga kartor som bakgrund för deras verk.
Du bestämmer dig för att du behöver en server som kan fungera som mellanhand mellan databasen och slutanvändaren. Där ska du ha möjlighet att reglera tillgången till data och dela ut användarroller. Men vad har du för alternativ?
Du behöver en tjänst av någon slag. Kärt barn har många namn, och det kan vara svårt att veta när det finns många namn för (ibland delvis) samma sak. Här är en lista på några begrepp man stöter på och en tolkning som enbart baseras på Gispos erfarenhet. Ifall du har några bra uppslagsböcker med GIS-relaterad vokabulär så får du väldigt gärna sända oss ett exemplar. Vi bjuder på fika åt den första.
| Begrepp | Vår tolkning |
| Geodatatjänst | Ett begrepp som innefattar nedladdningstjänster, direktåtkomsttjänster och visningstjänster för geografiska data. Ibland kan det även tolkas som enbart någon av de tidigare nämnda tjänsterna. |
| Gränssnittstjänst | Ett bredare begrepp som innebär en uppsättning definierade regler och protokoll som tillåter olika programvarusystem att kommunicera och utbyta information med varandra. Det finns många olika gränssnittstjänster, t.ex. REST och SOAP, men eftersom vi fokuserar på geodata så är vi mer bekanta med WMS, WFS och så vidare. |
| Karttjänst | En tjänst som levererar kartor. Till exempel WMS, WMTS men ofta nämns också WFS. Det kan kanske debatteras om WFS verkligen borde tillhöra den här familjen, för WFS levererar geodata och inte en kartbild. Vi har stängt av kommentarerna på detta blogginlägg så ni får gräla om det någon annanstans. |
| Kartdelningstjänst | Ett begrepp som vi stött på ganska sällan men skulle högst antagligen syfta på samma sak som “karttjänst”. |
| Nedladdningsstjänst | En tjänst för att ladda ner geografiska data, t.ex. STAC. Kan tolkas som att den inte ger direktåtkomst. |
| Visningstjänst | En tjänst för att se kartor, så t.ex. En WMS- eller WMTS-tjänst. |
Du kanske upplever att tabellen ovan inte gjorde dig smartare, utan snarare kollrade bort dig ännu mer. Ingen panik. Vi på Gispo delar den känslan. Kanske bäst att bara gå vidare?
QGIS Server eller GeoServer – hur ska man välja?
Det finns många alternativ till att dela geodata, men chefen påstår att marknadsläget inte tillåter höga utgifter, så du undviker alla alternativ med licensavgift. Istället kollar du in några som är byggda på öppen källkod. QGIS Server känns nära till hands, för du använder redan QGIS till det mesta. Men du har även hört gott om GeoServer. Vilken ska man då välja?
Valet av geodataserver kan vara svårt och man måste inleda med att klargöra sina egna behov. Här är några frågor du måste ställa:
- Vad behöver jag dela?
- Till vem behöver jag dela?
- Hur vill jag sköta konfigureringen?
- Hur mycket behöver jag dela?
- Hur ser framtidsplanerna ut?
- Hur ser vår IT-infrastruktur ut?


Vad behöver jag dela?
Ifall du vill dela kartor så behöver du en WMS, WMTS eller OGC API – Tiles- tjänst. Vänta lite, nu blev det kanske lite många förkortningar. Kolla tabellen nedanför för att få en överblick över tjänsterna.
| Förkortning | Hela namnet | Förklaring | Datatyp* |
| WMS | Web Map Service | Standardiserad visningstjänst som ritar en ny karta varje gång du ber om det. | Raster |
| WMTS | Web Map Tile Service | Standardiserad visningstjänst som tar färdiga “bilder av kartan” från ett lager och levererar dem. | Raster |
| OGC API – Maps | Open Geospatial Consortium Application Programming Interface – Maps | Standardiserad visningstjänst som är ett slags uppföljare till WMS | Raster |
| OGC API – Tiles | Open Geospatial Consortium Application Programming Interface – Tiles | Standardiserad visningstjänst som är ett slags uppföljare till WMTS | Raster |
| WFS | Web Feature Service | Standardiserad direktåtkomsttjänst. Du får alltså direkt åtkomst till geodata. | Vektor |
| OGC API – Features | Open Geospatial Consortium Application Programming Interface – Features | Standardiserad direktåtkomsttjänst som är ett slags uppföljare till WFS | Vektor |
| * Datatyp avser leveransformatet. Raster innebär en bild med pixlar, där varje pixel innehåller ett eller flera värden. Vektor innebär geometriska objekt innehållande attributdata. | |||
WMS och WMTS är alltså protokoll för hur man delar kartor som används väldigt brett världen över. Protokoll innebär ett slags regelverk för hur man ska dela kartan eller geodata. Men vill man vara ett steg i framtiden så bör man blicka mot OGC API – Maps och Tiles, för de för med sig samma funktionaliteter men i ett modernare format. I skrivande stund (december 2025) så verkar GeoServer ha moduler som redan stöder OGC API Maps och OGC API Tiles medan QGIS Server inte har det. Men vi kommer antagligen att se ett stöd för dessa protokoll i framtiden, eftersom arbetet för att inkludera dem redan verkar vara igång på Github.
Ifall du behöver dela geodata, alltså inte bara kartbilder, så behöver du WFS eller OGC API Features. Du kan alltså ladda ner data till din egen dator med dessa gränssnittstjänster. Med vektordata kan du sedan göra analyser och förädla data enligt behov.
WFS har ett brett stöd och du kan hitta det som standard på massvis av olika ställen, men vi kommer att se mer och mer av den nyare standarden OGC API – Features. Båda protokollen går att användas med både QGIS Server och GeoServer.
Men kanske du behöver dela något annat? Här är några till som du kanske kan ha nytta av:
| Tjänst | Stöds av QGIS Server | Stöds av GeoServer |
| CSW | Nej | Ja |
| WCS | Ja | Ja |
| WPS | Nej (finns ett föråldrat plugin) | Ja |
| OGC API – Coverages | Nej | Ja |
| OGC API – Processes | Nej | Ja |
| OGC API – Styles | Nej | Ja |
I vårt exempel (möjligen inspirerat av verkliga personer) så skulle till exempel kollegan Folke få tillgång till en WFS- och WMS-tjänst, medan grafikerna bara behöver tillgång till en WMS-tjänst.
Till vem behöver jag dela?
För att veta vilken geodataserver du ska välja så bör du veta ungefär vem du vill att ska få tillgång till tjänsterna. Kommer du att dela data öppet åt allmänheten, åt kolleger eller även utomstående, men bakom lösenord. Ifall du behöver mer rigorösa sätt att hantera användare och deras åtkomst så är GeoServer det mer naturliga valet. QGIS Server saknar ett inbyggt system för användarautentisering så då måste du lösa det utanför QGIS Server.
GeoServer har ett inbyggt användarautentiseringssystem där du kan konfigurera roller, grupper och använder. Dessutom finns modulen GeoFence som ger dig mer avancerade konfigurationsmöjligheter.
I exemplet så kunde man eventuellt luta mer mot GeoServer, där man kunde skapa en egen roll för användare som Folke, som behöver vektordata och bakgrundskartor, medan grafikerna kunde få mer begränsad tillgång till bara WMS-tjänster.
Hur vill jag sköta konfigurering?
Du kommer att hamna pilla på några inställningar nu och då, kanske lägga till eller ta bort någon tjänst och så vidare. Då kommer du att behöva konfigurera din geodataserver. Med QGIS Server så sker konfigureringen inne i QGIS. Det mesta hittar du under Projektegenskaperna.

GeoServer däremot har ett eget användargränssnitt som du öppnar upp i din webbläsare. Du kan tänka dig att du har en egen webbsida där du sköter alla inställningar. Visst, ifall du väljer GeoServer är du tvungen att använda en till grej förutom QGIS, men GeoServers användargränssnitt är ganska logiskt uppbyggt, så du kommer klara dig. För den riktigt inbitne så finns det faktiskt en möjlighet att konfigurera GeoServer med REST. Då kan man skapa skript som kan automatiseras och köras vid behov, istället för att göra konfigureringar via det grafiska användargränssnittet.
Hur mycket behöver jag dela?
Kommer servern att vara i bruk för ett begränsat antal personer, eller finns det en möjlighet att processen måste skalas upp så småningom? Finns det ett växande behov? Ifall du har behovet att skala upp så skulle antagligen GeoServer vara ett bättre alternativ. Det finns till exempel stöd för klusters och lastbalansering. Dessutom finns det ett inbyggt stöd för caching via GeoWebCache.
Du kanske inte riktigt hängde med vad caching är för något? Vi tar ett praktiskt exempel, först utan caching:
Folke vill ha en kopp kaffe med helmjölk så han skickar praktikanten Amir att hämta en kopp från fikarummet, men i fikarummet finns det inget färdigt kaffe och för att inte göra Folke besviken så kokar Amir en kopp kaffe och häller i en skvätt helmjölk och levererar den åt Folke. Det är så här en WMS-tjänst funkar. Med andra ord så gör Folke en förfrågan (request) på en kopp kaffe och för att få den så genererar WMS-tjänsten (i detta fall Amir) en kopp kaffe när Folke ber om det och levererar den till Folke.
Nästa dag är Amir förberedd. Han har kokat kaffet färdigt i en termos i fikarummet (på morgonen innan Folke anlänt). Igen sänder Folke iväg Amir för att hämta en kopp kaffe, men nu tar det mycket kortare tid för kaffet att komma, för Amir tar kaffet direkt från termosen och levererar en kopp åt Folke. Nu har Amir fungerat som en WMTS-tjänst där han lagrat (caching) kaffet i en termos, istället för att varje gång koka en ny kopp.
Caching i en geodatatjänst betyder alltså att man lagrar färdiga “bilder” på en karta som får en förfrågan, istället för att generera bilden varje gång på nytt. Det positiva är att själva leveranstiden blir kortare, men ifall data som bilden bygger på uppdateras så måste även cachen uppdateras. Ibland blir data föråldrat och även om vi uppdaterat datat men inte cachen så kommer vi att se “gamla bilder”. Till exempel så kanske Amir inte kan leverera samma termoskaffe nästa dag, eftersom data eller kaffet blivit föråldrat. Okej kanske inte världens bästa liknelse, men ni fattar galoppen!
Hur ser vår IT-infrastruktur ut?
Har ni redan QGIS och vill så snabbt som möjligt testa att dela data via en server så är QGIS Server ett behändigt alternativ. Det kräver inte särskilt mycket att komma igång. Ni kan behändigt konfigurera servern inuti QGIS (via projektegenskaperna).
Har ni redan IT-infrastruktur som bygger på Java och någon på kontoret som har annan bakgrund med Java-baserade program så kanske GeoServer är det naturliga alternativet. Om ni däremot gärna vill ha GeoServer men inte kunskapen så finns det kurser man kan gå.
Det finns inte heller något som hindrar er från att testa båda två. Båda bygger på öppen källkod så de är bara att ta i bruk, eftersom det inte kräver några extra kostnader.
Hur ser framtidsplanerna ut?
Vad har ni för visioner? Både GeoServer och QGIS Server kommer regelbundet med uppgraderingar och båda används världen över. Kommer era behov att ändra så kan det hända att ni får ställa samma frågor som vi ställt ovan på nytt, och ge dem nya svar.
Behöver ni hjälp?
Vi på Gispo erbjuder er vägledning och hjälp med att båda ta i bruk och upprätthålla geodataservrar. Hör av er för att diskutera mera. Ni når oss på info@gispo.se!
