M2 STIC – TP – PostGIS et MapServer TP : PostGIS et MapServer 1. Sur les postes Sont installés sur les différents postes : - PostgreSQL 8.4 (dans C:\Program Files\PostgreSQL\8.4) - PostGIS 1.4 pour PostgreSQL 8.4 (même répertoire) - pgAdmin III 1.10 (même répertoire) Utilisateur de PostgreSQL : postgres / geouser Port de PostgreSQL : 5432 (par défaut) 2. Création de la base de données - Lancer pgAdmin III (Démarrer / Tous les programmes / PostgreSQL 8.4 / pgAdmin III) - Connexion à PostgreSQL Database Server 8.4 (localhost:5432) - Supprimer la base de données France si présente - Dans les bases de données, ajouter une nouvelle base comme suit : David FAU 1 M2 STIC – TP – PostGIS et MapServer - Remarquer que la base France contient déjà 2 tables et plusieurs opérateurs et fonctions 3. Insertion de données test - Ouvrir l’invite de commande pgsql (Démarrer / Tous les programmes / PostgreSQL 8.4 / psql sur ‘postgres’) - Se connecter - Se connecter à la base France : \c France - Exécuter les commandes pour : o Créer une table ‘points’ avec une colonne ‘nom’ en varchar et une colonne de géométrie ‘geom’ de type point create table points ( id serial primary key, nom varchar(20)) ; select addgeometrycolumn(‘points’, ‘geom’, -1, ‘POINT’, 2) ; David FAU 2 M2 STIC – TP – PostGIS et MapServer o Insérer les éléments : Origine (0,0) Insert into points (nom, geom) values (‘Origine’, geomfromtext(‘POINT(0 0)’, -1) ; Axe X (5,0) Insert into points (nom, geom) values (‘Axe X’, geomfromtext(‘POINT(5 0)’, -1) ; Axe Y (0,5) Insert into points (nom, geom) values (‘Axe Y’, geomfromtext(‘POINT(0 5)’, -1) ; Ecrire la requête pour lister le nom du point, sa géométrie en texte et la distance entre ce point et le point de coordonnées (5,5) Select nom, astext(geom), st_distance(geom, geomfromtext(‘POINT(5 5)’, -1)) from points ; 4. Transfert d’un Shape en PostGIS et ajout dans le fichier MAP Pour convertir le SHP en PostGIS, nous allons utiliser l’utilitaire shp2pgsql fourni avec PostGIS. - Dans invite de commande : Set PATH=C:\program files\postgresql\8.4\bin;%PATH% - Conversion de SHP vers PostGIS shp2pgsql –s 27562 –I c:\ms4w\apps\france\shp\region.shp region > region.sql - Editer le fichier SQL et ajouter après CREATE TABLE (....) WITH OIDS ; - Insertion du script sql dans la base France : psql –f region.sql France postgres - Modifier la couche region pour la charger depuis la table PostGIS en remplaçant la ligne DATA dans le LAYER par les 3 lignes suivantes : CONNECTION "user=postgres password=geouser dbname=France host=localhost" CONNECTIONTYPE POSTGIS DATA "the_geom from region" #the_geom est le nom de la colonne géométrie David FAU 3