Projet SPI - geo.ulg.ac.be · PDF fileInterface Web phpPgAdmin 9. ... Création...

download Projet SPI - geo.ulg.ac.be · PDF fileInterface Web phpPgAdmin 9. ... Création d’un compte ‘donnay’ ayant les droits de ... Construction du portail cartographique

If you can't read please download the document

Transcript of Projet SPI - geo.ulg.ac.be · PDF fileInterface Web phpPgAdmin 9. ... Création...

  • 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