Importer des données

Pour importer et exporter des données dans PostGIS, il existe plusieurs solutions avec chacune leurs avantages et inconvénients. La plus simple est l'utilisation du DBManager de QGIS.

Accès à DBmanager

Depuis QGIS nous allons utiliser le plugin DBManager qui s'interface bien avec PostGIS. C'est le plugin qui est le plus porté par la communauté QGIS.

Cette extension est installée par défaut, il convient tout de même de vérifier qu'elle est activée (cochée), depuis le menu Extensions / Installer et gérer les extensions.

Gestionnaire d'extension de QGIS

Le plugin est alors disponible dans le menu Bases de données de QGIS.

Menu Base de données

Pour se connecter la première fois à une base de données existante (PostGIS) dans DBManager, il est nécessaire de le faire par l'intermédiaire de QGIS.

En lançant DB Manager vous devez maintenant pouvoir vous connecter à cette base.

Utilisation de DBmanager

Rappel : Pour accéder aux bases de données depuis DBManager, il faut au préalable créer une nouvelle connexion ou utiliser une connexion déjà créée depuis le menu Couche / Ajouter une couche / Ajouter une couche PostGIS puis configurer les paramètres de connexions de la base de données (adresse, port, nom de la base, nom de l'utilisateur et mot de passe).

DBManager est une extension de QGIS disponible depuis le menu Bases de données / Gestionnaire de bases de données. Il permet de charger des fichiers dans une base PostGIS connectée sous QGIS, par glisser / lâché de fichiers à partir du navigateur QGIS, ou par le menu Table > Import de couche / fichier pour les couches déjà chargée dans QGIS. Ce dernier menu est également accessible par le bouton

Avant d'importer une couche, il conviendra de parcourir l'arborescence du gestionnaire de bases de données, jusqu'à la base formation.

La fenêtre d'import permet de saisir les paramètres nécessaires :

DbManager paramètres d'import

Lors de l'import, il n'y a que le nom de la table en sortie à paramétrer (par défaut le même que la couche). Je vous conseille de garder les mêmes noms en modifiant la casse : Tout mettre en minuscule (cela facilite l'écriture des requêtes SQL).

ConseilUtilisation des schémas

Il est recommandé de ne pas utiliser le schéma public sur une base en production, mais plutôt d'utiliser des schémas personnalisés. Ceci permet de séparer le cœur de PostGIS (tables systèmes PostGIS, fonctions...) des données elle-même.

On peut créer des schémas par thématique ou selon d'autres organisations (référentiel / données métiers / données produites ou données tabulaires / données vectorielles par exemple). L'organisation en schémas multiples permet de simplifier la gestion des droits d'utilisation, mais le principal avantage reste de faciliter la mise à jour de PostGIS ainsi que la restauration ou l'échange plus efficaces de données.

La définition d'une structure d'exploitation de la base partagée par tous est du ressort de l'administrateur de la base.

ComplémentOgr2ogr

Les spécialistes préfèrent parfois utiliser ogr2ogr pour contrôler l'import des données dans PostGIS. Nous ne détaillerons pas ici cet outil qui est plutôt à réserver à l'administrateur de la base.

Avantages :

  • Prend en charge une multitude de format.

  • Possibilité de changement de projection

  • Possibilité de sélection SQL des données en import.

Inconvénient :

  • Syntaxe complexe à cause des nombreuses options.

Note : Pour les spécialistes l'option "- config PG_USE_COPY YES" permet d'accélérer de façon drastique le chargement de gros fichiers avec ogr2ogr.

Dans la version QGIS 2.8 devrait apparaître un algorithme d'import dans le menu traitement (Processing) 'Import vector into PostGIS database' qui utilisera de façon transparente ogr2ogr.