La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cadre et développement logiciel en géomatique

Présentations similaires


Présentation au sujet: "Cadre et développement logiciel en géomatique"— Transcription de la présentation:

1 Cadre et développement logiciel en géomatique
Fonctionnalités d’entrées/sorties de données géospatiales dans l’outil ETL GeoKettle Projet présenté par Jean Mathieu aux professeurs Thierry Badard et Frédéric Hubert

2 ETL ETL (Extract, Transform and Load)
Extrait les données de différentes sources Transforme ces donneés pour en corriger les erreurs, les conformer à des normes ou restructurer leur contenu pour respecter un schéma voulu Charge les données dans l’entrepôt de données Gère à la fois l’insertion et la mise à jour de données

3 GeoKettle Intégration de données issues de différentes sources
Version spatiale de Pentaho data integration (Kettle) Objects géométriques basés sur JTS topology suite Librairie GeoTools (fonctionnalités d’entrées/sorties) Open source

4 Fonctionnalités Geokettle
Bases de données: PostGIS (Lecture/Écriture) Oracle Spatial (Lecture/Écriture) MySQL Spatial (Lecture/Écriture) Fichiers: ShapeFile (ESRI) (Lecture)

5 Mandat Géography Markup Language (GML) (Lecture) MapInfo (Lecture)
WFS (Lecture) ShapeFile (Écriture) Tâches optionnelles: TIGER (Lecture) ArcSDE (Lecture)

6 Choix technologiques GeoTools (version 2.5.1):
Shapefile - an ESRI shapefile (R/W) GML - Geography Markup Language (R) WFS - Features from an OGC Web Feature Server (RW) ArcSDE - ESRI's middleware for spatial databases (R) Tiger - Topologically Integrated Geographic Encoding and Referencing developed at the US Census Bureau (R) MapInfo - MIF (Mapinfo Interchange Format) (RW) (work in progress)

7 Choix technologiques GeoKettle (version 3.1.0) Language : Java JTS
Eclipse : open source 

8 Méthodologie Analyser le fonctionnement de GeoKettle
Cibler les classes et endroits ou auront lieu les changements. Explorer les options offertes par Geotools

9 Fonctionnement de GeoKettle
Classes ciblées GISFileInputDialog : Boite de dialogue GeotoolsReader : Fonctions de lecture GISFileInput : processus principal

10 Fonctionnement de GeoKettle
Classe GISFileInputDialog SWT Récupère le nom de fichier, son extension et autres paramètres

11 Fonctionnement de GeoKettle
Classe GeoToolsReader Fonctions d’ouverture/fermeture des fichiers Récupération des lignes et champs

12 Fonctionnement de GeoKettle
Classe GISFileInput - Processus principal (« RUN ») - Appel des fonctions du lecteur - Instanciation de l’entrepôt de données

13 MapInfo (Lecture) Abandonné Géotools ne supporte pas ce format
public class MIFDataStore extends AbstractDataStore Module: modules/unsupported/mif   (gt-mif.jar) (Maven report) (SVN head)

14 Solutions Librairie OGR(GDAL C++) et java binding?
(should be considered unsupported, no bindings maintainer) Utiliser les librairies d’applications acceptant ce format comme OpenJump et se servir de ces logiciels pour tester son utilisation.

15 GML (Lecture) À faire Ajouter dans la classe GeotoolsReader une fonction détectant le format du fichier d’entrée pour ensuite choisir le bon DataStore

16 GML Encodage de l’URL Problèmes nombreux reliés au schéma
Tentatives avec plusieurs fichiers différents Très(trop) stricte quand à la forme du fichier VS le nombre de formes possibles de ce format Problèmes critiques  SAXException durant le «parsing» Processus jamais arrêté…

17 Solutions OpenJump et UDIG supportent ce format…mais semblent également être capricieux après quelques essais. Librairie GeoRSS comporte des fonctions pouvant lire ce format. Revoir les besoins en ce qui concerne le format GML

18 ShapeFile (Écriture) À faire: Cheminement inverse
Création des mêmes classes que pour le mode lecture. Reconvertir les données du format de GeoKettle vers celui de GeoTools Construire le shéma de données Introduire les données dans le «Datastore» Écrire les données

19 ShapeFile (Écriture) Conversion du type de données
- Détecter la classe d’objet de l’entrepôt - Trouver la classe Geotools correspondante - Traduire la classe

20 Difficultés Chemin inverse partiel seulement Méthode en lecture:
1 - Datastore 2 - Feature Source (attributs) 3 - Feature Collection (Ensemble des données) 4 - Features (Données individuelles) 5 - Insertion dans l’entrepôt

21 Difficultés Impossible d’instancier certains éléments sans le shéma
Solution: Javadoc Données dans l’entrepôt Création des types de données Création de la « Factory » Création du DataStore Création du shéma de données Création du « Writer » Écriture dans le DataStore

22 Difficultés Renvoit une exception si le fichier n’existe pas Solution:
Tester la création d’un nouveau fichier et l’ajouter à la liste d’objets de fichiers.

23 Géométries Types de géométries très spécifiques dans un ShapeFile
Null Shape Point PolyLine Polygon MultiPoint MultiPatch

24 Géométries GeoKettle comporte le type «Geometry»
Peut comporter plusieurs types de géométrie Donc, Le type géométrique du premier objet est celui choisi, si les données ne sont pas toutes du même type, une erreur est lancée.

25 Tests Tests effectués sur tous les format de géométries possible dans un shapefile (Succès) Tests chronomètrés (environs lignes / secondes)

26 Démonstration

27 696 secondes plus tard…

28 Démonstration

29 À faire Liste de choix de géométries pour l’utilisateur…
Demander pour réécrire un fichier existant… Champs dans le visualisateur non adaptés à l’écriture…

30 À faire Les opérations sur les systèmes de référence sont maintenant disponibles…inclure ces informations au ShapeFile. Chronomètre met beaucoup de temps à s’arreter Optimisation du code

31 Suggestions Possibilité d’ajouter des éléments à un Shapefile déjà existant Décomposeur de géométries

32 Bilan général Lecture de GML : non atteint
Beaucoup plus problématique que dans les prévisions Problèmes de shéma GeoRss OpenJump et udig Lecture de MapInfo : non atteint Non supporté OpenJump Lecture de WFS : non atteint Manque de temps Écriture de ShapeFile : opérationnel

33 Apprentissages Faire des prétests durant l’étude de faisabilité
Fonctionnement interne d’un outil ETL Mise en commun des apprentissages faits en cours et la réalité. Bâtir un projet sur une application existante

34 Remerciments Très grand merci à Étienne Dubé
Thierry Badard, Frédéric Hubert Merci au debugger qui dépasse maintenant le chien comme meilleur ami de l’homme Merci à la coupe longueil de Denis Lapierre qui a été pour moi une source de motivation

35 Questions?


Télécharger ppt "Cadre et développement logiciel en géomatique"

Présentations similaires


Annonces Google