Outil de visualisation et d’export de données de format TRIDENT Fabien Ancelin, 17 Décembre 2008 Projet réalisé dans le cadre du cours SCG_67210 Encadré par T.Badard, F.Hubert
Fabien Ancelin - Présentation SCG_ Plan de la présentation 1.Présentation du projet 2.Méthodologie 3.Présentation du travail réalisé 4.Intérêts et difficultés du projet
Fabien Ancelin - Présentation SCG_ Ce que sont les données TRIDENT Les limites de données TRIDENT Les apports d’une base de données spatiales Objectifs du projet 1.Présentation du projet
Fabien Ancelin - Présentation SCG_ TRIDENT = TRansport Intermodality Data sharing and Exchange NeTwork TRIDENT a pour but de fournir un format d’échange commun pour les données relatives aux transports en commun Informations relatives aux horaires, à la topologie, et à la géographie du réseau Ce que sont les données TRIDENT
Fabien Ancelin - Présentation SCG_ Prévue pour échanger des données gérées dans des bases de données non spatiales TRIDENT ne peut être mis en relation avec un graphe routier La géographie des arrêts ne peut être visualisée par l’utilisateur Les limites des données TRIDENT 1/1
Fabien Ancelin - Présentation SCG_ Les limites des données TRIDENT 2/2
Fabien Ancelin - Présentation SCG_ Possibilité de mettre en place des applications multi modales Mettre à jour graphiquement les données géographiques Intérêt de passer les données dans une base de données spatiale
Fabien Ancelin - Présentation SCG_ Objectifs du projet XML BD Spatiale Visualisateur Export de la couche Accès au réseau Données d’habillage Lecture du fichier
Fabien Ancelin - Présentation SCG_ Diagramme des cas d’utilisation Procédure utilisée Choix de outils utilisés Conception de l’interface Gestion de la connexion de base de données Définition d’une architecture 2.Méthodologie
Fabien Ancelin - Présentation SCG_ Diagramme des cas d’utilisation Prévisualisation Export BD Réseau Visualisation BD Réseau Visualisation données externes
Fabien Ancelin - Présentation SCG_ Séquence du programme Ouverture de l’interface Import XML Connexion BD Spatiale ExportVisualisation
Fabien Ancelin - Présentation SCG_ Organisation du travail Conception graphique Conception d’un Model simplifié Import PostGIS Affichage des données 10 Novembre 22 Novembre 10 Novembre Date butoirs fixées Au début du projet
Fabien Ancelin - Présentation SCG_ Choix des composants : parsing XML Deux outils : Sax Builder vs JDom Opposition entre deux approches : EventBased vs TreeBased JDOM : simple d’utilisation et permet un accès partiel au document XML Choix de parser : JDOM
Fabien Ancelin - Présentation SCG_ Choix des composants : interface SWT ne semble pas très séduisant… pourtant : AwtSwingSwt Capacités de dessin -+++ Simplicité d’utilisation ++ + Utilisation des ressources graphiques ++++ Portabilité Récent… À découvrir! SWT : une nouvelle boite à outils Compatible avec Awt et Swing
Fabien Ancelin - Présentation SCG_ Choix de la base de données Base de données spatiales puissante et multi-plateforme Outil gratuit, déjà installé sur l’ordinateur de développement Pas de contrainte d’utiliser un nouvel outil Aucune hésitation : PostGIS, pourquoi?
Fabien Ancelin - Présentation SCG_ Simplification du modèle TRIDENT Point sur Itinéraire Arrêt Physique Arrêt Commercial Zone d’arrêt Tronçon 1,1 2,2 <appartient Délimité par >
Fabien Ancelin - Présentation SCG_ Simplification du modèle TRIDENT Arrêt Physique Arrêt Commercial Tronçon 1,1 2,2 <appartient Délimité par > Itinéraires Ligne Réseau Ce qu’on veut représenter
Fabien Ancelin - Présentation SCG_ Définition d’une maquette d’interface
Fabien Ancelin - Présentation SCG_ Création d’une architecture Utilisation d’ArgoUML : conception et génération de code
Fabien Ancelin - Présentation SCG_ démonstration 3.Présentation des résultats
Fabien Ancelin - Présentation SCG_ Intérêt et difficultés du projet SWT, une boite à outils, puissante, mais plus difficile à utiliser que Swing JDom, le XML en toute simplicité Commentaires sur les outils utilisés Comment a-t-on répondu aux besoins? Fonctions de prévisualisation Une interface (presque) opérationnelle Les fonctionnalités manquantes Et si c’était à refaire?
Fabien Ancelin - Présentation SCG_ SWT, des outils puissants mais complexes Le Flow Layout, pour des mises en page au millimètre : FlowLayout permet de définir la position d’un composant dans son parent. Possibilités de positionner par rapport à n’importe quel bord du composant Quelques petits désavantages Nécessite la création systématique d’ objets FormData et de FormAttachment Un positionnement non intuitif (y = ax + b) Et de nombreuses « layout » à essayer !
Fabien Ancelin - Présentation SCG_ SWT, des outils puissants mais complexes Le package SWT_AWT : une intégration quasi-transparente Import du package org.eclipse.swt.awt.* + Création d’un Frame awt + Ajout d’un JPanel, = du awt / swing dans du swt Et du coup, la classe AffineTransform est accessible
Fabien Ancelin - Présentation SCG_ SWT, des outils puissants mais complexes Une organisation parfois chaotique Des méthodes qui ont le même nom, mais pas les mêmes effets Pas de possibilité de filtrer les événements en fonction de leur source Pas d’héritage sur les objets clés : Panels, Arbres Résultat, un code long, difficile à organiser, et beaucoup de variables définies en static!
Fabien Ancelin - Présentation SCG_ JDom, le XML en toute simplicité … mais un fichier complexe et non propre Copie du fichier XML dans la mémoire vive Lecture, écriture ou suppression des éléments via l’arborescence Une utilisation simple… Structure complexe Coordonnées erronées Valeurs parfois nulles
Fabien Ancelin - Présentation SCG_ Les résultats comparés aux objectifs initiaux FonctionnalitéEtat Interface d’import du fichier Prévisualisation de fichier TRIDENT Arbre représentant les éléments de la ligne Export vers PostGIS Import de données depuis PostGIS Fonctionnalités de navigation
Fabien Ancelin - Présentation SCG_ Comparaison du temps passé sur chaque étape Poids des tâches initialement prévu Poids des tâches à la fin du projet
Fabien Ancelin - Présentation SCG_ A poursuivre? Fonction import PostGIS Edition des données Couplage avec le graphe routier
Fabien Ancelin - Présentation SCG_ Et si c’était à refaire? Utilisation des fonctions de transformation de coordonnées de SWT Se focaliser davantage sur la partie Import / Export de la base de données