TP : PostGIS et MapServer

publicité
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
Téléchargement