I två tidigare inlägg i veckan har jag använt PHP för att ladda upp bilder till en server och Javaskript för att visa var bilderna är tagna på en karta. I PHP har även positionsdata skrivits till en PostGIS databas.
Nu tänkte jag ta PostGIS data och lägga på detta som ett lager i kartan som används i steg ett…
Ett sätt är att använda QGIS Server och helt enkelt lägga till ett WMS lager i javaskriptet som visar dessa data i kartan. Det blir dock med Leaflet bara ett lager där bildpunkterna visas med en symbol:
L.TileLayer.WMS("http://192.168.0.25/cgi-bin/qgis_mapserv.fcgi?VERSION=1.3.0&map=/qgis/foton.qgs", { layers: 'foton', format: 'image/png', transparent: true, minZoom: 7 }).addTo(map);
Koden ovan måste som tidigare anpassas till de rådande förutsättningarna och mer detaljer hur man skapar kartlager från QGIS Server finns i boken om att skapa en egen server för geodatatjänster.
Det går att använda GetFeatureInfo och ett AJAX-anrop för att hämta WMS data när man klickar på ett objekt, men det är lite omständligt.
Ett annat sätt är att lägga till lagret i Geoserver och skicka tillbaka det som ett GeoJson-lager.
…vilket säkert inte är så svårt, men det får nog vänta till nästa vecka, för nu har jag kört fast.