Outdated version of the documentation. Find the latest one here.

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 software van GDAL/OGR 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. SPIT

SPIT is een plug-in voor QGIS die wordt geleverd met QGIS. U kunt SPIT gebruiken voor het uploaden van ESRI-shapefiles naar PostGIS.

Zoek naar deze knop als u eenmaal de plug-in SPIT hebt toegevoegd via Plug-ins beheren en installeren:

../../../_images/008.png

Klikken erop of selecteren Database –> Spit –> Importeer Shapefiles in PostgreSQL uit het menu zal u het dialoogvenster van SPIT geven:

../../../_images/spit_dialog.png

U kunt shapefiles aan de database toevoegen door te klikken op de knop Toevoegen, die u een venster voor bestandsbeheer zal geven.

16.3.5. DB Manager

U heeft misschien een ander optie opgemerkt in het menu Database gelabeld DB Manager. Dat is een nieuw gereedschap in QGIS 2.0 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.6. 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.7. What’s Next?

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