fme world tour 2017: les possibilités de fme desktop et fme server
TRANSCRIPT
1 1
Introduction à FME
Introduction FME - 2016 - GIM
Van Oudenhove Jean-Pierre
2 2
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 3
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
4 4
Process
Introduction FME - 2016 - GIM
1. Que peut-on faire?
2. Avec quelles données?
3. Comment travailler?
5 5
Que peut-on faire?
Introduction FME - 2016 - GIM
1. Transformation ▶ Agrégation ▶ Extraction ▶ Conversion ▶ Modèle de données
2. Publication ▶ Webservices ▶ Data Ware House
3. Intégration ▶ Systèmes (SOA) ▶ Réplication, synchro
4. Validation ▶ Qualité ▶ Modèle de donnée ▶ Règles métier
6 6
Process
Introduction FME - 2016 - GIM
1. Que peut-on faire?
2. Avec quelles données?
3. Comment travailler?
7 7
Quelles données?
Introduction FME - 2016 - GIM
Plus de 325 formats: ▶ DB ▶ CAD ▶ BIM ▶ GIS ▶ Web ▶ Generic: xml, Json
▶ Courant: pdf, xls…
8 8
Plus de 325 formats pris en charge
Introduction FME - 2015 - GIM
9 9
Plus de 325 formats pris en charge
Introduction FME - 2016 - GIM
SIG (vecteur) ▶ ESRI shape
▶ Mapinfo MIF/MID ▶ Mapinfo TAB ▶ Adobe Geospatial PDF ▶ GML, XML, KML
▶ … CAD
▶ AutoCAD DWG/DXF ▶ AutoCAD Civil 3D (Read)
▶ Bentley Microstation Desgin DGN ▶ …
10 10
Plus de 325 formats pris en charge
Introduction FME - 2016 - GIM
Raster ▶ ESRI grid ▶ GeoTIFF ▶ IMG ▶ MrSID (read only) ▶ JPG, JPEG 2000 ▶ ECW ▶ NetCDF ▶ …
Point Cloud ▶ LIDAR LAS ▶ Pointcloud XYZ ▶ …
3D /BIM (Building Information Modeling)
▶ CityGML ▶ GoogleSketchup ▶ Adobe 3D PDF (write only) ▶ AutoCAD civil 3D (read only) ▶ …
11 11
Plus de 325 formats pris en charge
Introduction FME - 2016 - GIM
Base de données ▶ ESRI Geodatabases ▶ Oracle ▶ Smallworld ▶ Informix ▶ Geomedia Warehouse ▶ Teradata ▶ PostGIS
Non spatial format ▶ csv, txt ▶ Excel ▶ Access ▶ Dossiers (Copy/paste) ▶ …
12 12
Process
Introduction FME - 2016 - GIM
1. Que peut-on faire?
2. Avec quelles données?
3. Comment travailler?
13 13
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
14 14
Concrètement
Introduction FME - 2015 - GIM
Composants de FME desktop ▶ FME Data Inspector
▶ FME.exe ▶ FME quick translator ▶ FME Workbench
15 15
FME desktop Interroperabilité - Démo
Introduction FME - 2016 - GIM
MITAB:provinces
Shapefile:communes
TableauExcel:hab./commune
Inputs Output:KML
16 16
FME Transformers
Introduction FME - 2016 - GIM
▶ « Transformers »= outils pour restructurer des données
▶ Transformers géométriques
▶ Restructurer la composante spatiale d'un ensemble de données
▶ Transformers attributs ▶ Restructurer la composante non-spatiale
d'un ensemble de données
▶ Plus de 500 Transformers (3D, Calculators, Filters, Geometric operators, Coordinate systems,, Lists, Point Cloud, Rasters, ...)
Source Destination
17 17
FME Transformers
Introduction FME - 2016 - GIM
▶ FME montre le nombre d’objets (no black box)
▶ C’est simple d’ajouter des transformers difficiles
18 18
FME Custom Transformers
Introduction FME - 2016 - GIM
▶ Modularisation du code
▶ Permet de mutualiser les développements
▶ Facilite le testing
▶ Déploiement spécifique:
▶ Linked (lié)
▶ Embeded (embarqué)
19 19
ETL spatial complet
Introduction FME - 2016 - GIM
1. Process
2. Automate
3. Notify
20 20
Automate
Introduction FME - 2016 - GIM
1. Automatisation avec FME desktop
2. Automatisation avec FME server
21 21
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 22
Automate – FME Desktop
Introduction FME - 2016 - GIM
▶ Exemple
▶ Fonction « Fanout »
BelgianRailroads
BelgianCommunesSimplemodel
Simpleetrapide!
23 23
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 24
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 25
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
26 26
Monitor - Reporting
Introduction FME - 2015 - GIM
Reporting ▶ Historique des « logs » des transformations ▶ Reporting (Statistics, rapport) métier
spécifique ▶ Xlsx, Pdf, DB,…
27 27
Liens utiles
Introduction FME - 2016 - GIM
▶ https://knowledge.safe.com/
▶ http://blog.safe.com/
28 28
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 29
Example
Inleiding FME - 2015 - GIM
Valida:onsdedonnées
ProjetVMM
AmélioraDondelabasedonnéeségouEage
30 30
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 31
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 32
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 33
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 34
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
Validateddata
Data being edited
Data editor environment
FME Author environmentPublish Workbench to FME Server
Data to be edited
Data ready for upload
Database Server
PC
Citrix
Network Disk
Query
Server administratormonitoring FME server
NoYes
Log file
AWISInformix
Spatial DatabladeProductie
AWISInformix
Spatial DatabladeStaging
ETL
Cancel Download
35 35
Contrôle Qualité de données et automatisation
Introduction FME - 2016 - GIM
SOLUTIONS
Phase 3: Validation Rapport (HTML) Shapefile (Avec erreurs)
36 36 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 37
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
38 38
Example
Inleiding FME - 2016 - GIM
Intégra:ondedonnées
ProjetAGIV
Wegenregister
39 39
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
40 40
Intégration de données: Wegenregister
Inleiding FME - 2016 - GIM
Résultaat:
41 41
Example
Inleiding FME - 2016 - GIM
Chargementdedonnées
ProjetSPW
Geoportail
42 42
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 43
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 44
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 45
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
46 46
Chargement de données
Introduction FME - 2016 - GIM
CONFIGURATION MÉTIER: ▶ Un fichier de configuration unique ▶ Lu par un custom transformer
47 47
Chargement de données
Introduction FME - 2016 - GIM
QUALITÉ GEOMÉTRIQUE: ▶ Self intersection ▶ Coordonnées dupliquées ▶ Géométries dupliquées ▶ Slivers, slivers donut, point donut ▶ Spikes, donut spikes ▶ Polygones non fermés ▶ Donut hors géométries ▶ Snapping, accrochage
48 48
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 49
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 50
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 51
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
52 52
Références Belges
Introduction FME - 2016 - GIM
53 53
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