PostGIS – Modèle géométrique, Spécifications OGC et ISO

Slides:



Advertisements
Présentations similaires
Applications Web basées sur les Géodatabases
Advertisements

19 septembre 2006 Tendances Logicielles IBM Rational Data Architect Un outil complet de modélisation et de conception pour SGBD Isabelle Claverie-Berge.
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Fonctionnalités des SGBD
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
TP 3-4 BD21.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
Initiation au système d’information et aux bases de données
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
Contrôles d'accès aux données
L’utilisation des bases de données
Rappel sur les bases de données et le vocabulaire
PostGIS – Création d'une base spatiale
Initiation aux bases de données et à la programmation événementielle
Introduction à la conception de Bases de Données Relationnelles
Ecole Supérieure Privée de ingénierie et de technologie année universitaire :2013/2014 Cross-Plateform Cours JavaScript.
Chap 4 Les bases de données et le modèle relationnel
Administration de bases de données spatiales avec SavGIS
28 novembre 2012 Grégory Petit
Type de contenu. © Partouche David / 2007 version 0.1 Colonne de site Une colonne de site permet de définir un champs qui sera exploitable au sein de.
Le modèle relationnel.
L’utilisation des bases de données
Nicolas Ribot - Licence GNU FDL - Version 1.0
PostGIS – Chargement de données
Fonctionnalités avancées
Nicolas Ribot - Licence GNU FDL - Version 1.0
PostGIS – Spécifications OGC et ISO
PostGIS: Index, Opérateurs et Fonctions
Les concepts et les méthodes des bases de données
Management of Information Technology - e-business
PHP & My SQL.
Jean-Michel ILIE - novembre SIL - module M12 Programmation Internet en PHP SIL module M12 Jean-Michel Ilié IUT Paris 5 - département informatique.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
05/02/98WEB ESNIG Modèle logique de données Oracle Designer/2000 & Oracle Web Server.
Participation au projet de cartographie des haies champêtres du Gers Stagiaire NICOLAS BARRY Master 2 SIGMA - Septembre 2011 Tuteur-Enseignant MATHIEU.
PostgreSQL – Présentation
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Module 4 : Implémentation de l'intégrité des données.
XML fortement adopté en tant que format indépendant d’échange de données. Utilisation de XML pour la modélisation de données structurées et non structurées.
Magellium - 24 rue Hermès – BP12113, Ramonville Saint-Agne 
21/04/2015© Robert Godin. Tous droits réservés.1 6Gestion des contraintes d’intégrité en SQL n Contrainte d'intégrité statique – respectée pour chacun.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Création et Gestion de Tables
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Les vues Une vue: c’est une relation virtuelle. Définie par:
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
Les bases de données Séance 8 Jointures.
Magellium - 24 rue Hermès – BP12113, Ramonville Saint-Agne 
Le langage SQL.
Séance /10/2004 SGBD - Approches & Principes.
INTRODUCTION AUX BASES DE DONNEES
Initiation aux bases de données et à la programmation événementielle
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
Nicolas Ribot Introduction aux triggers Nicolas Ribot - Licence GNU FDL - Version 1.1.
INTRODUCTION AUX BASES DE DONNEES Base et métabase
PostGIS – Fonctions spatiales de base
Cours n°2 Implémentation et exploitation
Introduction Module 1.
Cours 11 Entrepôts de données
Echanges de données géographiques Sandre Geography Markup Language (GML) GIGE 2014 – Dimitri MEUNIER.
PROJET DE SESSION PRÉSENTÉ PAR : Rosemarie McHugh DANS LE CADRE DU COURS : SCG Réalisation d’applications en SIG 16 avril 2007.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
1 Master Data Management au SANDRE. ADD 27/11/ Une philosophie de diffusion des référentiels 3 grands blocs dans les systèmes d’information environnementaux:
Transcription de la présentation:

PostGIS – Modèle géométrique, Spécifications OGC et ISO Les bases normatives sur lesquelles repose PGIS Licence GNU FDL - Version 1.7

Plan Le concept de Feature Le concept de Raster Le concept de Topologie Base de données spatiales, les standards existants Les types PostgreSQL ajoutés par PostGIS Le modèle géométrique de PostGIS Format de représentation des données (Textuel, binaire) Intégrité référentielle et données spatiales Déclaration d’un objet géométrique 11/11/13

Le concept de 'feature' Une 'feature' comme abstraction géographique de la réalité, Géopositionnée Peut être dotée d'attributs autres que la géométrie de la feature

Le concept de ’raster' Une matrice de valeurs Géopositionnée Peut être dotée d'attributs Permet de stocker images, données de mesure, etc. Pas normé (spécifique à PostGIS)

Le concept de ’topology' Une ’topology' comme abstraction géographique de la réalité, Géopositionnée Peut être dotée d'attributs Description par nœuds, arc, faces Liens avec les entités voisines Relations spatiales explicites Normalisation des données Stockage réduit Pas normé (spécifique PostGIS) Plus de notion d’object, mais de liens topologiques: noeuds, arc, sommets Image: http://strk.keybit.net/projects/postgis/Paris2011_TopologyWithPostGIS_2_0.pdf

Le concept d'API spatiale standardisé Permet de définir pour un SGBD existant (SQL92 ou SQL99) La liste des types géométriques possibles La manière de représenter les données spatiales WKT: Textuel WKB: Binaire Les méthodes spatiales disponibles Prototype Comportement Les contraintes d'intégrité spatiales Typage géométrique Système de projection

Standards existants: OGC SFS 1.1 Disponible depuis 99 http://www.opengeospatial.org/standards/sfs Logique 2D (X Y) Types géométrique définis POINT POLYGON LINESTRING (+ Logique de MULTI et d'agrégats) Environ 80 fonctions d'accès et de manipulation des données spatiales Schéma d'intégrité référentielle spatiale geometry_columns spatial_ref_sys

Standards existants: OGC SFS 1.2 Disponible depuis 06 http://www.opengeospatial.org/standards/sfs Ajoute notamment par rapport à la 1.1: Dimensions supplémentaires avec Z et M Géométries 3D TIN POLYHEDRALSURFACE Label Formatage du texte Positionnement

Standards existants: ISO SQL/MM Standard ISO Logique de stockage X Y [Z] [M] Types spatial additionel: Curve Pas de logique de types 3D natif Logique additionnelle Network et routing Représentation topologique Fonctions géographiques Nombreuses fonctionnalités spatiales additionnelles à OGC SFS URL d'un draft ISO: http://domino.iec.ch/preview/ info_isoiec13249-3%7Bed3.0%7Den.pdf

Les types créés par PostGIS Les types PostgreSQL créés par PostGIS: geometry box2d raster box2df addbandarg box3d agg_samealignment geometry_dump geomval valid_detail gidx rastbandarg geography reclassarg spheroid unionarg

Objets géométriques de PostGIS Support 2D, 3D, 4D (mesure). Attention, pas de calculs en 3D pour les fonctions (sauf mention contraire, rare) Issus des normes: Simple Features for SQL 1.2.1 (OGC) SQL/MM Part 3: Spatial (ISO) Type spécifiques à PostGIS: raster et topology

Objets géométriques de PostGIS ISO SQL-MM OGC/ISO CIRCULARSTRING COMPOUNDCURVE CURVEPOLYGON MULTICURVE MULTISURFACE POINT, MULTIPOINT LINESTRING, MULTILINESTRING POLYGON, MULTIPOLYGON GEOMETRYCOLLECTION spécifique TRIANGLE POLYHEDRALSURFACE (3D) TIN (3D) RASTER TOPOGEOMETRY

WKT: POINT POINT (10 10)

WKT: MULTIPOINT MULTIPOINT ( 5 5, 5 15, 10 7, 10 30, 14 17 )

WKT: LINESTRING LINESTRING ( 0 5, 5 1, 9 4, 2 14, 14 13, 4 4 )

WKT: MULTILINESTRING MULTILINESTRING ( (1 5, 3 9, 14 3, 3 2, 10 8), (1 13, 8 13, 14 9, 7 9) )

WKT: POLYGON Ring externe POLYGON ( (9 13,13 9,13 3,4 2,1 4,1 12, 9 13), (5 11,5 6,1 9,5 11), (10 7, 10 4, 6 4, 8 8, 10 7) ) Coordonnées fermantes

WKT: MULTIPOLYGON MULTIPOLYGON ( ((10 14,1 8, 1 13,10 14)), (12 9, 13 3, 5 5, 7 10, 12 9), (13 7, 12 8, 11 7, 13 7) )

WKT: GEOMETRYCOLLECTION GEOMETRYCOLLECTION ( MULTIPOINT(4 10, 12 9, 14 4), LINESTRING(8 2, 2 3, 4 7, 2 9), POLYGON (10 9, 11 3, 5 5, 6 10, 10 9), (9 7, 8 6, 7 7, 9 7) )

EWKT Ajout fonctionnel PostGIS par rapport à SFS 1.1 : EWKT : Dimensions supplémentaires : 3DZ / 3DM / 4D Intégration possible du SRID dans le EWKT de la géométrie EWKT : Point 2D : POINTM(0 0 0) Point 3D : POINT(0 0 0) Point 4D : POINT(0 0 0 0)

EWKT Les types multiples et agrégés doivent respecter: Même Dimension Même SRID Exemple valide: GEOMETRYCOLLECTIONM ( POINTM(2 3 9), LINESTRINGM((2 3 4,3 4 5, 5 7 9)) ) Exemple non valide: MULTIPOINT(4 5 2,1 1, 3 6 7)

Format binaire et natif Besoin d'un format binaire pour optimiser stockage et accès aux données: WKB ( WKT pour le texte) EWKB ( WKB pour le texte) En natif PostGIS utilise pour le stockage Un encodage hexadécimal de EWKB: HEWKB Depuis la version 1.0

Interfaces entre (E)WKT et Geometry Les interfaces suivantes permettent de manipuler les données WKT et EWKT : Text WKT = ST_AsText(geometry); Text EWKT = ST_AsEwkt(geometry); Geometry = ST_GeomFromText(text WKT, SRID); Geometry = ST_GeomFromEWKT(text EWKT);

Intégrité référentielle Via la vue geometry_columns Permet d'établir un modèle relationnel cohérent pour les colonnes géométriques Définie dans la norme OGC SFS Fait le lien pour chaque colonne géométrique de la base: Dimension (2D, 3D, 3DM, 4D) Système de projection (SRID) Type de géométrie (Point, Multipolygon...) Gestion automatique (nouveauté PostGIS 2.0)

Schéma de geometry_columns Où l'on stocke F_TABLE_CATALOG VARCHAR(256) NOT NULL, F_TABLE_SCHEMA VARCHAR(256) NOT NULL, F_TABLE_NAME VARCHAR(256) NOT NULL, F_GEOMETRY_COLUMN VARCHAR(256) NOT NULL, COORD_DIMENSION INTEGER NOT NULL, SRID INTEGER NOT NULL, TYPE VARCHAR(30) NOT NULL Ce que l'on stocke

Utilisation de geometry_columns Automatiquement remplie lors de la création d’une colonne spatiale (et mise à jour si suppression) Possibilité d'avoir plusieurs colonnes géométriques pour la même table spatiale (surface et centroïdes par exemple)

Intégrité référentielle: spatial_ref_sys Permet de lister l'ensemble des systèmes de projection utilisables Définie également dans la norme OGC SFS Utilisation possible de SRID=­1 pour un système de projection indéterminé (mais c'est mal ;) La reprojection à la volée n'est plus possible ST_Transform() Utilisation possible de UpdateGeometrySRID() après coup pour mettre à jour

Schéma de spatial_ref_sys Identifiant du système de projection CREATE TABLE SPATIAL_REF_SYS ( SRID INTEGER NOT NULL PRIMARY KEY, AUTH_NAME VARCHAR(256), AUTH_SRID INTEGER, SRTEXT VARCHAR(2048), PROJ4TEXT VARCHAR(2048) ) Paramètres du système Dans PostGIS 2.0 souhait de pouvoir calculer le PROJ4TEXT à la volée

Déclaration objet géométrique Modificateur de type (TYPEMOD, depuis la v.2.0) Equivalent de varchar(2): varchar = type, 2 = contrainte sur le type: pas plus de 2 caractères Permet la mise à jour de la vue geometry_columns Remplace les anciennes contraintes sur la colonne géo Usage: geom geometry(<Type geom>, <SRID>) <type geom> type de la géométrie stockée dans la table <SRID> système de coordonnées des géométries geom geometry(Multipolygon, 2154)

Déclaration objet géométrique create table test ( id serial primary key, geom geometry ); insert into test (geom) values (st_geometryFromText('POINT (0 0)')), (st_geometryFromText('LINESTRING (0 0, 1 1)')), (st_geometryFromText('POLYGON ((0 0, 1 0, 1 1, 0 0))')); INSERT 0 3 geom geometry(Point, 2154); ERROR: Geometry SRID (0) does not match column SRID (2154)

Déclaration objet géométrique insert into test (geom) values (st_geomFromEWKT('srid=2154;POINT (0 0)')), (st_geomFromEWKT('srid=2154;LINESTRING (0 0, 1 1)')), (st_geomFromEWKT('srid=2154;POLYGON ((0 0, 1 0, 1 1, 0 0))')); ERROR: Geometry type (LineString) does not match column type (Point) insert into test (geom) values (st_geomFromEWKT('srid=2154; POINT (0 0)')); INSERT 0 1