Vous êtes sur la page 1sur 12

Ecole Supérieur des Ingénieurs de Medjez el beb

Université de Jendouba

Geo data base

Postgresql

Encadré par : CHAIB Ali

Elaboré par : Rtimi Amine

Classe : 2 ème année topographie

Année universitaire : 2020/2021


PostGIS est une extension (plugin) du SGBD PostgreSQL, qui active la manipulation
d'informations géographiques (spatiales) sous forme de géométries (points, lignes,
polygones), conformément aux standards établis par l'Open Geospatial Consortium. Il permet
à PostgreSQL d'être un SGBD spatial (SGBDs) pour pouvoir être utilisé par les systèmes
d'informations géographiques.

PostgreSQL est un système de gestion de base de données relationnelle et objet (SGBDRO).


C'est un outil libre disponible selon les termes d'une licence de type BSD.
Ce système est concurrent d'autres systèmes de gestion de base de données, qu'ils soient libres
(comme MariaDB et Firebird), ou propriétaires
(comme Oracle, MySQL, Sybase, DB2, Informix et Microsoft SQL Server). Comme les
projets libres Apache et Linux, PostgreSQL n'est pas contrôlé par une seule entreprise, mais
est fondé sur une communauté mondiale de développeurs et d'entreprises.

2
Exercice 1

Travail demandé
1- Importer un fichier Shp de type polygone dans Postgrés ou vous pouvez le
créer directement sur Postgrés et calculer :
2- Le périmètre et la surface de chaque polygone ainsi que la distance entre les
polygones
ST_Area(geometry) retourne l’aire d’un polygone
ST_Perimeter(geometry) retourne la longueur de tous les contours
ST_Distance : Retourne la distance entre deux géométries dans l’unité du
système de référence spatiale
Méthodologie de travail
1er étape :
Créer l’extension « postgis » dans un database Postgre. Pour cela on exécute le code
CREATE EXTENSION postgis ; dans le Query tool .

3
2eme étape :
Créé deux polygones (poly1 ,poly2) de type shapefile Sur QGIS

3eme étape :

Importer le fichier shp en utilisant l’extension Postgis.

4
4eme étape Calcul du périmètre et de la surface de deux polygones
On saisie le script suivant dans Query tool:

SELECT gid,id,ST_Area(geom)::numeric as Surface,ST_Perimeter(geom)::numeric as


Perimeter

FROM public."poly1"

ORDER BY id;

5
SELECT gid,id,ST_Area(geom)::numeric as Surface,ST_Perimeter(geom)::numeric as
Perimeter

FROM public."poly2"

ORDER BY id;

5eme étape Définir la distance entre les deux polygones.


Pour calculer la distance entre les deux polygones on saisie le script suivant :

SELECT st_distance(public." POLY2".geom,public."POLY1".geom) as distance

FROM public."POLY2" ,public."POLY1".

6
7
Exercice2
Travail demandé
Importer le fichier de type ligne du dernier TP (entre les villes de Bernex,
Chatel, Bellevue et Narmont) et calculer :
ST_Length(geometry) retourne la longueur d’une ligne
ST_StartPoint(geometry) retourne le premier point d’une ligne
ST_EndPoint(geometry) retourne le dernier point d’une ligne
ST_NPoints(geometry) retourne le nombre de points dans une ligne

Méthodologie

1er étape : Faisant les mêmes étapes du premier exercice on obtient le résultat suivant
pour le fichier de type polyligne

Pour calculer la longueur de la ligne et pour déterminer son premier point, son dernier
et le nombre de point qu’il contient, on saisiee le code suivant :
SELECT gid,id,st_length(geom) as longueur,st_startpoint(geom) as
premier_point,endpoint(geom) as dernier_point,st_npoints(geom) as
nombres_de_points

8
2éme étape : vérifier votre résultat sur ARCGIS

Remarque: Les deux résultats sont identiques

9
Exercice3

Travail demandé
Donner un exemple de jointure entre deux tables : Requête de jointure INNER JOIN

1er étape : On a crée deux tableaux


Tableau 1 : Gouvernorat

Tableau 2 : délégation

10
2eme étape : Affichage de tableau

11
3eme étape : On fait la jointure de deux tables en tapant le code suivant dans Query tool :

SELECT * FROM public."Governorat"

JOIN public."Déligation" ON public."Governorat"."id"=public."Delegation "."id"

Les deux tables sont jointes en une seule table. Ce sont reliés par la colonne « id » du premier
table «Governorat» et la colonne « id » qui est définit comme une clé primaire dans la
deuxième table « Déligation ».

12

Vous aimerez peut-être aussi