fme world tour 2016: découvrez fme
TRANSCRIPT
11
Introduction à FME
Introduction FME - 2016 - GIM
Van Oudenhove Jean-Pierre
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
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
44
Process
Introduction FME - 2016 - GIM
1. Que peut-on faire?
2. Avec quelles données?
3. Comment travailler?
55
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
66
Process
Introduction FME - 2016 - GIM
1. Que peut-on faire?
2. Avec quelles données?
3. Comment travailler?
77
Quelles données?
Introduction FME - 2016 - GIM
Plus de 325 formats:▶ DB▶ CAD▶ BIM▶ GIS▶ Web▶ Generic: xml, Json▶ Courant: pdf, xls…
88
Plus de 325 formats pris en charge
Introduction FME - 2015 - GIM
99
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▶ …
1010
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)▶ …
1111
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)▶ …
1212
Process
Introduction FME - 2016 - GIM
1. Que peut-on faire?
2. Avec quelles données?
3. Comment travailler?
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
1414
Concrètement
Introduction FME - 2015 - GIM
Composants de FME desktop▶ FME Data Inspector
▶ FME.exe▶ FME quick translator▶ FME Workbench
1515
FME desktop Interroperabilité - Démo
Introduction FME - 2016 - GIM
MITAB: provinces
Shapefile: communes
Tableau Excel: hab./commune
Inputs Output: KML
1616
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
1717
FME Transformers
Introduction FME - 2016 - GIM
▶ FME montre le nombre d’objets (no black box)
▶ C’est simple d’ajouter des transformers difficiles
1818
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é)
1919
ETL spatial complet
Introduction FME - 2016 - GIM
1. Process
2. Automate
3. Notify
2020
Automate
Introduction FME - 2016 - GIM
1. Automatisation avec FME desktop
2. Automatisation avec FME server
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
2222
Automate – FME Desktop
Introduction FME - 2016 - GIM
▶ Exemple ▶ Fonction « Fanout »
BelgianRailroads
BelgianCommunesSimple model
Simple et rapide!
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
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)
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
2626
Monitor - Reporting
Introduction FME - 2015 - GIM
Reporting▶ Historique des « logs » des transformations▶ Reporting (Statistics, rapport) métier
spécifique▶ Xlsx, Pdf, DB,…
2727
Liens utiles
Introduction FME - 2016 - GIM
▶ https://knowledge.safe.com/▶ http://blog.safe.com/
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
2929
Example
Inleiding FME - 2015 - GIM
Validations de données
Projet VMM
Amélioration de la base données égouttage
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)
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
3232
Contrôle Qualité de données et automatisation
Introduction FME - 2016 - GIM
SOLUTIONSPhase 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
3333
Contrôle Qualité de données et automatisation
Introduction FME - 2015 - GIM
SOLUTIONSPhase 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!
3434
Contrôle Qualité de données et automatisation
Introduction FME - 2016 - GIM
SOLUTIONSPhase 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
3535
Contrôle Qualité de données et automatisation
Introduction FME - 2016 - GIM
SOLUTIONSPhase 3: Validation Rapport (HTML) Shapefile (Avec erreurs)
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
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
3838
Example
Inleiding FME - 2016 - GIM
Intégration de données
Projet AGIV
Wegenregister
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
4040
Intégration de données: Wegenregister
Inleiding FME - 2016 - GIM
Résultaat:
4141
Example
Inleiding FME - 2016 - GIM
Chargement de données
Projet SPW
Geoportail
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
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.
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
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
4646
Chargement de données
Introduction FME - 2016 - GIM
CONFIGURATION MÉTIER:▶ Un fichier de configuration unique▶ Lu par un custom transformer
4747
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
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
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
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
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
5252
Références Belges
Introduction FME - 2016 - GIM
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