MapProxy en öppen ”cache” för webbkartan

QGIS Server är nog bland det effektivaste man kan få tag i för att skapa snygga webbkartor i en miljö där QGIS redan används på klientsidan.

Men QGIS Server är inte speciellt snabb på att rendera WMS tiles till klienter, om man jämför med system med en bättre cache funktion.

För att förbättra detta så kan man använda en kart-proxy mellan kartservern och WMS klienterna. Det är just det som MapProxy är.

mapproxy-overviewPå hemsidan (klicka på bilden ovan) kan man bland annat läsa att MapProxy kan snabba upp vilken WMS server som helst med 10 till 100 gånger!

Förutom att ”cacha” alla resultat så kan man även ”seeda” lager, vilket i praktiken genererar en cache i förväg för att snabba upp processen ytterligare.

Installation sker enligt instruktion på hemsidan med fyra terminalkommandon (på Linux):

sudo apt install python-imaging python-yaml libproj0
sudo pip install mapproxy
mapproxy-util create -t base-config ./
mapproxy-util serve-develop ./mapproxy.yaml -b 0.0.0.0

Notera att jag modifierat det sista kommandot för att kunna komma åt demon från en webbläsare på en annan dator i nätverket. ”-b 0.0.0.0” fixar detta och om det utelämnas så kommer endast ”localhost” att fungera.

Allt ovan behövs inte i mitt fall, medan annat måste läggas till först. Exempelvis så behövs:

sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt update
sudo apt install python-pip
sudo apt install libgeos-dev

Jag kör en snabbis där jag installerar QGIS Server på Ubuntu 16.04 i enlighet med ett tidigare inlägg (länk). Det visar sig dock att jag inte behöver QGIS server för att testa, så jag installerar om med Ubuntu 14.04 LTR, vilket inte fungerar med nätverksinställningarna, så jag installerar en tredje gång med 16.04 igen. Vad glad jag är att det inte är Windows Server. Då hade en enda installation varit ett heldagsprojekt, nu gick alla tre installationerna på runt 40 minuter.

Skärmbild_2017-04-01_13-43-12

Demon (http://ipadress:8080/demo) hämtar och cachar data från Open Street Map, så någon egen server behövs inte för att prova.

Skärmbild_2017-04-01_13-47-31.png

Demokartorna följs av Javaskriptkod som exempel.

Skärmbild_2017-04-01_14-04-32.png

På servern så lagras sedan alla cachade bilder i en egen katalog, med en logisk om än inte enkel sökväg.

Att det blir skillnad när man återbesöker områden är det ingen tvekan om. Man skall dock vara medveten om att mellanlagring av mycket data tar plats!

Det går att göra ganska mycket med MapProxy som jag inte haft tid att titta närmare på, men skall man sätta upp en QGIS Server, så kan det vara idé att titta lite närmare på MapProxy, eller en annan liknande cache för att snabba upp tjänsterna.

Advertisements

Taggar:,

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: