PostGIS till QGIS

Om du använder QGIS så är det ganska troligt att du brukar hantera dina data och lager i shapefiler. När QGIS skapades så var däremot ett av syftena att jobba mot databasen PostGIS.

Det finns massor med inbyggda funktioner i QGIS för att optimera datahantering mot PostGIS och inte minst Boundless lägger massor med tid och pengar på att förbättra denna integration ytterligare.

För QGIS så finns det installationsprogram och det är förhållandevis enkelt att komma igång, men för PostGIS blir det lite krångligare, men då har jag skapat ett skript som löser detta åt dig, åtminstone på Ubuntu.

Linux (Ubuntu klient eller server)

wget https://github.com/klakar/geosupportsystem/raw/master/postgis.sh
sh postgis.sh

Mac

Det enklaste är att hämta och installera en App från http://postgresapp.com/

Windows

  1. Hämta filer från http://www.enterprisedb.com/products-services-training/pgdownload
  2. Använd ”Stack builder” för att lägga till PostGIS som Add-on
  3. Hämta och installera PostGIS från http://download.osgeo.org/postgis/windows/

(Mer detaljer finns på http://postgis.net/install/)

Om du vill administrera databasen med flera användare och kanske skapa flera databaser så kan du hämta pgAdminIII (http://www.pgadmin.org/).

I fallet med Ubuntu och mitt skript så går det dock att ansluta och skapa nya PostGIS data direkt från QGIS.

Screenshot from 2014-08-03 11:50:33

Jag gillar Boundless insticksprogram ”OpenGeo Explorer”, som dessutom kan koppla upp sig mot GeoServrar och för PostGIS är det väldigt enkelt att ansluta och sedan lägga till data i den publika katalogen som finns som default.

Screenshot from 2014-08-03 11:58:17

När databasen är ansluten så markerar man den i OpenGeo Explorer (Public) och klickar på knappen för att lägga till tabell (bild ovan).

Sedan fyller man i ett lagernamn (1) och lägger till fält (2) som döps och anges med typ samt om de är obligatoriska.

Skall det vara ett kartlager så måste man även skapa en passande geometri (3) samt ange vilket SRID som skall användas (3006 är SWEREF99TM). Är det mycket data så kan ett rumsligt index vara bra att skapa (5).

När detta är gjort så är det bara att dra in och släppa de tabeller (lager) som man vill ha med i kartan.

Om man redan har data i ett annat format så är det inte mycket krångligare att läsa in dessa i PostGIS heller.

Det finns massor med fördelar att hantera data i PostGIS men något som de flesta brukar tycka är bra är bland annat:

  • Spara lagerstilar tillsammans med data och ange standardstilar för olika lager.
  • Snabbare utritningar på skärmen genom bland annat förenkling på serversidan (Lageregenskaper – Rendering).
  • Längre fältnamn och fler datatyper.
Reflektioner

Skriptet jag använder installerar förutom databasen ”geodata” även en malldatabas som kan användas i pgAdminIII för att skapa nya databaser.

Skall du använda PostGIS på en server och dela anslutning med flera användare och kanske även använda databasen mot publika Internettjänster så skall du absolut använda pgAdminIII för att exempelvis lägga upp användare och rättigheter för databaser och tabeller. Användaren ”postgres” är en root-användare (administratör) som är mindre lämplig att använda i dessa situationer.

Läs mer i tidigare inlägg: Lite QGIS, läs även kapitlet Säkerhet i Egen Server för Geodatatjänster (pdf).

Annonser

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: