fme world tour 2016: découvrez fme

54
1 1 Introduction à FME Introduction FME - 2016 - GIM Van Oudenhove Jean-Pierre

Upload: gimnv

Post on 12-Jan-2017

421 views

Category:

Data & Analytics


1 download

TRANSCRIPT

Page 1: FME World Tour 2016: Découvrez FME

11

Introduction à FME

Introduction FME - 2016 - GIM

Van Oudenhove Jean-Pierre

Page 2: FME World Tour 2016: Découvrez FME

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

Page 3: FME World Tour 2016: Découvrez FME

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

Page 4: FME World Tour 2016: Découvrez FME

44

Process

Introduction FME - 2016 - GIM

1. Que peut-on faire?

2. Avec quelles données?

3. Comment travailler?

Page 5: FME World Tour 2016: Découvrez FME

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

Page 6: FME World Tour 2016: Découvrez FME

66

Process

Introduction FME - 2016 - GIM

1. Que peut-on faire?

2. Avec quelles données?

3. Comment travailler?

Page 7: FME World Tour 2016: Découvrez FME

77

Quelles données?

Introduction FME - 2016 - GIM

Plus de 325 formats:▶ DB▶ CAD▶ BIM▶ GIS▶ Web▶ Generic: xml, Json▶ Courant: pdf, xls…

Page 8: FME World Tour 2016: Découvrez FME

88

Plus de 325 formats pris en charge

Introduction FME - 2015 - GIM

Page 9: FME World Tour 2016: Découvrez FME

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▶ …

Page 10: FME World Tour 2016: Découvrez FME

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)▶ …

Page 11: FME World Tour 2016: Découvrez FME

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)▶ …

Page 12: FME World Tour 2016: Découvrez FME

1212

Process

Introduction FME - 2016 - GIM

1. Que peut-on faire?

2. Avec quelles données?

3. Comment travailler?

Page 13: FME World Tour 2016: Découvrez FME

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

Page 14: FME World Tour 2016: Découvrez FME

1414

Concrètement

Introduction FME - 2015 - GIM

Composants de FME desktop▶ FME Data Inspector

▶ FME.exe▶ FME quick translator▶ FME Workbench

Page 15: FME World Tour 2016: Découvrez FME

1515

FME desktop Interroperabilité - Démo

Introduction FME - 2016 - GIM

MITAB: provinces

Shapefile: communes

Tableau Excel: hab./commune

Inputs Output: KML

Page 16: FME World Tour 2016: Découvrez FME

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

Page 17: FME World Tour 2016: Découvrez FME

1717

FME Transformers

Introduction FME - 2016 - GIM

▶ FME montre le nombre d’objets (no black box)

▶ C’est simple d’ajouter des transformers difficiles

Page 18: FME World Tour 2016: Découvrez FME

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é)

Page 19: FME World Tour 2016: Découvrez FME

1919

ETL spatial complet

Introduction FME - 2016 - GIM

1. Process

2. Automate

3. Notify

Page 20: FME World Tour 2016: Découvrez FME

2020

Automate

Introduction FME - 2016 - GIM

1. Automatisation avec FME desktop

2. Automatisation avec FME server

Page 21: FME World Tour 2016: Découvrez FME

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

Page 22: FME World Tour 2016: Découvrez FME

2222

Automate – FME Desktop

Introduction FME - 2016 - GIM

▶ Exemple ▶ Fonction « Fanout »

BelgianRailroads

BelgianCommunesSimple model

Simple et rapide!

Page 23: FME World Tour 2016: Découvrez FME

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

Page 24: FME World Tour 2016: Découvrez FME

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)

Page 25: FME World Tour 2016: Découvrez FME

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

Page 26: FME World Tour 2016: Découvrez FME

2626

Monitor - Reporting

Introduction FME - 2015 - GIM

Reporting▶ Historique des « logs » des transformations▶ Reporting (Statistics, rapport) métier

spécifique▶ Xlsx, Pdf, DB,…

Page 27: FME World Tour 2016: Découvrez FME

2727

Liens utiles

Introduction FME - 2016 - GIM

▶ https://knowledge.safe.com/▶ http://blog.safe.com/

Page 28: FME World Tour 2016: Découvrez FME

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

Page 29: FME World Tour 2016: Découvrez FME

2929

Example

Inleiding FME - 2015 - GIM

Validations de données

Projet VMM

Amélioration de la base données égouttage

Page 30: FME World Tour 2016: Découvrez FME

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)

Page 31: FME World Tour 2016: Découvrez FME

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

Page 32: FME World Tour 2016: Découvrez FME

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

Page 33: FME World Tour 2016: Découvrez FME

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!

Page 34: FME World Tour 2016: Découvrez FME

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

Page 35: FME World Tour 2016: Découvrez FME

3535

Contrôle Qualité de données et automatisation

Introduction FME - 2016 - GIM

SOLUTIONSPhase 3: Validation Rapport (HTML) Shapefile (Avec erreurs)

Page 36: FME World Tour 2016: Découvrez FME

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

Page 37: FME World Tour 2016: Découvrez FME

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

Page 38: FME World Tour 2016: Découvrez FME

3838

Example

Inleiding FME - 2016 - GIM

Intégration de données

Projet AGIV

Wegenregister

Page 39: FME World Tour 2016: Découvrez FME

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

Page 40: FME World Tour 2016: Découvrez FME

4040

Intégration de données: Wegenregister

Inleiding FME - 2016 - GIM

Résultaat:

Page 41: FME World Tour 2016: Découvrez FME

4141

Example

Inleiding FME - 2016 - GIM

Chargement de données

Projet SPW

Geoportail

Page 42: FME World Tour 2016: Découvrez FME

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

Page 43: FME World Tour 2016: Découvrez FME

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.

Page 44: FME World Tour 2016: Découvrez FME

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

Page 45: FME World Tour 2016: Découvrez FME

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

Page 46: FME World Tour 2016: Découvrez FME

4646

Chargement de données

Introduction FME - 2016 - GIM

CONFIGURATION MÉTIER:▶ Un fichier de configuration unique▶ Lu par un custom transformer

Page 47: FME World Tour 2016: Découvrez FME

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

Page 48: FME World Tour 2016: Découvrez FME

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

Page 49: FME World Tour 2016: Découvrez 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

Page 50: FME World Tour 2016: Découvrez FME

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

Page 51: FME World Tour 2016: Découvrez 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

Page 52: FME World Tour 2016: Découvrez FME

5252

Références Belges

Introduction FME - 2016 - GIM

Page 53: FME World Tour 2016: Découvrez FME

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

Page 54: FME World Tour 2016: Découvrez FME

5454

Conclusions

Introduction FME - 2015 - GIM

[email protected]