Vous êtes sur la page 1sur 10

Base de données spatiales

Atelier 2
Création d’une bases de données spatiales
sous Postgis
1 Pr ése n ta ti o n g é né ra le du T P
1. 1 Co ntex te et obj ecti fs du TP
Maîtriser le module spatiale PostGis (création de la base de données

spatiales et analyse des requêtes).

Conversion des données ESRI (shp) vers le module spatiale PostGis.

Affichage des données géographiques dans le SIG libre QuantumGIS .


1. 2 Pr inci pales éta pes à réaliser

Création d’une table sous postGis (points géodésique),

Ajout d’une colonne géographique dans notre table,

Remplissage de la table (point),

Saisi et l’analyse des requêtes spatiales,

Chargement de données ESRI Shapefiles dans le module spatiale PostGis,

Affichage des données géographiques dans le SIG QuantumGIS


1. 3 Ma téri el et l ogic iels nécessai res

On dispose pour ce travail :

d'un PC sous Windows,

du SGBD PostgreSQL avec son module spatial PostGIS

d'une interface d'administration de bases phpPgAdmin,

du logiciel libre QuantumGlS


1. 4 Li ens utile s

Documentation PostgreSQL/PostGIS en français

http://www.davidgis.fr/documentation/win32/html/indexhtml ,

Site officiel QuantumGlS http://www.qgis.org,

Soussi bilel 1 2015-2016


Base de données spatiales

Pour connaître la version de postGis, veuillez tapez cette requête :


SELECT postgis_full_version();

2 ) L a ta b le s o us P os tg i s :
2. 1 Cr éati on d’un e ta ble :

création d’une table « point » qui va contenir les points géodésiques.


CREATE TABLE point(
Num INTEGER,
ordre INTEGER,
nom CHAR(20), Les colonnes de la table point.
date date,
CONSTRAINT point_pkey PRIMARY KEY (Num) Création d’un
clé primaire pour la table amis.
) ;

Fig :phpPgAdmin(administrateur de base de données spatiale)

Ajout d’une table sous Postgis

Soussi bilel 2 2015-2016


Base de données spatiales

Création des
Contraintes :
Clé primaire
&&
Clé étrangère

Fig :Ajout d’une table sous PostGis

Fig :Ajout d’un colonne

Soussi bilel 3 2015-2016


Base de données spatiales

Les
colonnes
de la table
point

Fig :Affichage des colonnes de la table point


2- 2 Aj oute r une col onne géographique dans la tab le « poi nt »

Vous allez ajouter une colonne supplémentaire « geometry » dans la table « point » pour

contenir l’information géographique sur les lieux des points géodésiques.

Remarques : Sous PostGis, l’information liée au système de projection est

introduite à travers des codes bien spécifiques (SRID) dans la table « spatial_ref_sys »

pour chaque projection. Par exemple, pour connaître les projections qui contiendront

Carthage, on exécute la requête suivante :

SELECT *from spatial_ref_sys where srtext like ‘%carthage%’;


Le % remplace une chaîne de caractères

Projection Nord Tunisie (code SRID = 22391)

Projection Sud Tunisie (code SRID = 22392)

Par contre, pour connaître les paramètres d’un système de projection associé à un code

SRID, il suffit de taper la requête suivante :


SELECT get_proj4_from_srid(code srid);

Soussi bilel 4 2015-2016


Base de données spatiales

Cette colonne utilisera le système de projection Nord Tunisie (code SRID = 22391)

et contiendra des objets géographiques de type point sur trois dimensions (X, Y,Z). Pour

cela, exécutez la requête SQL suivante :

SELECT AddGeometryColumn('point','geometry' , 22391,'POINT'


,3);

Code sql
Pour la
création de
la table
point

Fig:Administration de la table point

Soussi bilel 5 2015-2016


Base de données spatiales

Zone pour la
saisie d’une
requête
spatiales

Résultat de
l’exécution de la
requête

2- 3 Re mpli ssage de la t able:

Insertion de l’information géographique dans le champ « geometry » pour les 6

points suivants :
INSERT INTO point VALUES (1,1,'ouedchrida','1997-12-17 07:37:16-
08',GeometryFromText('POINT(518833.330277 369581.195599 20)',
22391));

INSERT INTO point VALUES (2,1,'Bardo','1997-12-17 07:37:16-


08',GeometryFromText('POINT(524333.815975 365815.762437 14)',
22391));

INSERT INTO point VALUES (3,1,'Menzeh','1997-12-17 07:37:16-


08',GeometryFromText('POINT(526401.112613 367513.898961 23)',
22391));

INSERT INTO point VALUES (4,1,'Manar','1997-12-17 07:37:16-


08',GeometryFromText('POINT(514661.820990 362456.405400 31)',
22391));

Soussi bilel 6 2015-2016


Base de données spatiales

INSERT INTO point VALUES (5,1,'cité el Tadhamen','1997-12-17


07:37:16-08',GeometryFromText('POINT(519977.726631 361828.833206
11)', 22391));

INSERT INTO point VALUES (6,1,'Mennouba','1997-12-17 07:37:16-


08',GeometryFromText('POINT(517282.857799 370282.599815 18)',
22391));

2- 4 Mi se à jour de la t able point:

Delete from point where point.num=1 ;

UPDATE point SET nom='test' where nom='Bardo';

UPDATE point SET geometry=GeometryFromText(‘POINT(517482.857799


370321.599815 18)’, 22391) where nom=' Mennouba ';

2- 5 Af fich age d e la géo métrie des objets:

Pour afficher uniquement la géométrie des objets contenus dans la colonne geometry ,

vous pouvez exécuter la requête suivante :


SELECT num ,GeometryType (geometry) from point ;

2- 6 Sa isir les requ êtes suivantes et analyser le rés ulta t :

SELECT * from point ;

SELECT Astext(geometry) from point ;

SELECT Astext(geometry) from point where point.nom='test';

SELECT area2d(geometry) from point;

SELECT x(geometry) from point;

SELECT y(geometry) from point;

Soussi bilel 7 2015-2016


Base de données spatiales

SELECT Z(geometry) from point;

3 - Cha r ge me n t d e d o n nées par E SRI S ha pef i le s (s h p2 p g s q l)


PostGIS est livré avec un convertisseur shp2pgsql.exe qui permet d’importer

directement - à la volée - les données fournies dans un fichier .shp.

Voici ce qu'il faut taper:


shp2pgsql -s monSrid -D -I monfichiershp.shp -d monshema.matable
| psql -U monutilisateur mabasededonnees

Supposons que:

votre base de données s'appelle 'titi'.

l'utilisateur 'pierre' a les droits d'écriture sur cette base de données.

vous avez 2 shémas qui se nomment 'test' et 'toto'.

vous voulez insérer le fichier 'forets.shp' dans la table 'arbre' qui se trouve dans

le shéma 'toto'.

les données graphiques contenues dans 'forets.shp' sont référencées par le

SRID 22391.

Alors, vous tapez :


shp2pgsql -s 22391 -D -I forets.shp -d toto.arbre | psql -U pierre
titi.

4 - A fficha ge des d onnée s gé ographiques da ns le SI G


Qua ntumGI S

Grâce au SIG libre QuantumGlS,vous allez afficher les données géographiques de la

base.Vous réaliserez des requêtes d'analyse spatiale grâce à PostGIS et vous visualiserez

également es résultats dansQuantumGIS.

Lancez QuantumGlS (Démarrer>Programmes>QuantumGIS>QuantumGIS).

Sélectionnez le menu Couche>Ajouter une couche PostGIS. Dans la nouvelle fenêtre,

Soussi bilel 8 2015-2016


Base de données spatiales

entrez les paramètres suivants Nom = BD , Hote = localhost, Base de données = notre

base, Port = 5432, Nom utilisateur = postgres, Mot de passe = postgres. Cochez

sauvegarder le mot de passe, puis cliquez sur le bouton OK. Cliquez sur le bouton

Connecter. Les deux couches géographiques contenues dans la base s'affichent

Sélectionnez les deux couches lme2006 et peche puis cliquez sur le bouton Ajouter.

Zone d’affichage
Pour les données
géographiques
Zone
d’affichage
pour les
tables crées
sous postgis

Listes des
tables sous
Paramètres postgis
pour se
connecter à
postgis

Soussi bilel 9 2015-2016


Base de données spatiales

Fin

Soussi bilel 10 2015-2016

Vous aimerez peut-être aussi