projet spi - geo.ulg.ac.be · pdf fileinterface web phppgadmin 9. ... création...
TRANSCRIPT
Projet SPI -
2e Master Gomtre Gomatique Ingnieur informaticien
Plan
Groupe 1
Conception et implmentation de la base de donnes
Groupe 2
Serveur web et applications
Groupe 3
Application gomtre
Groupe 4
WMS
Groupe 5
Administration et KML
2
Schma du projet
3
Conception et implmentation de la
base de donnes
Groupe 1
Groupe 1: conception et
implmentation de la BD
Installation serveur de donnes PostgreSQL
+ PostGIS
Conception Web2GIS
Implmentation dans PostGIS
Dfinition droits daccs (autre quipes / clients)
Data loading de 2 shapefiles : btiments & parcelles
(gomtries et ID)
Contrle Lambert 72
5
Schma demand
6
Diagramme de classe
7
Conception Web2GIS
8
PostgreSQL + PostGIS
Serveur ddi
PostgreSQL 9.0.3 avec extension PostGIS
Contrle distant avecTeamViewer, et gestion locale
avec pgAdmin3
Interface Web phpPgAdmin
9
Implmentation PostgreSQL - contraintes
Diffrencier vente et locationCREATE TYPE etat_financier AS ENUM ('vendu', 'loue',
'a_vendre','a_loue');
Entreprise par dfaut : spi0000
Contrainte dexclusivit vente/location
CHECK (
(statut = 'a_vendre' OR statut = 'a_loue') AND
entreprise_code_nace = 'spi0000'OR (statut = 'vendu' OR statut = 'loue') AND
entreprise_code_nace 'spi0000')),
Contraintes diverses
CHECK (cout >= 0::double precision)
Index sur les cls trangres
10
Implmentation PostgreSQL - Fonctions
CREATE OR REPLACE FUNCTION vendreBatiment
(integer, character varying) RETURNS boolean AS
$$
UPDATE batiment
SET statut = 'vendu',
entreprise_code_nace = $2
WHERE id_batiment = $1 AND statut = 'a_vendre';
SELECT TEST((SELECT COUNT(*) FROM batiment WHERE
id_batiment = $1 AND statut = 'vendu') > 0);
$$ LANGUAGE SQL;
-> select vendreBatiment(20, oracle0000)
11
Implmentation PostgreSQL - TriggersCREATE TRIGGER triggerdeleteentreprise1
BEFORE DELETE ON entreprise FOR EACH ROWEXECUTE PROCEDURE entreprisetrigger1();
---------------------------------------------------------------------------------------
CREATE OR REPLACE FUNCTION entreprisetrigger1()
RETURNS TRIGGER AS $$
BEGIN
IF test(old.code_nace = 'spi0000') THEN
RETURN NULL;
ELSE
UPDATE batiment
SET statut = 'a_vendre', entreprise_code_nace = DEFAULT
WHERE entreprise_code_nace = old.code_nace AND statut = 'vendu';
RETURN old;
END IF;
END;
$$ language plpgsql;
12
Droits daccs
Cration dun compte donnay ayant les droits de
slection, dinsertion et de suppression sur les
donnes.
Interdiction de modifier la structure de la table
13
Data loading
Donnes de base : Shapefile
Calcul de la surface via ArcGIS
Conversion en requte SQL
shp2pgsql -s [srid] -a -Dnom.shp
nom_table > nom.sql
Chargement de la base
psql U utilisateur f nom.sql d
nom_base
14
Gomtrie
Contrainte sur la gomtrie :
the_geom geometry,
CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) =
2),
CONSTRAINT enforce_geotype_the_geom CHECK
(geometrytype(the_geom) = 'POLYGON' OR
geometrytype(the_geom) = 'MULTIPOLYGON' OR the_geom IS
NULL),
CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) =
31370)
15
Serveur web et applications
Groupe 2
Groupe 2: Serveurs et applications
Serveur web
Serveur cartographique
Connexion au serveur de donnes
Construction du portail cartographique
Contrle des accs clients
17
Solution utilise
Windows XP 32bits
Package OSGeo4W de l'OSGeo
Contient notamment un serveur apache et Quantum
GIS 1.6.0
QGIS-Mapserver est install nativement avec QGIS
1.6.0
Portail en CSS, HTML et PHP
18
Installation et configuration
Installation du package OSGeo4W
Vrification de la bonne installation du serveur web,
du serveur cartographique
Configuration des serveurs
http://download.osgeo.org/osgeo4w/release/mapser
ver-tutorial/mapserver-with-osgeo4w-users-
guide.pdf
19
Portail cartographique
Upload de fichiers DXF par les gomtres sur le
serveur apache
Transformation de formats par l'administrateur
Visualisation en ligne des DWF provenant des DXF
Visualisation des parcelles vendre, louer,... sur
un fond google map
Gestion des accs clients l'aide de fichiers
.htaccess pour l'upload et la zone administrateur
Adresse: http://geompc94.geo.ulg.ac.be/
DocumentRoot:C:\OSGeo4W\apache\htdocs\portail
20
http://geompc94.geo.ulg.ac.be/http://geompc94.geo.ulg.ac.be/
Visualisation des DWF chargs par les
gomtres ou convertis par
l'administrateur partir des fichiers DXF
des gomtresVisualisation des btiments vendre
ou louer sur un fond googlemap.
Service WMS
Upload des DXF (obligatoire) et des DWF
(facultatif) par les gomtres sur le
serveur apache
User=upload
Password=upload
Partie administrateur
User=admin
Password=admin
Rm: L'administrateur a accs la zone admin et la zone upload tandis que les gomtres
n'ont accs qu' la zone upload. D'autres personnes ayant des droits d'upload ont t dfini
dans le fichier .htpassword rfrence par .htaccess
21
Perspectives
Automatisation des transformations de format
Demande d'accs en ligne la partie upload
Amlioration de la zone administrateurs
(suppression de fichiers, autorisation des accs,...)
Portail dynamique
22
Application gomtre
Groupe 3
Application gomtre : upload .dxf (et .dwg)
24
Application gomtre : Zone administrateur
25
Application gomtre : visualisation en ligne
26
Cahier des charges
Division de parcelle Si travail en coordonnes Lambert 72 :
Fournir la liste des coordonnes de la nouvelle parcelle
Si travail en coordonnes locales :
Fournir les coordonnes de la nouvelle parcelles
Fournir les coordonnes de lancienne parcelle
lments de contrle fournir par le Gomtre
Longueur de la nouvelle limite
Longueur entre un coin de lancienne parcelle et de la nouvelle (pour chaque nouveau point)
Coin de la
Nouvelle parcelle
Exemple de longueur
fournir
27
Implantation de btiments
Si travail en coordonnes Lambert 72 :
Fournir la liste des coordonnes du btiment
Si travail en coordonnes locales :
Fournir les coordonnes du btiment
Fournir les coordonnes de la parcelle
lments de contrle fournir par le Gomtre
Longueur pour deux coins opposs du btiment, entre un coin de parcelle et un coin du
btiment
28
Exemple de longueur de
contrle
Nouveau
btiment
WMS
Groupe 4
Objectifs
1 WMS
6 couches PNG query-able
Parcelles
Btiments
Parcelles vendre
Parcelles louer
Btiments vendre
Btiments louer
30
Installation sur le serveur
OSGeo4W
Ajout de packages manquants
Inclus apache Problme car dj prsent
31
Mapfile
Consultation du mapfile
http://139.165.44.104/wms/map.html
32
http://139.165.44.104/wms/map.htmlhttp://139.165.44.104/wms/map.htmlhttp://139.165.44.104/wms/map.htmlhttp://139.165.44.104/wms/map.html
Interrogeable
Sous format Text
Sous format Html
Ncessite 3 fichiers html
Template
Header
Footer
Rcupration des attributs des parcelles et
btiments
Statut, Superficie, Date de dbut de bail, etc
33
URI daccs pour le client
http://139.165.44.104/cgi-
bin/mapserv.exe?MAP=C:/OSGeo4W/apache/htdocs
/portail/wms/SPI.map&
SERVICE=WMS&layers=parcelles&layers=
Superposition dautres services WMS :
PICC
PPNC
34
http://139.165.44.104/cgi-bin/mapserv.exe?MAP=C:/OSGeo4W/apache/htdocs/portail/wms/SPI.map&http://139.165.44.104/cgi-bin/mapserv.exe?MAP=C:/OSGeo4W/apache/htdocs/portail/wms/SPI.map&http://139.165.44.104/cgi-bin/mapserv.exe?MAP=C:/OSGeo4W/apache/htdocs/portail/wms/SPI.map&http://139.165.44.104/cgi-bin/mapserv.exe?MAP=C:/OSGeo4W/apache/htdocs/portail/wms/SPI.map&
Accs sous QGIS
35
Accs sous QGIS: query
36
Accs sous ArcMap
37
Accs sous ArcMap : query
38
Accs sous ArcMap : lgende
39
Accs sous OpenJUMP
Supporte WMS version jusque 1.1.1
->non interrogeable (support par 1.3.0)
40
Perspectives :
accs dans un navigateur
Installation librairies Openlayers
Configuration du fichier httpd.conf de Apache
Interrogeable et interactif
JavaScript
41
Connexion la base de donnes
42
Ajout des couches PostGIS
43
Possibilit de requtes
Exportation du mapfile