16.3. Lesson: Importeren en exporteren

Natuurlijk zou een database zonder eenvoudige manier voor het in en uit migreren van gegevens niet van veel nut zijn. Gelukkig zijn er een aantal gereedschappen die u gegevens eenvoudig in en uit PostGIS laten verplaatsen.

16.3.1. shp2pgsql

shp2pgsql is een gereedschap voor de opdrachtregel om ESRI-Shapefiles in de database te importeren. Onder Unix kunt u de volgende opdracht gebruiken voor het importeren van een nieuwe tabel van PostGIS:

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

Onder Windows dient u het proces van importeren in twee stappen uit te voeren:

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

U zou deze fout kunnen tegenkomen:

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

Dit is een bekend probleem met betrekking tot het in situ maken van een ruimtelijke index voor de gegevens die u importeert. Sluit de parameter -I uit om deze fout te vermijden. Dit zal betekenen dat er niet direct een ruimtelijke index wordt gemaakt, en u zult die in de database moeten maken nadat de gegevens zijn geïmporteerd. (Het maken van een ruimtelijke index zal worden behandeld in de volgende les.)

16.3.2. pgsql2shp

pgsql2shp is een programma voor de opdrachtregel om tabellen, weergaven of SQL SELECT-query’s vanuit PostGIS te exporteren. Dit doen onder Unix:

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

De gegevens exporteren met behulp van een query:

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

16.3.3. ogr2ogr

ogr2ogr is een zeer krachtig gereedschap om gegevens naar en vanuit PostGIS te converteren in vele indelingen. ogr2ogr is deel van de GDAL bibliotheek en moet afzonderlijk worden geïnstalleerd. U kunt deze opdracht gebruiken om een tabel vanuit PostGIS naar GML te exporteren:

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

16.3.4. DB Manager

U heeft misschien al een andere optie opgemerkt in het menu Database gelabeld DB Manager. Dat is een gereedschap dat een eenduidige interface verschaft voor het werken met ruimtelijke databases inclusief PostGIS. Het stelt u ook in staat om vanuit databases naar andere indelingen te importeren en exporteren. Omdat de volgende module voor een groot deel is toegespitst op dit gereedschap, zullen we het hier slechts kort vermelden.

16.3.5. In Conclusion

Importeren en exporteren van gegevens naar en vanuit de database kan op vele verschillende manieren worden gedaan. In het bijzonder bij het gebruiken van verscheidene gegevensbronnen, zult u waarschijnlijk deze functies gebruiken (of andere soortgelijke) op een regelmatige basis.

16.3.6. What’s Next?

Vervolgens zullen we kijken hoe we de gegevens bevragen die we eerder hebben gemaakt.