Université sultan Moulay Slimane
Faculté des Sciences et Techniques de Béni Mellal
Département des Sciences de la Terre
Licence Sciences et Techniques: Géomatique et Aménagement du Territoire
Module: Gestion de base de données
Par:
Pr. A. BOUDHAR
([email protected] )
L'information géographique
Données Géo. localisées à la Une information relative à un
surface terrestre objet ou un phénomène du
• Directement par des coordonnées, monde terrestre est décrite
• ou indirectement par des données par :
littérales de type adresse, numéro • La nature et les attributs de l'objet
de commune,… (sémantique)
• La localisation et la forme de l'objet
(géométrie)
• La relation de voisinage entre
objets (topologie)
Pr. A. BOUDHAR >>>FST-Béni Mellal 2
L'information géographique
Route a pour géométrie {(arc)}
Parcelle a pour géométrie face
Pr. A. BOUDHAR >>>FST-Béni Mellal 3
Positionnement
• Système de Coordonnées cartésiennes
• Coordonnées cartographiques
Coordonnées planes définies
pour les besoins de la
cartographie.
Elles s'expriment en unités
métriques (m, km, …, )
mesurées vers l‘Est et le Nord
à partir d'un point origine.
Pr. A. BOUDHAR >>>FST-Béni Mellal 4
Positionnement
• Coordonnées géographiques (ou géodésiques)
Latitude et de longitude,
Elles correspondent aux angles
mesurés (en degrés) depuis le centre de
la Terre vers un point de surface;
par rapport à un méridien origine (la
longitude) et un parallèle origine (la
latitude).
Pr. A. BOUDHAR >>>FST-Béni Mellal 5
Positionnement (Lat, Long)
Pr. A. BOUDHAR >>>FST-Béni Mellal 6
La Géométrie
• Primitives géométriques
• Un point:
• Représenté par une coordonnée X,Y
• Utilisé pour identifier la localisation
d'éléments ponctuels comme des tours,
bâtiments, stations,…
Attention :
• au niveau stockage, un point = X,Y
• au niveau conceptuel : un point est un
type à part entière
Pr. A. BOUDHAR >>>FST-Béni Mellal 7
La Géométrie
• Polyligne = ensemble d’arcs= {points} + interpolation
linéaire
Attention
• Un arc a des noeuds comme ses extrémités
Pr. A. BOUDHAR >>>FST-Béni Mellal 8
La Géométrie
• Polygone ou = un contour extérieur (une face) +- trous (faces)
• Autres types : cubiques, cercles, splines…
Pr. A. BOUDHAR >>>FST-Béni Mellal 9
La Géométrie
• La géométrie décrit :
• la position
• l’extension et implicitement la forme
(23,9) (29,9)
(6,11)
(7,8) (15,9)
(27,6)
(3,4)
(11,3) (29,3)
(19,3)
Pr. A. BOUDHAR >>>FST-Béni Mellal 10
Les BD spatiales
BD Géographique =
Objets géographiques
Données
Données spatiales
alphanumériques
Nbr
Point
d’habitats
Nbr de
Polygone
commune
Noms des
ligne
villes
Pr. A. BOUDHAR >>>FST-Béni Mellal 11
Les BD spatiales
• Ensemble d’objets géo.
• Organisé souvent en couches
thématiques
• Chaque couche regroupe les objets
géo. appartenant à un même
thème.
• Ex : Hydrologie,
• Pédologie,
• Rue, Bâti ....
Pr. A. BOUDHAR >>>FST-Béni Mellal 12
Les BD spatiales
• Relations spatiales :
• propriétés essentielles car
• « tout ce qui se passe à un endroit est lié à ce qui ce passe au voisinage et ce
lien décroît avec l'éloignement.
• Relations de 2 types:
• Inter-couches : relations verticales;
• Intra-couche : relations horizontales
• Méta-données géographiques
• Echelle, Emprise,
• Référentiel géographique (Système de projection),
• Qualité (incertitude de localisation et des attributs)…
Pr. A. BOUDHAR >>>FST-Béni Mellal 13
SGBD spatial
• Les SGBD-R présentent des lacunes au niveau logique
pour les données spatio-temporelles
• SGBD spatial permettent de travailler dans une BD
contenant des données attributaires classiques et des
données « géographiques » spatio-temporelle
Pr. A. BOUDHAR >>>FST-Béni Mellal 14
SGBD spatial
•Il offre un type de donnée spatial dans son
modèle de données et son langage de
requêtes
•Il implémente ce type et ses opérateurs,
fournissant au moins l’indexation spatiale
et des algorithmes efficace pour la
jointure spatiale.
Pr. A. BOUDHAR >>>FST-Béni Mellal 15
SGBDR vs SGBD spatial
Pr. A. BOUDHAR >>>FST-Béni Mellal 16
SGBD spatial
• Utilisation d’un SGBD pour les Utilisation d’un SIG pour
données géo toutes les données
En théorie oui, mais des difficultés Pas les fonctions de gestion
et d’administration
Combiner la richesse de la structuration des données
géographiques, un cas classique :
Une BD classiques gérées par un SGBD pour les données Descriptives
Une BD contenant les entités géographiques (géométrie, topologie)
gérée par un SIG-outil
Lien entre les deux
Pr. A. BOUDHAR >>>FST-Béni Mellal 17
SGBD Spatiaux
•Oracle Spatial
•PostgreSQL/PostGIS
ESRI ArcSDE (SIG intégrant un moteur de BD ArcGIS et les géodatabases)
•IBM DB2
•Microsoft SQLServer 2008
•SpatiaLite
Pr. A. BOUDHAR >>>FST-Béni Mellal 18
Insertion de Données Géo. Dans
un SGBD Spatial
• Afin de stocker et numériser les données spatiales dans un SGBD,
deux tables de métadonnées sont essentielles :
• La table GEOMETRY_COLUMNS
• La table SPATIAL_REF_SYS.
Pr. A. BOUDHAR >>>FST-Béni Mellal 19
Relation entre les tables
Pr. A. BOUDHAR >>>FST-Béni Mellal 20
La table GEOMETRY_COLUMNS
• Pour représenter un objet géographique en SQL :
• Une table "classique » + une colonne dite géométrique = colonne qui
va contenir la partie spatiale à créer (un point, une ligne, un
polygon....),
• Lorsque l'on crée une colonne géométrique, celle-ci va être
automatiquement insérée dans la table
GEOMETRY_COLUMNS,
• Cette table va référencer toutes les colonnes géométriques
d'une Base de Données.
• Elle possède alors plusieurs attributs, pour repérer les colonnes
et décrire leurs informations, qui sont principalement:
• f_table_schema : contient le nom de la base de données.
• f_table_name : nom de la table contenant la colonne géométrique.
• f_geometry_columns : nom de la colonne géométrique.
• Type : type de l'objet spatial créé (point, ligne, polygon...).
• coord_dimension : dimension de l'objet spatial (0D, 1D, 2D, ...).
• srid : ID du système de référence auquel est associé l'objet.
Pr. A. BOUDHAR >>>FST-Béni Mellal 21
La table SPATIAL_REF_SYS
• Chaque colonne géométrique est associée à un système de référence spatiale.
• Le système de référence spatiale identifie le système de coordonnées de tous les
objets stockés dans les colonnes et tous les objets d'une même colonne
géométrique sont associés au même système de référence.
• La table SPATIAL_REF_SYS stocke les informations de chaque système de
référence dans la Base de Données.
• Les différents attributs de cette table sont :
• srid : ID du système de références (Spatial Reference Identifier)
• auth_name : auteur du système (ESRI, ....)
• srtext : description du système de référence (unités, longitude, latitude..)
• L'interopérabilité entre les clients (les différents SGBD utilisant cette table) est
réalisée grâce à la colonne SRTEXT qui stocke les informations du système de
référence au format Well-known Text (WKT).
Pr. A. BOUDHAR >>>FST-Béni Mellal 22
Créer une Table spatiale
• CAS 1: EN 1 SEULE ETAPE
• Can be done in one step
• To add additional columns (3D linestring).
GRID= 4326 WGS 84 long/lat
Pr. A. BOUDHAR >>>FST-Béni Mellal 23
Insertion de Données Géo. Dans SGBD
Spatial
• CAS 2: EN DEUX ETAPES
• 1- On crée une table sans géométrie
CREATE TABLE test (
id integer PRIMARY KEY,
genre varchar);
• 2- Ajouter une colonnes pour représenter la géométrie,
Syntaxe (in postgis):
AddGeometryColumn( [Table], [Colonne_Geometrique], [SRID],
[Type_Geometrie], [Dimension]);
• [Table] est le nom de la table à laquelle doit être ajoutée la colonne géométrique;
• [Colonne_Geometrique] est le nom de la colonne géométrique;
• [Type_Geometrie] est le type de géométrie possible:
• [SRID] est l'identifiant spatial de projection selon le système de projection choisi. A titre
d'exemple pour le Lambert II Carto Etendu, srid=27852;
• [Dimension] est la dimension des objets géométriques 2D ou 3D ou 4D;
Pr. A. BOUDHAR >>>FST-Béni Mellal 24
Insertion de Données Géo. Dans
SGBD Spatial: Exemple
• Ajouter une colonne ‘geom’ de type géométrie
SELECT AddGeometryColumn ('test', 'geom', - 1, 'GEOMETRY', 2);
GEOMETRY : type géo. Globale (point, polygone…)
Exemple
Pr. A. BOUDHAR >>>FST-Béni Mellal 25
Types géométriques
• Point
• Les valeurs de type point sont spécifiées en utilisant la syntaxe
suivante:
• x y
• où x et y sont les coordonnées respectives sous forme de nombre à
virgule flottante.
• MULTIPoint
• (x1 y1, x2 y2, x3 x4)
Pr. A. BOUDHAR >>>FST-Béni Mellal 26
Types géométriques
• Polyline LINESTRING
• Les segments de droites (lseg) sont représentés sous forme
paires de points, en utilisant la syntaxe suivante:
• ( x1 y1 , x2 y2, x3 y3 )
• MULTILINESTRING
• (( x1 y1 , x2 y2, x3 y3 ),(x4 y4 , x5 y5, x6 y6 ))
MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4))
Pr. A. BOUDHAR >>>FST-Béni Mellal 27
Types géométriques
•POLYGON
• ( ( x1 y1 , x2 y2, x3 y3, x4 y4 ) )
où les points sont les extrémités des segments de
droites qui forment les limites du polygone.
• EXEMPLE
POLYGON((1 1,5 1.5,7 8,4 6.5,4 5,2 3,1 1))
• POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)) avec un trou
Pr. A. BOUDHAR >>>FST-Béni Mellal 28
Types géométriques
• MULTIPOLYGON
• ( ( x1 y1 , x2 y2, x3 y3, x4 y4 ), ( x5 y5 , x6 y6, x7 y6, x8 y8 ) )
• EXEMPLE:
MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)),((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)))
Pr. A. BOUDHAR >>>FST-Béni Mellal 29
Insertion de données géométrique
• USING SQL
Pr. A. BOUDHAR >>>FST-Béni Mellal 30
Insertion de données géométrique
• Loading GIS (Vector) Data
Pr. A. BOUDHAR >>>FST-Béni Mellal 31
Requêtes Spatiales et calculs
géométrique
• sum(expression) agrégation retournant la somme d’un ensemble ;
• count(expression) agrégation retournant le nombre d’éléments d’un ensemble
• T_GeometryType(geometry) retourne le type de la géométrie
• ST_SRID(geometry) retourne l’identifiant du système de références spatiales
• ST_X(point) retourne la coordonnée X
• ST_Y(point) retourne la coordonnée Y
• ST_Length(linestring) 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 d’une ligne
• ST_Area(geometry) retourne l’aire d’un polygone
• ST_NRings(geometry) retourne le nombre de contours (1 ou plus si il y a des trous)
• ST_Perimeter(geometry) retourne la longueur de tout les contours
• ST_GeomFromText(text) retourne geometry
• ST_AsText(geometry) retourne WKT text
Pr. A. BOUDHAR >>>FST-Béni Mellal 32
Examples of Spatial SQL
• use of two tables
• linear roads,
• polygonal municipality boundaries
Pr. A. BOUDHAR >>>FST-Béni Mellal 33
• What is the total length of all roads, expressed in kilometers?
• How large is the city of Prince George, in hectares?
Pr. A. BOUDHAR >>>FST-Béni Mellal 34
Spatial SQL
• What is the largest municipality in the province, by area?
Pr. A. BOUDHAR >>>FST-Béni Mellal 35
Spatial SQL
• What is the length of roads fully
contained within each
municipality?
Pr. A. BOUDHAR >>>FST-Béni Mellal 36
Spatial SQL
• Create a new table with all the roads within the city of Prince
George.
Pr. A. BOUDHAR >>>FST-Béni Mellal 37
Spatial SQL
• What is the length in kilometers of "Douglas St" in Victoria?
Pr. A. BOUDHAR >>>FST-Béni Mellal 38