Upload
aime-rollin
View
110
Download
1
Embed Size (px)
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
XΔ
YΔ
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