Viktigt

Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.

16.3. Lektion: Import och export

En databas som inte har något enkelt sätt att flytta data till och från den skulle naturligtvis inte vara till någon större nytta. Lyckligtvis finns det ett antal verktyg som gör att du enkelt kan flytta data till och från PostGIS.

16.3.1. shp2pgsql

shp2pgsql är ett kommandoradsverktyg för att importera ESRI Shapefile till databasen. Under Unix kan du använda följande kommando för att importera en ny PostGIS-tabell:

shp2pgsql -s <SRID> -c -D -I <path to shapefile> <schema>.<table> | \
  psql -d <databasename> -h <hostname> -U <username>

Under Windows måste du utföra importprocessen i två steg:

shp2pgsql -s <SRID> -c -D -I <path to shapefile> <schema>.<table> > import.sql
psql psql -d <databasename> -h <hostname> -U <username> -f import.sql

Du kan stöta på detta fel:

ERROR:  operator class "gist_geometry_ops" does not exist for access method
"gist"

Detta är ett känt problem som gäller skapandet in situ av ett spatialt index för de data du importerar. Undvik felet genom att utesluta parametern -I. Detta innebär att inget spatialt index skapas direkt och att du måste skapa det i databasen efter att data har importerats. (Skapandet av ett spatialt index tas upp i nästa lektion)

16.3.2. pgsql2shp

pgsql2shp är ett kommandoradsverktyg för att exportera PostGIS-tabeller, vyer eller SQL select-frågor. För att göra detta under Unix:

pgsql2shp -f <path to new shapefile> -g <geometry column name> \
  -h <hostname> -U <username> <databasename> <table | view>

För att exportera data med hjälp av en fråga:

pgsql2shp -f <path to new shapefile> -g <geometry column name> \
  -h <hostname> -U <username> "<query>"

16.3.3. ogr2ogr

ogr2ogr är ett mycket kraftfullt verktyg för att konvertera data till och från PostGIS till många dataformat. ogr2ogr är en del av GDAL-biblioteket och måste installeras separat. Om du vill exportera en tabell från PostGIS till GML kan du använda det här kommandot:

ogr2ogr -f GML export.gml PG:'dbname=<databasename> user=<username>
        host=<hostname>' <Name of PostGIS-Table>

16.3.4. DB Manager

Du kanske har lagt märke till ett annat alternativ i menyn Database som heter DB Manager. Det här är ett verktyg som ger ett enhetligt gränssnitt för interaktion med spatiala databaser, inklusive PostGIS. Det låter dig också importera och exportera från databaser till andra format. Eftersom nästa modul till stor del handlar om att använda det här verktyget kommer vi bara att nämna det kort här.

16.3.5. Sammanfattningsvis

Import och export av data till och från databasen kan göras på många olika sätt. Speciellt när du använder olika datakällor kommer du förmodligen att använda dessa funktioner (eller andra liknande) regelbundet.

16.3.6. Vad händer härnäst?

Nu ska vi titta på hur man söker efter de data som vi har skapat tidigare.