5 - SQL - Bases de données

Exercice 9 : PostGIS

Utilisation de PostGIS

objectif :Importer des données dans PostGIS et visualiser une partie des données dans QGIS en réalisant une requête de filtrage.

Question

Importer le fichier shape ROUTE_XY (répertoire Divers) dans PostGIS en utilisant l'extension SPIT,

puis,

Dans la table ROUTE_XY, sélectionner les tronçons de route appartenant à la D323 en utilisant le constructeur de requête de QGIS pour n'ouvrir que cette route dans QGIS.

nb : Choisir UTF-8 comme encodage des caractères.

Importer le fichier shape COMMUNE_DENSITE dans PostGIS à partir d'un glissé-Lâché depuis le navigateur de QGIS.

Solution

Importation des fichiers dans PostGIS

Lancer l'extension SPIT.

Importer des Shapes dans PostgreSQL

Il faut créer une nouvelle connexion ou utiliser une connexion déjà créée. Les paramètres de connexion et la base à utiliser sont éventuellement précisés par l'organisateur de la formation.

Une fois que la connexion est établie, cliquer sur Ajouter.

Choisir le fichier ROUTE_XY.SHP (répertoire Divers). Préciser l'encodage UTF-8 (au lieu la première fois de 'system' par défaut).

Choisir l'encodage du SHP

Le ou les fichiers shape importés dans PostGIS apparaissent dans la liste.

Dans le champ Nom de la colonne de géométrie, laisser vide, ou saisir le nom de la colonne de géométrie du fichier shape ou cocher la case Utiliser le nom de colonne géométrique par défaut (the_geom).

Dans le champ SRID, saisir la valeur 2154 qui correspond au système de coordonnées de référence (SCR) RGF93/Lambert 93.

Si SPIT renvoi un message du type ERROR : zero-length delimited identifier at or near """"""

LINE 1 : CREATE TABLE "public"."ROUTE_XY"("" SERIAL PRIMARY KEY, "Id"...

Alors tapez (ou retapez) explicitement un nom dans le champ 'Nom de la clé primaire' (ce peut-être 'gid' par exemple, mais ce ne peut-être un des champs du fichier SHP).

Cliquer sur OK.

Les données sont importées dans PostGIS.

Requête SQL sur une table dans PostGIS

Charger la table PostGIS dans QGIS ouverture couche PostGIS

Dans la fenêtre de connexion à la table ROUTE_XY dans PostGIS, double-cliquer sur la table ROUTE_XY.

constructeur de requête

Double-cliquer sur le champ numéro. Ce champ doit apparaître entre ""  dans la fenêtre Clause SQL WHERE située en bas de la fenêtre du constructeur de requêtes.

Cliquer sur l'opérateur =. Celui-ci doit apparaître après le champ «numero»  dans la fenêtre Clause SQL WHERE.

Cliquer sur le bouton Tout. La liste des valeurs du champ numéro doit apparaître dans la partie droite de la fenêtre.

Choisir la valeur D323. Cette valeur doit apparaître entre ''  dans la fenêtre Clause SQL WHERE après l'opérateur =.

Cliquer sur OK.

Le résultat doit apparaître dans la fenêtre cartographique de QGis sous cette forme.

QGIS

En cliquant sur la couche on peut afficher la table attributaire et vérifier que les tronçons affichés ont bien la valeur D323 dans le champ « numero ».

RemarqueDes messages d'erreur possible

si vous rencontrez le message d'erreur :

erreur postgis

Vous n'avez pas indiqué une clef primaire correcte.

Si vous rencontrez le message suivant :

erreur PostGIS

Vous n'avez pas indiqué le bon encodage de caractères (UTF-8 en général).

Pour le glissé / lâché depuis le navigateur :

Glissé / lâché avec DBmanager
PrécédentPrécédentFin
AccueilAccueilImprimerImprimer Maîtrise d'ouvrage : MEDDE - METL - MAAF / Maîtrise d'œuvre : ENTE Aix - ENSG / Licence ouverte ETALAB Réalisé avec Scenari (nouvelle fenêtre)