Om du nu väntat dig ett inlägg om GeoJSON via GeoServer så får du ge dig till tåls lite längre. Det går att få fram data i GeoJSON format utan problem, men att öppna dessa med LeafletJs har visat sig vara betydligt svårare. Jag skall testa med OpenLayers också, men är det någon som vet hur man gör med Leaflet så får ni gärna höra av er.
Så länge så blir det lite QGIS. Inget direkt nytt, utan ”bara” lite exempel på hur man skapar och symbolsätter ett PostGIS lager.
I böckerna om QGIS och att sätta upp en egen server för geodatatjänster så går jag igenom i stort sett allt jag visar här.
Det enklaste är att använda Boundless verktyg OpenGeo Explorer som finns som insticksprogram för QGIS. Koppla bara upp dig mot PostGIS databasen och gå till ”Public”. Sedan finns det tre sätt (minst) att skapa en ny tabell. Knappen i överkant, högerklick och länken nedtill.
Döp tabellen och lägg till de attribut som önskas. Välj ett ”primärfält” och lägg till en geometrikolumn av önskad typ. Det går även att bestämma vilket koordinatsystem som skall användas (3006 = SWEREF 99TM).
När jag körde tabellen ovan så fick jag ett felmeddelande, men när jag matade in allt igen, fast med små bokstäver, så gick det bra (?).
Lägg till tabellen i QGIS genom att ”klick-dra-och-släpp” den i kartvyn. Det går att gå in i egenskaperna för tabellen (högerklicka på tabellen i OpenGeo Explorer) och göra justeringar och vissa ändringar om det skulle behövas.
För att underlätta redigeringen av data så är det lämpligt att gå in i lagrets egenskaper och anpassa ”Redigeringstyp”, ”Alias” och ”Redigerarlayout”. I bilden ovan så lägger jag till lite hjälpande text, gör en del förval och ställer in lite alternativ som skall göra det enklare att fylla i attributen. Resultatet ser du i bilden här nedanför.
Då är inmatning i QGIS avklarat. Det går att skapa ett formulär i PHP och göra inmatningen via LeafletJs och ett formulär på en webbsida, men det får vänta till en annan gång.
Lägg lite tid på att skapa snygga symboler och etiketter. Det lönar sig inte bara om man skall skriva ut en karta, utan även om man skall publicera lagret via QGIS Server.
Även om man inte tror att det spelar någon roll, så bör man alltid sätta ett skalintervall där data skall visas under allmänt i lageregenskaperna.
Om andra skall komma åt lagret via PostGIS så är det ett par saker som bör göras. För det första så måste man se till att alla dessa har användarnamn och inloggning som gör att de kommer åt data. Om ni har olika användarnamn så går detta att lösa genom att dela ut behörigheten direkt genom QGIS. Kör SQL-kommandot genom DBManager eller via OpenGeo Explorer:
GRANT ALL ON tabellnamn TO qgisusers;
Det ovanstående fungerar på tabellen ”tabellnamn” om du har skapat en användargrupp ”qgisusers” i PostGIS-databasen som behöriga är medlemmar i (se boken om egen geoserver, länk tidigare).
Det andra är att symboliken med mera bör sparas i databasen. Klicka bara på ”Spara stil” i lageregenskaperna så kommer valet ”Spara i databas” upp eftersom QGIS känner av att data finns lagrat där. Välj bara ett lämpligt stilnamn och sedan så kommer alla som vill använda lagret att få stilen aktiverad automatiskt.
Även det ifyllnadsformulär som skapats för attributen sparas i databasen, så även detta återanvänds för nästa användare.
Jag hade lite problem med att fälten inte tillät ”NULL”, eller tomma fält, och jag är inte säker på vad detta beror på. Det gick inte att ändra via OpenGeo Explorer, men i PgAdminIII så gick det bra.
Det som ordnats är nu:
- Data i PostGIS för QGIS (inklusive lageregenskaper).
- WMS/WFS via QGIS Server (om projektet sparats på servern).
- Dessutom tillgängligt för GeoServer m.fl. via PostGIS/WMS/WFS
Läs mer i QGIS på Svenska och Egen Server för Geodatatjänster.
0 svar på ”Lite QIGS…”