bandeausupnew

PostGIS est une extension complétant des bases de données (PostGresql notamment) pour leur donner une dimension spatiale. Oracle Spatial et SQL Server (2008 et ultérieure) sont aussi des bases de données spatiales.  Une base de données spatiales est une base de données en capacité de manipuler des données géométriques ou géographiques au même titre que n'importe quelle autre donnée dans la base. Postgis est une extension de manipulation d'objets géométriques et/ou géographiques et qui, couplée à une base de données (PostGresql par exemple), constitue une base de données spatiales en capacité de manipuler des objets géométriques et géographiques. Bien sûr en natif PostGresql possède des capacités élémentaires de manipulation d'objets géométriques dans un repère euclidien. L'extension POSTGIS apporte un bras de levier en géométrie et des fonctionnalités nouvelles en géographie et cela pour l'ensemble des référentiels de l'EPSG ( ellipsoïde + datum => identifié par un SRID Spatial Reference IDentifier), notamment via des fonctions spécialisées (bibliotèque de + de 1000 fonctions) permettant de conduire des traitements spécifiques lors d'une requête.

En tant que greffon("plugin") PostGis hérite de toutes les capacités de PostGesql et le couple Postgresql-Postgis constitue une base de données géographique et géométrique particulièrement remarquable.

Donc en référence aux bases de données, nous donnons en premier ce qui associe des données spatiales avec un gestionnaire de base de données :

  1. le type de données spatiales  fait référence à la nature de l'objet géométrique : point, ligne, et polygône;
  2. Les index spatiaux à l'instar des index classiques, permettent d'accélérer les traitements de requêtes, l'indexation localisant l'objet spatial élémentaire dans un rectagle d'encombrement;
  3. les fonctions de traitement spatial, définies en language SQL, permettent de conduire des requêtes sur des propriétés spatailes intrinsèques d'objet, tout comme via des relations les liant.

Leur combinaison permet la construction de requêtes très puissantes. Au delà de la géographie une base de données spatiales permet d'analyser toutes structures géométriques regoupées dans une volumétrie d'encombrement finis avec des règles spécifiques de projection si nécessaires.

Historiquement les fichiers originaux employés dans les systèmes d'informations les fichiers *.shp (shapefile) sont fondés sur des structures polylignes. Postgis est reparti d'objets géométriques de bases, ceci en fait un instrument de 1er choix pour le traitement géométriques dans les systèmes d'information géographiques.

Un index spatial permlet de répondre à la question : quels sont les objets contenus dans une boîte frontière ? Cette boîte frontière (un rectangle en 2D, ou un parallélipipède orthogonal ( à face rectangulaire) en 3D, réduit la volmétrie de calcul pour les localisation d'objets internes ou externes à une structure orhtogonale. 

Ce qui suit trouve ses sources dans l'ouvrage"PostGis In Action" seconde édition de Regina Obe et Leo Hsu, ou dans la documentation en ligne de postgis , c'est une simple ré-écriture de meilleure interprétation par et pour l'auteur et s'applique à la configuartion de travail qui suit.

"POSTGIS="2.4.3 r16312" POSGRESQL="10.0" PGSQL="100" GEOS="3.6.2-CAPI-1.10.2 4d2925d6" PROJ="Rel. 4.9.3, 15 August 2016" GDAL="GDAL 2.2.3, released 2017/11/20" LIBXML="2.9.4" LIBJSON="0.12.1" LIBPROTOBUF="1.2.1" RASTER"

Pour les capacités topologiques (c.a.d intérêt pour arête, surface [plan], sommet) de POSTGIS, vous trouverez une présentation de référence ICI.

POSTGIS est une extension spatiale, pour la base de données PostGresql. Une extension spatiale donne la possibilité à une base de données de gérer des données et des images référencées géographiquement. Les applications concernent toutes analyses de proximité ou d'intersection de zones. PostGis offre la possibilté d'analyser des images RASTER ( une donnée phyique référencée en X, Y) la donnée physique constituant la 3 ème dimension. Présentés sous forme d'images, de tels objets géométriques peuvent recevoir des traitements propres à tout type d'images. Les performances de POSTGIS en matière de manipulation d'objets géométriques restent parmi les meilleures sinon la meilleure du marché. 

Les éléments de gestion et d'usage de POSTGIS concernent les types de données, les modes d'administration, les règles d'importation de données et d'images, les requêtes de localisation et de mises à jour des données géométriques et géographique. Enfin POSTGIS fournit une collection très riche de fonctions permettant de générer et de modifier des données géométriques et géographiques.

De nombreuses fonctions et opérateurs gèrent des données géométriques et géographiques. Rappelons qu'en terme de données géographiques , toutes les données sont référencées dans un système géodésique, ce qui permet de manipuler latitude et longitude, comme le calcul de toute distance en prenant en compte implicitement la rotondité et la courbure de la terre.. A contrario les données géométriques sont données dans le seul répềre cartésien/Euclidien, donc tous calculs de distance doit intégrer des compléments de correction tenant compte de la rotondité du sol.

La majorité des fonctions spatiales peuvent être regroupées dans l’une des cinq catégories suivantes :

  1. Conversion: fonctions qui convertissent les données géographiques dans un format externe WKT, WKBGML, SVG, KML...GEOJSON.
  2. Gestion: fonctions qui permettent de gérer les informations relatives aux tables spatiales et l’administration de PostGIS.
  3. Récupération: fonctions qui permettent de récupérer les propriétés et les mesures d’une géométrie.
  4. Comparaison: fonctions qui permettent de comparer deux géométries en respectant leurs relations spatiales.
  5. Contruction: fonctions qui permettent de construire de nouvelles géométries à partir d’autres, les objets sont construits à partir de format WKT, WKB, GEOJSON,
  6. Initialisation et accès aux attributs (getters, setters).
  7. Mesure, mesures scalaires d'un objet,
  8. Décomposition, extraction d'objet élémentaire d'un objet plus comlexe,
  9. Composition, agrégation construction d'un objet complexe à partir d'objets simples,
  10. Simplification ou sous échantillonnage d'un objet.

Par ailmleurs les données géographiques sont explicitées dans un référentiel qui doit être indiqué (SRID SPatial Référentiel IDentifier). Les formats employés dans POSTGIS héritent des formats O.G.C. et constituent des sur-ensembles de ces derniers. Les formats O.G.C. n'incluent jamais, les S.R.I.D. dans leur représentation de données. A contrario les formats POSTGIS qui sont donc des extension des formats O.G.C (ex. : WKT => EWKT, WKW => EWKD avec 'E' comme étendu) incluent le support des coordonnées 3DM, 3DZ, 4D et intçgrent l'information S.R.I.D.

Exemples de la représentation texte  (EWKT) ou des exteensions d'objets spatiaux ci-dessous :

  • POINT(0 0 0) -- XYZ

  • SRID=32632;POINT(0 0) -- XY avec SRID

  • POINTM(0 0 0) -- XYM

  • POINT(0 0 0 0) -- XYZM

  • SRID=4326;MULTIPOINTM(0 0 0,1 2 1) -- XYM avec SRID

  • MULTILINESTRING((0 0 0,1 1 0,1 2 1),(2 3 1,3 2 1,5 4 1))

  • POLYGON((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0))

  • MULTIPOLYGON(((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0)),((-1 -1 0,-1 -2 0,-2 -2 0,-2 -1 0,-1 -1 0)))

  • GEOMETRYCOLLECTIONM( POINTM(2 3 9), LINESTRINGM(2 3 4, 3 4 5) )

  • MULTICURVE( (0 0, 5 5), CIRCULARSTRING(4 0, 4 4, 8 4) )

  • POLYHEDRALSURFACE( ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)), ((1 1 0, 1 1 1, 1 0 1, 1 0 0, 1 1 0)), ((0 1 0, 0 1 1, 1 1 1, 1 1 0, 0 1 0)), ((0 0 1, 1 0 1, 1 1 1, 0 1 1, 0 0 1)) )

  • TRIANGLE ((0 0, 0 9, 9 0, 0 0))

  • TIN( ((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0)) )

Les conversions de formats le 'E' indiquant l'extension propre à POSTGIS, la conversion se faisant d'un format OGC à un format POSTGIS et réciproquement.:

bytea EWKB = ST_AsEWKB(geometry); text EWKT = ST_AsEWKT(geometry); geometry = ST_GeomFromEWKB(bytea EWKB); geometry = ST_GeomFromEWKT(text EWKT);

PostGis apporte des extensions dans la définition des objets comme dans la construction de certaines fonctions et notamment pour la manipulation d'objets géométriques ou géographiques.
La définition d'un objet géographique attent la nautre de l'obbjet (POINT, LINES..) et le référentiel géométrique de projection SRID. Exemple (SRID = 4326 ~ WGS84):
 
CREATE TABLE global_points ( id SERIAL PRIMARY KEY, name VARCHAR(64), location GEOGRAPHY(POINT,4326) );
 

 

 

Nous utilisons des cookies. Ils sont activés sur ce sites, êtes vous d'accord ? Des infos sur les Cookies => ICI informations privées.

  J'accepte les cookies de ce site.
EU Cookie Directive plugin by www.channeldigital.co.uk