Nyligen släpptes Beta 2 av Leaflet 1.0, så det är inte så avlägset innan vi får se en ny release av LeafletJS.
Version 0.7.3 från 2013 har varit den vanligast förekommande versionen väldigt länge, men det finns faktiskt en uppgradering ute sedan en tid tillbaka, nämligen 0.7.5 (september 2015).
Varför ger man då ut en uppgradering till 0.7 versionen så nära release av 1.0?
1.0 är inte helt igenom kompatibel, så det kan ta ett tag att byta avancerade tjänster till ett nytt bibliotek. 0.7.5 är kompatibel, men löser några mindre problem som fanns med 0.7.3, och därmed kan de som använder 0.7 versionen få lite andrum till innan de gör det faktiska bytet till 1.0.
I detta inlägg använder jag 0.7.5 för att göra en så enkel bas att bygga vidare på som möjligt där jag skall kunna skapa så kallade Tiles i QGIS och sedan enkelt visa dessa i en webbläsare. Det finns lite plugin för Leaflet i QGIS, men dessa förutsätter att man använder webbkartor. Jag kommer att börja med något av dessa plugin och titta på vad jag kan göra för att modifiera det för att hantera mina egna lokala tiles.
Jag började titta på ”qgis2web” som kan exportera till såväl Leaflet som till OpenLayers3, men innan jag går vidare med det så upptäckte jag en liten kryssruta längst ned i QTiles, som jag tror kommer lösa väldigt mycket av det jag vill göra (bild ovan).
I bilden ovan satte jag maximal zoom 20, vilket är väldigt hög upplösning, eller nära marken i ett fågelperspektiv. För mitt valda testområde så skulle det betyda att jag behövde rendera flera miljoner tiles, så jag minskade till 16 och då blev det bara 75’000 tiles.
Jag tror jag följer upp detta inlägg med något om tiles och hur stora dessa är för att göra det enklare längre fram att välja relevanta zoom nivåer.
När jag nu provar så genererar jag tiles från en WMS tjänst från Lantmäteriet, men det går naturligtvis att använda vilka data som helst egentligen. QGIS hanterar renderingen och så som det ser ut i QGIS kommer de genererade rutorna också att se ut.
Att basera dessa tiles på en WMS tjänst är nog inte det bästa. Tiles är väldigt fasta i sina zoom nivåer, men det är WMS också. Det blir därför lite konstigheter med resultatet, som man kan undvika om man verkligen renderar resultatet i QGIS och inte bara visar bilder som renderats någon annanstans.
Det blev även ett intressant reglage i högerkant som gör att det genererade lagrets transparens kan justeras så att en bakgrundskarta lyser igenom. Det är inget jag behöver just nu, men kan vara av intresse för någon annan.
Den html-fil som genereras är enkel att redigera, och om man som jag vill använda lokala skript i stället för CDN bibliotek on-line så blir det inte så svårt det heller.
Skriptet använder JQuery, vilket jag inte är så van vid så det blir nog att byta till en variant på kod utan detta. Jag kommer även att baka in ”Bootstrap” för att det skall passa på flera plattformar/skärmstorlekar och jag kommer att lägga till lite informationsrutor för att hantera exempelvis visning av koordinater.
En kopia på detta kan jag sedan förvara på lämplig plats och det enda jag behöver göra sedan är att generera nya tiles över ett område och kopiera dessa till tiles-katalogen. Några punkter i skriptet behöver säkert redigeras också, men det kan fungera bättre att lyfta ut allt detta i en separat javaskriptfil, som blir enklare och säkrare att redigera utan att man ställer till något i den fungerande koden.