Hittills har jag fokuserat på servern och hur man enklast och snabbast kan få fram en webbkarta inbäddad på en webbsida. Inte speciellt svårt och allt väsentligt är beskrivet i instruktionen för att skapa egen server för geodatatjänster under ”Testa Själv” på dessa sidor.
Alla steg från QGIS projekt, via QGIS-Server och GeoExplorer till en webbkarta finns beskrivna, men även mer handgripliga exempel med Leaflet och OpenLayers. Inget av detta är dock superenkelt, även om det inte är svårt. Om man vill publicera tjänster som lager i en webbkarta någorlunda regelbundet så vore det ju bra om saker och ting gick att förenkla.
Nu har jag inte tänkt färdigt, men jag har testat så mycket att jag förstått att det finns minst en lösning som jag tänkte beskriva här.
- För det första så hanteras lager i kartan med rader i ett javascript. Är det samma typer av lager (WMS från QGIS Server) så är det samma struktur på alla dessa lager.
- För det andra så går det att läsa exempelvis JSON filer med den typ av information som dessa lager består av och skriva dessa direkt till webbsidan dynamiskt (DOM).
- Det går för det tredje att skapa JSON filer med Pythonskript, och med pyQGIS så kan man söka igenom och läsa QGIS projektfiler i en katalogstruktur…
Är det då så svårt att skapa ett Plug-In i QGIS som söker igenom en angiven sökväg efter QGIS-projekt och skriver dessa med lager tillsammans med en angiven bas-url till en JSON-fil, som i sin tur läses dynamiskt av en Leaflet/OpenLayers sida där grundlager är definierade i förväg, men alla lager läggs till dynamiskt?
Det finns även ett ganska nytt plug-in som genererar Leaflet sidor direkt från QGIS, men då görs data om till GeoJSON först. Kanske kan ”forka” det projektet och testa lite…
Suck! Tänk om det fanns lite mera tid så man kunde prova…