Projet Final Réalisation dun SIG-4D IASIG promotion 2007 - 2008 27 Juin 2008

Preview:

Citation preview

Projet Final

Réalisation d’un SIG-4D

IASIG promotion 2007 - 2008

27 Juin 2008

Objectifs du projet

7 semaines5 trinômes

Fonctionnalités– MNT et placage d’orthophotos– 3 Réseaux: HT – Route – Métro– Mobiles– Modes d’affichage: filaire – surface –

ortho– Eclairage jour / nuit– Mini-Carte d’orientation– Visualisation non-animée– Visualisation animée

Structure du projet

FICHIERS BDDZONE

D’ECHANGE CALCUL

AFFICHAGE

IHM

Moteur E/S (MES)

JDBC

BDD

Buffer des données pour visu

Mot_iti

Mot_dépla

Mot_insPylône

Mot_Visu

...

Diagramme UML général

Base de données

Ismaïla Giroux – Jérémie Pelissier – Ludovic Delaunay

Généralités sur les Bases de données

Comparatif Postgre / Oracle

MNT

Anne-Cécile Capel – Ludovic Delaunay – Ismaïla Giroux Isabelle Lortal – Jérémie Pelissier – Sophie

Van Brabant

Présentation du MNT

Présentation des orthophotos

Placage de texture

Chargement des données MNT dans la base

Réseau Haute Tension

Loïc Tachet – Vincent Toupense – Tarek Chami

• Implantation d’une centrale géothermique

• Insertion de 8 transformateurs sur la scène

• Insertion de bâti près de quelques transformateurs

• Construction du réseau entre les transformateurs

Appréhension du projet

Superposition de trois couches:

• Bati• Reseau HT• Reseau Routier

Conception

Comment construire le réseau électrique?

• Une organisation de fichier:• Un fichier SIF.• Un fichier SXYZ.• Un fichier PAXYZ• Un fichier Pylônes (AXYZ)• Un fichier de transformateurs

Conception

Comment construire le réseau électrique?

• On trace arc par arc:

• Développement de procédures de recherche de successeur et de prédécesseur.

• Cas particulier:• Le premier pylône de l’arc en cours

Conception

Comment construire le réseau électrique?

• Les procédures:

• Recherche1Min Premier Pylône

• Recherche2Min Successeur du pylône en cours

• Orientation Orientation à donner au pylône en cours

Conception

La procédure orientation

ref

ref

α2

β

α1AngleComp

Condition : différence entre α1 et α2 doit être inférieure à 90°

Pylone SUCC

Pylone CURR

Pylone PREDAvec orientation β connue

• Deux cas se présentent:

• YPred > YCURR•(α1+ α2)/2 + 90

• YPred <= YCURR• (α1+ α2)/2 - 90

Conception

Figure 10 Schéma d’interaction entre 2 pylônes

Conception

La procédure orientation

Figure 10 Schéma d’interaction entre 2 pylônes

Dessiner un câble:

• Utilisation de COSH• Argument entre -0.5 et +0.5

Utilisation de la fonction partie fractionnaire y = x – E(x)

• Gestion de » l’effet de marche » entre deux pylônes

Les câbles

Construction d’un polyèdre

Ouest EstOrientation

Xc Yc Zc

Orientation d’un polyèdre

Les données de MapInfo:- Les coordonnées des quatre extrémités

Les données extraites:- La longueur- La largeur- Les coordonnées du centre du polyèdre- L’orientation par rapport à l’axe Est - Ouest (ATAN)

Insertion des polyèdres

Figure 10 Schéma d’interaction entre 2 pylônes

Insertion des polyèdres

Construction d’un polyèdre

Stockage dans la base de données :

- Informations sur la géométrie- Attributs visualisables par info bulle

Chargement des objets dans la base de données :

- Réseau électrique : Centrales, Transformateurs, Pylônes, Câbles, Ampoules - Bâti : Maisons et Immeubles

Base de données

ID X Y Z orientation dalle pred succ ampoules Attributs informatifs

PYLONES

Pour chaque table :

- Identifiant (clé primaire)- Coordonnées- Identifiant de dalle- Attributs d’information

Base de données

Au chargement de la couche HT ou de la couche Bâti

Remplissage de toutes les tables associées avec Requête SQL (INSERT … INTO table VALUES …)

Base de données

BG scene3D

BGBranche reseau HT BG Branche Bati

BGBGBranche Ligne MT Branche Bati MT

BG BG

Branche pylones

Branche câbles

Branche ampoules

Branche transformateurs

Branche centrales

BG BranchGroup avec Behavior

BG

Branche Centrale

Branche Transfo

Branche Ampoule

Branche Cable

Branche Cable

Branche Cable

Branche Cable

Branche Pylône

Branche Immeuble

Branche Maison

BG BG

BG BG

Un buffer de rafraîchissement par branche

Affichage

N°dalleListe BG

25

44

175

176

Buffer avant rafraichissement

43

Le rafraîchissement de l’affichage

Liste dalles

25

44

46

175

174

45

N°dalleListe BG

25

44

175

176

Buffer après rafraichissement

45

174

AjouteComposantsEnleveTG

MAJBuffer

Affichage

Affichage

La Gestion des info bulles

Affichage

Affichage

La Gestion des info bulles

Réseau Routier

Noémie Gremeaux – Marie Lambois – Rémi Pas

Plan

•Création de la base de données•Géoroute•Graphe en 2D•Interpolation•Visualisation des routes

•Calculs d’itinéraires•Choix des sommets de l’itinéraire•Algorithme du plus court chemin•Visualisation de l’itinéraire

•Mobiles en mouvement•Implantation des mobiles•Calculs de positionnement•Interaction entre les mobiles

•IHM

Création de la base de données

Spécifications de la Géoroute

Spécifications de la Géoroute

Champ Type Description

ogc_fid serial Identifiant et clé primaire du tronçon

wkb_geometry geometry Forme géométrique du tronçon

id_route500 integer Identifiant dans la BD Route500

vocation character(18) Vocation d’usage de la route

nombre_chaussée character(11) Nombre de chaussées

nombre_voies character(26) Description du nombre de voies

etat_physique character(15) Qualité du revêtement

accès character(10) Type d’accès (libre ou payant)

réseau_vert character(16) Appartenance au réseau vert (itinéraire bis)

sens character(12) Sens unique ou nom

réseau_européen character(20) Identifiant européen de la route

numéro_route character(10) Identifiant administratif de la route

classement_administratif character(14) Type de route

longueur_tronçon numeric(6,2) Longueur de l’instance en kilomètres

id_chrono character(32) Identifiant chronologique

HBDS

Sommet Tronçon

délimite

est composé de

Segment

XYZnumdalle

idTypeLgrNumeroSISF

NumdalleNumTronçon(X1,Y1,Z1)(X2,Y2,Z2)

Graphe en 2D – Récupération des points

Pline 4

660962.4 2102199.9

660979.9 2102044.2

660912.7 2101361.2

661151.4 2101060.8

Pen (3,2,16711680)

Pline 2

659341.9 2100619.7

659378.5 2100578.2

Pen (2,2,16744448)

Pline 5

668923.1 2067673.1

668764.5 2067574.1

668665.2 2067119.3

668754.5 2066852.1

668940 2066640

Pen (5,2,12583104)

PTXY

TXY

NA

NTXY

Graphe en 2D – Densification

Z

Point annexe

Route

Coupe du MNT

Graphe en 2D – Densification

Points annexes initiaux

Points annexes ajoutés

X0

Y0

Graphe en 2D – Préparation de l’interpolation

Table des segments

11

2

2

33

1 2 3

1 2 3

TRI

Table des triangles

Interpolation et passage en 3D

X

Y

Z

Z3

Z2

Z1

3

21

Z

Xinf

Xsup

X

Yinf Y Ysup

1

inf

inf

Z

Y

X

A

2

sup

inf

Z

Y

X

B

3

sup

sup

Z

Y

X

C

,

,

DY

ZZ

ZZ

DY

ZZ

DY

DX

ZZ

DY

0

ACABn 12

23

1312

0

DY

ZZ

ZZ

.

ZZ

YY

XX

DY0n.AM 12

23

1

inf

inf

)ZZ)(YY()ZZ)(XX(DY

1ZZ 12inf23inf1

Visualisation des routes

Récupération des segments dans

PostGIS

Conversion en géométrie Point3d

Ajustement des coordonnées,

remplissage d’un tableau points

Création d’un LineArray

Création d’une apparence

Création d’un Objet_Segment

Ajout dans une table shape_segment

Ajout au BranchGroup

BGroute

S S S S

BGroute 2

Calculs d’itinéraires

Choix des sommets de l’itinéraire

BGroute

BGsommet

TG sommet

Cylindre

BGsommet

TG sommet

Cylindre

BGborne

Cylindre

TGcône

Cône

TG cylindre

BGborne

Cylindre

TGcône

Cône

TG cylindre

Choix des sommets de l’itinéraire

Algorithme du plus court chemin

Sini

Sfin

1

2

3

5a1

a2

a3

a5

a4

4

a0

Algorithme du plus court chemin

PREC T1

SiniSini

12

T2

45

TA

TA

a3a4

34

a5 5

déjà rencontré par l’arc a0

+ mise à jour DR+ mise à jour LGRCHEM

Visualisation de l’itinéraire

BGitineraire

BGroute

S S SObjets de la classe Objet_segment, représentant les segments de l'itinéraire.

Mobiles en mouvements

Implantation des mobiles

BGroute

BGmobile

TG

Group

Objet Java

•Un mobile = un thread

•Modification du TransformGroup à chaque dt

•Points du parcours définis lors du calcul de l’itinéraire

•Déplacement de point en point

•Modèles de mobiles grâce à des fichiers .obj

Calculs de positionnements

ΔX

ΔY

ΔZ

φ

uv

0

vu

ZΔarcsinφ

ΔX

ΔY

ΔZ

u

λu

GXΔ

YΔarctanλ

Interaction entre les mobiles – Accident

•Géré par un thread Collision

•Calcul des distances entre les mobiles

•Distance inférieure à un seuil : collision

•Suppression des BranchGroup et Threads des mobiles

•Déclenchement du Thread feu

•Déclenchement du Thread pompier

Interaction entre les mobiles – Pompiers

•Démarrage depuis la caserne (sommet 183)

•Emprunt du plus court chemin

•Vers le plus proche sommet initial des deux véhicules accidentés

•Itinéraire identique à ce véhicule

•Arrêt à l’accident

•Extinction du feu (suppression du BranchGroup et arrêt du Thread)

•Retour à la caserne

Interface Homme - Machine

IHM - Affichage

•Choix des routes à afficher

•Couleurs naturelles ou cartographiques

•Requête de recherche de route par le nom

•Gestion par des booléens

•Requêtes des attributs dans la base

IHM – Ajout de mobiles

•Choix de la couleur du véhicule

•Sélection de l’itinéraire à suivre directement dans la scène

IHM – Gestion des mobiles

•Jusqu’à 9 mobiles possibles

•Obtention des informations

•Requête de recherche de route par le nom

Réseau Métropolitain

Alexandre Baguet – Maryse Fantin – Elodie Rieb

Visualisation

Anne-Cécile Capel – Ludovic Delaunay – Ismaïla Giroux Isabelle Lortal – Jérémie Pelissier – Sophie

Van Brabant

Visualisation non-animée

Choix dalle / chargementBufferEvenements souris clavier

Schéma du grapheScene

Visualisation animée

Hélico

IHM

Conclusion et Perspectives

- Objectifs atteints

- Objectifs non-atteints > Perspectives-Visualisation stéréo-Vol furtif

Merci de votre attention

Recommended