Atelier Cartographie octobre 2004
Département de Géographie / UTM
Laurent Jégou
jegou@univ-tlse2.fr
DESS Sigma : Module 233
Cartographie et SIG interactifs en ligne
Séance 3 : Introduction à PostgreSQL, PostGIS et AsSVG.
1°) Présentation du système
Un des moyens les plus utilisés pour stocker les données SIG utilisées par MapServer est le duo
PostgreSQL+PostGIS. Le principe est de faire gérer toutes les données, même géométriques, par un
Système de Gestion de Bases de Données (relationnel), pour apporter une plus grande intégration avec les
données attributaires, les tables, et une meilleure gestion de l'information.
PostgreSQL (http://www.postgresql.org/) se revendique comme le SGBD OpenSource le plus
« sophistiqué » du monde. C'est en effet un système très puissant et très ouvert, en constante évolution. Au
départ réservé au monde Unix, PostgreSQL a été porté depuis sous Windows, ce qui permet une intégration
plus simple à MS4W.
PostGIS (http://postgis.refractions.net/) est une extension de PostgreSQL qui ajoute des fonctions de
stockage et de requêtes spatiales au SGBD. On peut ainsi stocker sous forme de tables des couches SIG
complètes, munies de leurs données attributaires, et composées d'éléments géométriques variés.
Concrètement une telle couche SIG devient une table PGSQL munie d'un champ supplémentaire,
comprenant les données géométriques décrites dans une syntaxe propre. Il existe des convertisseurs simples
pour intégrer des couches SIG aux formats courants : shapesfiles, mapinfo.
AsSVG (http://svg.cc/pg/ assvg / ) est une extension de PostGIS qui permet de convertir les données
géométriques PostGIS en syntaxe SVG, directement dans le SGBD. Les résultat d'une requête PGSQL
pourra ainsi être retourné sous la forme de commandes de dessin SVG, facilement intégrables dans un
document.
2°) Installation
Étant des projets OpenSource destinés en priorité au monde Unix, le mode d'installation normal de
ces logiciels se base sur une configuration/compilation/installation des sources. Donc jusqu'à il y a peu, pour
pouvoir utiliser PostgreSQL sous windows, il fallait l'installer avec CygWin, système qui émule une machine
linux sous windows. Depuis la version 8.0 de PostgreSQL est disponible une version native win32, installable
sur tout système compatible (de NT 4.0 à XP pro). Mais le problème réside dans la nécessité de devoir
compiler PostGIS en même temps que PostgreSQL... et idem pour AsSVG.
La solution mise au point par de sympathiques développeurs à été de compiler des exécutables win32
directement depuis les sources de ces trois applications, on peut donc aujourd'hui installer ce système assez
facilement, en utilisant leur productions :
http://www.webbased.co.uk/mca/
http://www.01map.com/download/ (Jean-David Techer, auteur de nombreux tutoriaux sur PostGIS)
L'installation est détaillée sur cette page : http://www.01map.com/david/doc/postgis090/
Dans le cas de notre installation, il faut créer un utilisateur classique « sigma » sur le poste Windows XP, doté
du mot de passe « sigma » (pour faire simple).
Le lancement de PostGreSQL en tâche de fond se fait dans une fenêtre de commande de l'utilisateur
sigma (si vous êtes en session administrateur, lancez une fenêtre de commandes au nom de l'utilisateur
sigma par la commande : runas /noprofile /user:sigma cmd), puis dans la fenêtre de comande exécuter
postmaster (lancement de PostgreSQL).
Pour initialiser la base de donénes de l'utilisateur sigma, il faut, toujours dans une fenêtre de commandes à
son nom, se rendre dans le répertoire C:\PostgreSQLWin32, charger les variables globales en lançant
set_env.bat, puis lancer la commande : initdb.