2. 22
FME = ETL spatial
Introduction FME - 2016 - GIM
ETL pour:
▶ Extract:
- Lecture de données sources
- Requête de données
▶ Transform:
- Transformations alphanumériques
et géométriques
- Modification de données
- Validation de données
- Combinaison de données
▶ Load
- Ecriture au format désiré
Spatial pour:
▶ Gestion des géométries et localisation
3. 33
ETL spatial complet
Introduction FME - 2016 - GIM
1. Process
2. Automate
3. Notify
Les défis ETL :
▶ Intégration des systèmes CAD et SIG
▶ Migration de données
▶ Validation et correction de données
▶ Intégration et traitement de données
▶ Automatisation
13. 1313
Composants multi-plateforme
Introduction FME - 2016 - GIM
▶ FME Desktop
▶ Modélisation de processus
▶ Visualisation de données
▶ Traitement de données
▶ FME Server*
▶ WebUI
▶ API REST et SOAP
▶ Intégré dans Active directory
▶ FME Cloud*
▶ FME server sur AWS
▶ Evolutif
▶ Paiement à la consommation
▶ FME Mobile (free app)
▶ Android / iOS API
▶ Report to FME server (location…)
▶ Get notified by FME server
*Uniquement possible en combinaison avec au moins un licence FME desktop
21. 2121
Automate – FME Desktop
Introduction FME - 2016 - GIM
▶ Chaînage de transformer = automatisation de traitements
▶ Requêtes et opérations spatiales
▶ Mapping attributs
▶ Application des règles métiers
▶ Modèles paramétrables et réutilisables
▶ Fonction « prompt and run »
▶ FME Quick translator
▶ Déclenchement par batch
▶ Ecriture en fanout
22. 2222
Automate – FME Desktop
Introduction FME - 2016 - GIM
▶ Exemple
▶ Fonction « Fanout »
Belgian
Railroads
Belgian
Communes Simple model
Simple et rapide!
23. 2323
Automate – FME Desktop
Introduction FME - 2015 - GIM
▶ Chaînage des processus
▶ Utilisation de batch complexes
▶ Utilisation du WorkspaceRunner dans un controler
▶ Utilisation de la class workspace runner en python
24. 2424
Automate – FME Server
Introduction FME - 2016 - GIM
▶ Gestions des tâches
▶ Echéancier, triggers
▶ Gestion des priorités
▶ SOA exposition de webservices
▶ Datastreaming
▶ Temps réel (websocket)
25. 2525
Monitor – Notification (FME Server)
Introduction FME - 2016 - GIM
Notification
▶ Déclenchement suite à un évènement
▶ Message IMAP, SMTP
▶ Message UDP (streaming, xml, JSON)
▶ Message dans un dossier ou FTP (directory
watch)
▶ Suite à l'exécution d'un processus
▶ e-mail, SMS à l'utilisateur
▶ HTTP push
▶ FTP upload
28. 2828
Exemples de projets FME réalisés par GIM
Introduction FME - 2016 - GIM
▶ Validations de données
▶ Projet VMM: Amélioration de la base données
égouttage
▶ Intégration de données
▶ Projet AGIV: Wegenregister
▶ Chargement de données
▶ Projet SPW
29. 2929
Example
Inleiding FME - 2015 - GIM
Valida:ons de données
Projet VMM
AmélioraDon de la base données égouEage
30. 3030
Contrôle Qualité de
données et automatisation
Introduction FME - 2016 - GIM
CONTEXTE
▶ Amélioration de la base données égouttage: VMM -
Vlaamse Milieu Maatschappij (Agence flamande de
l’environnement)
▶ Base de données du réseau d’égouttage
▶ Planification et suivi du traitement de l'eau et des
infrastructures d'assainissement
▶ Dimensionnement en fonction du nbre habitant
→ Traitement de données CAD
→ Stockage dans la base de données spatiales
AWIS (Informix)
31. 3131
Contrôle Qualité de
données et automatisation
Introduction FME - 2016 - GIM
PROBLÉMATIQUE
▶ Traitement manuel, pas de corrections automatiques
▶ Accès aux données que le lendemain (après traitement
Informix)
▶ Erreur de chargement fichiers SHAPE dans Informix
▶ Contrôle via ETL alphanumérique et code Java → pas de
contrôle de la topologie
▶ Flux de données complexe
Demande de VMM
▶ Automatisation de la validation des données
▶ Contrôle de la géométrie des objets, de la topologie et
de l’analyse géographique par un logiciel ETL,
▶ Résolution du problème de chargement des fichiers
SHAPE
32. 3232
Contrôle Qualité de
données et automatisation
Introduction FME - 2016 - GIM
SOLUTIONS
Phase 1: Analyse
▶ Analyse des données et traitement avec FME
▶ Amélioration du flux de données et du travail opérationnel
avec FME
▶ Résultats
▶ Correction partiellement automatisée avec FME
▶ FME peut charger correctement et lire les objets de la base de
données Informix
▶ FME peut effectuer toutes les règles existantes en matière de
validation alphanumérique et affiner les règles
topologiques
▶ Amélioration de la diffusion de données avec FME Server
33. 3333
Contrôle Qualité de
données et automatisation
Introduction FME - 2015 - GIM
SOLUTIONS
Phase 2: Corrections topologiques automatisées
▶ « Accrochage »
▶ Fusion des segments en fct de conditions
▶ Les segments appartiennent au même réseau
▶ Les segments sont alignés
▶ …
▶ Identification des boucles
▶ Résultats
▶ Réseau topologiquement correct!
• 60426 segments « snapped »
• 21 % des segments étaient combinés
▶ Toutes les boucles détectées!
34. 3434
Contrôle Qualité de
données et automatisation
Introduction FME - 2016 - GIM
SOLUTIONS
Phase 3: Processus de flux de données
User/Editor
using ArcGIS
FME Server
Download MyData
Validate MyData
Upload MyData
Extract & Lock
Upload & Unlock
User uses web interface to
interact with FME
Author using FME Desktop to model
Validated
data
Data
being edited
Data editor environment
FME Author environment
Publish Workbench
to FME Server
Data
to be edited
Data ready
for upload
Database Server
PC
Citrix
Network Disk
Query
Server administrator
monitoring FME server
No
Yes
Log file
AWIS
Informix
Spatial Datablade
Productie
AWIS
Informix
Spatial Datablade
Staging
ETL
Cancel Download
35. 3535
Contrôle Qualité de
données et automatisation
Introduction FME - 2016 - GIM
SOLUTIONS
Phase 3: Validation
Rapport (HTML) Shapefile (Avec erreurs)
36. 3636 Introduction FME - 2016 - GIM
Exemple de règle topologique:
Un segment ne peut pas se croiser.
Contrôle Qualité de
données et automatisation
37. 3737
Contrôle Qualité de
données et automatisation
Introduction FME - 2016 - GIM
INTÉRÊTS DE LA SOLUTION
▶ Maintien des éléments de base du système
▶ Outil d’édition dans ArcMap
▶ Base de données AWIS
à Outils ETL existants comme contrôle supplémentaire
▶ Maintenance
▶ Ajout ou modification des règles de validation
▶ Gain de temps
▶ Grâce à la validation (Traitement immédiat)
▶ Grâce aux fichiers log (shapefiles)
▶ Processus de chargement sans erreurs
39. 3939
Intégration de données:
Wegenregister
Inleiding FME - 2016 - GIM
But:
▶ Intégration de 2 sources différents
▶ GRB (AGIV)
▶ Géométrie: Uniquement routes primaires (voitures)
▶ Attributs: Axe de la route (code de la route, type de
recouvrement, type de morphologie)
▶ ITGI (NGI)
▶ Géométrie: Routes primaires et secondaires (piste cyclable et
chemins)
▶ Attributs: Largeur, nombre de voies, type de route
42. 4242
Chargement de données
Introduction FME - 2016 - GIM
CONTEXTE
▶ Mise à jour du Géoportail de la Wallonie
▶ Les différentes directions générales sont producteurs
et responsables des données
▶ Le Service Public de Wallonie est responsable de la
diffusion
43. 4343
Chargement de données
Introduction FME - 2016 - GIM
PROBLÉMATIQUE:
▶ Les directions générales prennent la décision de mettre à
jour les données disponibles sur WalOnMap
▶ Une procédure en partie manuelle est déclenchée par un
opérateur
▶ Les données sont chargées dans InfraSIG, la base oracle de
diffusion.
44. 4444
Chargement de données
Introduction FME - 2016 - GIM
DEMANDE:
▶ Déclenchement automatique du chargement données dans
l’infrastructure de diffusion InfraSIG
▶ Pas de chargement partiel de jeux de données
▶ Développement générique et configurable
▶ Mise à jour automatique des métadonnées dans MetaWal
▶ La plateforme doit pouvoir être appelée par une application
web
45. 4545
Chargement de données
Introduction FME - 2016 - GIM
RÉALISATION:
Architecture modulaire
▶ Générique:
▶ Chargement de la configuration (CT)
▶ Vérification de qualité géométrique (CT)
▶ Chargement dans staging (WS)
▶ Mise à jour de InfraSIG (WS)
▶ Mise à jour de Metawal (WS)
▶ Reporting des activités (WS)
▶ Notification
▶ Spécifique:
▶ Transformation et traitement particuliers
Workflow géré par des WS controllers dans FME server
48. 4848
Chargement de données
Introduction FME - 2016 - GIM
Mise à jour InfraSIG:
▶ FULL, UPDATE, APPEND, MIXED
▶ Une seule transaction pour tout le jeux de données
▶ Un script python crée dynamiquement un « statement » SQL à
faire exécuter par ORACLE.
▶ Le « roll back » est complet en cas d’erreur
▶ 100% dans FME
49. 4949
Chargement de données
Introduction FME - 2016 - GIM
WORKSPACE CONTROLLER:
▶ Il reçoit les instructions pour une demande de chargement
▶ Jeux de données
▶ Producteur, email
▶ Il construit les paramètres pour chaque module et les
appelle dans la séquence nécessaire pour le jeux de
données
50. 5050
GIM et Safe software
Introduction FME - 2016 - GIM
GIM
▶ VAR-partner depuis 1999 (Value added reseller)
▶ Distributeur et contact en Belgique
▶ Maintenance et support annuel
▶ Informe les clients de nouvelles fonctionnalités et
modifications
▶ +- 10 développeurs FME
51. 5151
Formations FME de GIM
Introduction FME - 2016 - GIM
▶ Matériel de formation de qualité de Safe Software
(anglais)
▶ Formateur = FME Certified Trainer
▶ Formations disponibles
▶ FME Desktop (2 jours)
▶ FME Server (2 jours)
▶ Formation sur mesure/à la demande
▶ FME Advanced Module
En savoir plus www.gim.be
53. 5353
Conclusions: Pourquoi FME?
Introduction FME - 2016 - GIM
▶ Economiser de l’argent et du temps
▶ L’échange et le traitement de données est un jeu d’enfant!
▶ Augmenter la productivité
▶ Automatiser les processus
▶ Aller droit au but
▶ Aucune expérience de programmation requise
▶ Obtenir plus de vos données
▶ Combiner de multiples sources de données à de nouvelles informations
▶ Améliorer les processus ETL
▶ Optimiser les flux de données
▶ Automatiser les tâches
▶ Débarrassez-vous de fastidieuses tâches répétitives en les remplaçant
par des processus automatisés