Grâce à ce tutoriel, vous allez apprendre à importer une couche SIG au format shapefile au sein du SDBD PostgreSQL couplé à l’extension PostGIS, en utilisant le logiciel SIG QGIS et son extension SPIT.

Le what for du tuto... selon Impuls'Map !

Problématique du jour

On dispose d’une couche de données représentant le découpage administratif des communes selon une base de données issue du cadastre.
Cette couche de données est au format SIG shapefile.

On souhaite l’importer puis la stocker au sein d’une base de données spatiales hébergée sous un serveur PostgreSQL qui dispose l’extension PostGIS.

Le SIG est administré grâce au logiciel QGIS.


L’instant WIKI

PostgreSQL est un SGBD relationnel objet avancé. C’est un logiciel libre. Associé à son extension spatiale PostGIS, il permet de gérer des données à dimension spatiale, exploitables au sein de logiciels SIG.

QGIS est un logiciel SIG libre et open source, offrant de fonctionnalités nombreuses et croissantes.

L’extension SPITShapefile to PostGIS Import Tool (outil d’import de shapefiles vers PostGIS) – permet d’importer un shapefile ou un lot de shapefiles dans PostGIS.


Les pré-requis

Ce tutoriel admet donc comme pré-requis :
l’installation préalable du logiciel SIG QGIS. QGIS est un logiciel SIG libre et open source,
l’installation préalable du logiciel SGBD PostgreSQL et de l’extension spatiale PostGIS,
la détention d’une couche de données au format shapefile (*.shp).

Suivre le tutoriel pas à pas…

Étape 1 - Lancer le logiciel SIG QGIS

Impuls'Map - Tutoriel - Importer Shapefile Postgis QGIS SPIT - Ouvrir Qgis

Il n’y a pas besoin d’ouvrir la couche de données shapefile dans QGIS pour l’importer dans PostgreSQL/PostGIS !

Étape 2 - Lancer SPIT pour importer un shapefile dans PostGIS

Dans le menu principal, cliquer sur « Base de données »« Spit »« Importer des shape dans PostgreSQL »

Impuls'Map - Tutoriel - Importer Shapefile Postgis QGIS SPIT - Menu SPIT

Étape 3 - Créer et paramétrer une connexion PostgreSQL/PostGIS

Dans la fenêtre « SPIT – Outil d’Importation de Shapefile dans PostGIS », créez une nouvelle connexion vers la base de données au sein de laquelle vous souhaitez importer les données.
Dans la rubrique « Connexion PostgreSQL », cliquez sur « Nouveau »

Impuls'Map - Tutoriel - Importer Shapefile Postgis QGIS SPIT - Nouvelle Connexion Postgis

Dans la fenêtre « Créer une nouvelle connexion PostGIS »

Paramétrer les informations de connexion à une BD PostGIS :

« Nom » : saisir le nom que vous souhaitez attribuer à votre connexion – pour ce tutoriel, nous appellerons la connexion « Bd Tutoriel ».
« Hôte » : saisir le nom de l’hôte de votre base de données. Si elle est hébergée sur le même ordinateur que QGIS, saisir « localhost ». Si elle est hébergée sur un autre ordinateur, saisir son nom ou son adresse.
« Port » : renseigner le port écouté par votre serveur PostgreSQL. Par défaut, en conséquence au sein de la majorité des configuration, le port utilisé est « 5432 ».
« Base de données » : renseigner le nom de la base de données PostgreSQL/PostGIS à laquelle on souhaite se connecter – ici on souhaite se connecter à la base de données « Tutoriel » .
« mode SSL » : laisser le choix « désactivé » permet une accélération du rendu des couches PostGIS
« Utilisateur » : saisir le nom d’utilisateur (ou rôle) PostgreSQL avec lequel on souhaite se connecter à la base de données.
« Mot de passe » : mot de passe associé à l’utilisateur saisi dans le champ précédent.
« Enregistrer le nom d’utilisateur » : cocher la case permet de ne pas saisir le nom d’utilisateur à chaque connexion vers la base de données. La fonctionnalité peut être utilisée si votre ordinateur n’est pas partagé.
« Enregistrer le mot de passe » : cocher la case permet de ne pas saisir le mot de passe utilisateur à chaque connexion vers la base de données. La fonctionnalité peut être utilisée si votre ordinateur n’est pas partagé.
« Tester la connexion » : cette fonctionnalité permet de tester rapidement la connexion avant de la valider.

Lorsque tous les paramètres sont saisis, cliquer sur « OK »

Impuls'Map - Tutoriel - Importer Shapefile Postgis QGIS SPIT - Paramètres Connexion Postgis

Étape 4 - Les options d'importation de SPIT

Dans la rubrique « Options d’importation et liste des shapefiles »

« Nom de la colonne de géométrie » : renseigner le nom à attribuer au champ qui contiendra la géométrie des objets de la couche à importer dans PostgreSQL/PostGIS.
Si vous souhaitez personnaliser le nom de ce champ, il vous faut décocher la case « Utiliser le nom de colonne géométrique par défaut ». Sinon, le champ s’intitulera « the_geom ».
Essayer d’utiliser toujours le même nom, pour l’ensemble de vos couches PostGIS.

« SRID » : saisir le SRID – Spatial Reference System Identifier – de votre couche shapefile. Pour cela, il vous faut décocher la case « Utiliser le SRID par défaut ». Sinon, le SRID de votre couche PostGIS sera celui par défaut, c’est-à-dire « -1 ».

« Nom de la clé primaire » : saisir le nom de la clé primaire qu’aura votre couche dans PostGIS.

« Schéma global » : sélectionnez le schéma de votre base de données PostGIS au sein duquel vous souhaitez importer la couche shapefile.

Impuls'Map - Tutoriel - Importer Shapefile Postgis QGIS SPIT - Options Importation SPIT

Étape 5 - Ajouter les shapefiles

Dans le rubrique d’ajout des fichiers shape, cliquer sur « Ajouter »

Impuls'Map - Tutoriel - Importer Shapefile Postgis QGIS SPIT - Ajouter Shapefile

Dans la fenêtre « Ajouter un Shapefile », parcourir vos fichier et sélectionner le ou les shapefiles que vous souhaitez importer dans PostGIS.
Cliquer ensuite sur « Ouvrir »

Impuls'Map - Tutoriel - Importer Shapefile Postgis QGIS SPIT - Ouvrir Shapefile

Étape 6 : Valider l'importation des shapefiles dans PostGIS

De retour dans la fenêtre « SPIT – Outil d’Importation de Shapefile dans PostGIS », les shapefiles sélectionnés sont listés ainsi que leurs principales caractéristiques, dans la rubrique d’ajout des fichiers shapefile.
Le bouton « Ajouter » : permet d’ajouter de nouveaux fichiers shape, pour un traitement par lot.
Le bouton « Supprimer » : permet de supprimer de la liste d’import un fichier shape qui auraient été ajouté, en cliquant sur sa ligne pour le sélectionner.
Le bouton « Tout enlever » : permet de supprimer de la liste d’import tous les fichiers shape ajoutés.

Lorsque la connexion à la base de données PostgreSQL a été effectuée, les options d’importation paramétrées et les shapefiles ajouté, cliquer sur « OK » pour lancer l’importation !

Impuls'Map - Tutoriel - Importer Shapefile Postgis QGIS SPIT - Lancer Import Shapefile

Si vos données sont lourdes, une barre de progression des tâches s’affiche…

Étape 7 - Vérifier que les données ont bien été importées dans PostgreSQL/PostGIS

Lancer pgAdmin III, l’interface d’exploitation de PostgreSQL

Impuls'Map - Tutoriel - Importer Shapefile Postgis QGIS SPIT - Lancer pgAdmin

Se connecter au serveur PostgreSQL au sein duquel est votre base de données,
→ se connecter à la base de données au sein de laquelle a/ont été importé(s) le(s) shapefile(s),
→ → dérouler le schéma puis les tables,
→ → → vérifier que la nouvelle couche PostGIS s’y trouve bien.

Impuls'Map - Tutoriel - Importer Shapefile Postgis QGIS SPIT - Vérifier

Étape 8 - Vérifier le contenu de la nouvelle couche PostGIS

Pour ouvrir la nouvelle couche PostGIS, il existe 2 méthodes :

Méthode 1 :

Sélectionner la table désirée et cliquer sur le bouton « Afficher les données de l’objet sélectionné »

Impuls'Map - Tutoriel - Importer Shapefile Postgis QGIS SPIT - PostGIS Afficher Données

Méthode 2 :

Effectuer un clic-droit sur la table désirée → « Afficher les données » → en fonction de la quantité d’objets présents dans votre table, cliquez sur l’option de « Visualisation… » la plus adaptée.

Impuls'Map - Tutoriel - Importer Shapefile Postgis QGIS SPIT - PostGIS Afficher Données

Dans le fenêtre des données de la table, vérifier que les champs présents dans La table d’origine sont présents, ainsi que la colonne qui reprend la géométrie des objets.
Si vous avez paramétré le nom de la colonne géométrique lors de l’import, alors la colonne dans PostgreSQL aura ce nom.
Ex : pour le tutoriel, le nom de la colonne géométrique n’a pas été paramétré avec celui donné par défaut, mais avec le libellé « Geometrie ». Dans la table PostGIS, on trouve donc le champ « Geometrie », de type « Geometry » et détaillant le type d’objets et le SRID de la table.
Si vous avez laissé le libellé par défaut, la table PostGIS aura un champ « the_geom », de type « Geometry ».

Impuls'Map - Tutoriel - Importer Shapefile Postgis QGIS SPIT - PostGIS Afficher Données
Firework

Ce tutoriel est terminé !!

Le fichier shapefile a été importé dans le SGBD PostgreSQL/PostGIS grâce au logiciel SIG QGIS et à l’extension SPIT !

Ce tutoriel a été réalisé avec les logiciels PostgreSQL 9.4, l’extension PostGIS 2.1 et QGIS 2.8.1-Wien
Pour en savoir + …
Vous avez aimé ?
Alors dites-le avec des , des likes, des tweets, des shares et des commentaires … !
On vous gâte…
Toujours + de tutoriels Impuls’Map !!
Question Chat Impuls'Map Jointure Spatiale Multiple

[Question Chat] Réaliser une relation spatiale 1..n à partir de shapefile dans QGIS ?

| Bavargade cartographique | No Comments
Problématique posée et contexte : Notre SIGiste dispose de deux couches shapefile : une couche qui contient des polygones, une couche qui contient des points. Il existe une relation spatiale...

[Actu] Impuls’Map assiste le SMB dans la migration de son WebSIG vers Arcopole Pro

| Bavargade cartographique | No Comments
Le Syndicat Mixte du Beaujolais a acquis un webSIG chez GEOMAP-IMAGIS  il y a quelques années, initialement basé sur une solution exploitant : PostGIS + QGIS + Mapserver + Webville...

Créer une carte web interactive avec Leaflet et des données Geojson externes

| Bavargade cartographique, Tutoriels SIG | No Comments

Tutoriel video by Impuls’Map pour apprendre à créer une carte web interactive, à partir de la librairie javascript Leaflet et exploitant des données geojson stockées dans des fichiers externes

Tutoriel Impuls'Map - Trigger suivi mises à jour PostgreSQL PostGIS

Créer un trigger de suivi des mises à jour dans PostgreSQL et PostGIS

| Bavargade cartographique, Tutoriels SIG | No Comments

Grâce à ce tutoriel, vous allez apprendre à créer un trigger pour pouvoir enregistrer et suivre les mises à jour effectuées au sein d’une base de données PostgreSQL. Et comme Impuls’Map est dédié aux SIG, nous effectuerons ce tutoriel au sein d’une base de données détenant l’extension spatiale PostGIS et à partir de données à dimension géographique, exploitables dans un SIG.

Bienvenue sur le site d’Impuls’Map !

Fondatrice & CEO d'Impuls'Map Impuls'Map vous offre toute la puissance des SIG grâce à son équipe d'ingénieurs experts !
Besoin d'une prestation de Cartogérance, d'Ingénierie, de Conseil ou une Formation SIG ?
Contactez nous !

© 2016 Impuls'Map | Mentions légales | Crédits