Bien évidemment, une base de données sans un moyen facile de migrer des données dans et hors d’elle serait sans grand intérêt. Heureusement, il existe de nombreux outils permettant de facilement déplacer les données vers et hors de PostGIS.
shp2pgsql is a commandline tool to import ESRI shapefiles to the database. Under Unix, you can use the following command for importing a new PostGIS table:
shp2pgsql -s <SRID> -c -D -I <path to shapefile> <schema>.<table> | \
psql -d <databasename> -h <hostname> -U <username>
Sous Windows, vous devez réaliser le processus d’importation en deux étapes:
shp2pgsql -s <SRID> -c -D -I <path to shapefile> <schema>.<table> > import.sql
psql psql -d <databasename> -h <hostname> -U <username> -f import.sql
Vous pouvez rencontrer cette erreur:
ERROR: operator class "gist_geometry_ops" does not exist for access method
"gist"
C’est un problème connu lié à la création in situ d’un index spatial sur la couche en cours d’importation. Pour éviter l’erreur, excluez le paramètre -I. Cela signifie qu’aucun index spatial ne sera directement créé sur la table, et que vous aurez besoin de le créer une fois la donnée importée dans la base de données. (La création d’un index spatial sera abordée dans la prochaine leçon.)
pgsql2shp est un outil de ligne de commande pour exporter des tables, des vues ou des requêtes de sélection SQL. Pour l’utiliser sous Unix:
pgsql2shp -f <path to new shapefile> -g <geometry column name> \
-h <hostname> -U <username> <databasename> <table | view>
Pour exporter des données à l’aide d’une requête:
pgsql2shp -f <path to new shapefile> -g <geometry column name> \
-h <hostname> -U <username> "<query>"
ogr2ogr est un très puissant outil pour convertir les données entre PostGIS et beaucoup de formats de données. ogr2ogr fait partie du logiciel GDAL/OGR et doit être installé séparément. Pour exporter une table PostGIS en GML, vous pouvez utiliser cette commande:
ogr2ogr -f GML export.gml PG:'dbname=<databasename> user=<username>
host=<hostname>' <Name of PostGIS-Table>
Vous avez dû remarquer une autre option dans le menu Base de données intitulée DB Manager. Il s’agit d’un outil qui offre une interface unifiée pour interagir avec les bases de données spatiales incluses dans PostGIS. Il vous permet également d’importer et exporter depuis les bases de données vers d’autres formats. Étant donné que le prochain module est largement dévolu à l’utilisation de cet outil, nous ne ferons que le mentionner ici.
Importer et exporter vers et depuis une base de données peut être fait de diverses manières. Vous utiliserez probablement ces fonctions (ou des similaires) si vous utilisez des données de sources disparates.
Prochainement, nous verrons comment interroger les données que nous avons créées auparavant.