Skip to Content

Nous adressons toutes nos pensées à la famille de notre ami Jérôme !

http://www.forumsig.org/showthread.php/43488-Disparition-de-Phoenix

FME : levons le voile !


Par Chloé BURGES et François-Nicolas ROBINNE

Régulièrement cité, FME n’en reste pas moins méconnu. Avec cet article, nous souhaitons lever le voile sur ce logiciel et plus généralement sur les possibilités offertes par les ETL spatiaux.

Préambule

Les ETL (Extract, Transform and Load, soit Extraction, Transformation et Chargement) sont des outils logiciels permettant « d’effectuer des synchronisations massives d’information d’une base de données vers une autre » (Source Wikipédia). Cette synchronisation passe par un ensemble de manipulations et de transformations parfois complexes des données.

Ils prennent une part importante dans  la mise en place des Systèmes d’Information car facilitent l’interopérabilité des logiciels, applications métiers et données hétérogènes. La dimension géographique n’y échappe pas avec le recours aux ETL spatiaux. Parmi eux se trouve FME (payant) proposé par l’éditeur canadien Safe Software.

Cet article n’est pas un tutoriel mais une présentation succincte d’un outil peu connu.

En bref

FME Desktop est un ETL spatial couramment utilisé. Il convertit des données pour plus de 275 formats spatiaux et non-spatiaux et gère plus de 450 types d’opérations de transformation et d’intégration, selon les niveaux de licence. L’objectif étant de construire des processus d’automatisation de gestion/intégration des données d’entreprise.

Il gère les données géométriques, attributaires, images et CAO/DAO. Bien qu'il gère la 3D, ce n'est pas un outil dédié.

 
Formats de conversion

Les composantes logicielles

FME Quick Translator

Anciennement Universal Translator, il gère la conversion et la reprojection en masse des données. Il est très simple d’utilisation et a l’énorme intérêt de conserver l’arborescence initiale des répertoires sources. Pour les utilisateurs MapInfo, il s’agit d’une version beaucoup plus élaborée de l’Universal Translator.

GUI_Traducteur

La conversion s’écrit sous vos yeux et génère un log que vous pouvez consulter directement à l’écran (identification des erreurs) et sauvegarder.

FME Universal Viewer

C'est un outil de visualisation des données dans l’ensemble des formats gérés. Il est très utile dans un premier temps pour prendre connaissances des données dont on ne possède pas le logiciel adéquat. Dans un second temps, il est essentiel dans la création des workbenchs (cf paragraphe suivant) car c’est le seul moyen de visualiser les opérations intermédiaires du modèle. On notera les possibilités basiques suivantes :

  • Affichage des vertex et de leurs coordonnées
  • Filtre d’affichage et gestion de la symbologie
  • Affichage des attributs
  • Affichage des caractéristiques du format de donnée (couleur, rotation, texte des annotations, taille, types de géométrie, etc…).

 GUI_Viewer

Attributs_Viewer

Attention : cet outil reste un simple visualiseur et n’est en aucun cas un logiciel SIG.

FME Workbench 

C’est l’outil principal du logiciel mais le moins évident à utiliser. Pour les utilisateurs ESRI, on pourrait le comparer à Model Builder, mais bien plus élaboré. C’est un outil puissant qui permet d’enchaîner une série d’opérations, à partir de « Transformers », et de générer des processus de traitements des plus simples aux plus complexes, sans avoir à rédiger de code. Néanmoins, il peut intégrer des scripts Python ou TCL (langage natif FME). 

Il interprète les données sources dans un format qui lui est propre puis il s'appuie sur la librairie native du format de distribution en sortie. Par conséquent, une erreur sur une sortie Oracle retournera un code erreur Oracle.

De plus, si les tables possèdent des triggers, index, relations ou autres, FME conservera ces paramétrages.

Les grands types d’opérations proposées
  • Opérations spatiales (découpage, zone tampon, fusion, snapping, généralisation, correction de géométries, travail sur les vertex, fermeture de linéaires,  …) 
  • Traitement des chaînes de caractères
  • Calculs (de surfaces, de longueurs, de coordonnées, opérations arithmétiques)
  • Jointures attributaires et spatiales
  • Reprojection
  • Requêtes SQL
  • Filtres géométriques et attributaires
  • Comparaison de géométrie et d’attributs
  • Gestion du kml et xml
  • Définition des caractéristiques des formats de données (couleurs, rotations, textes …)
  • Parcours de réseau
  • Opérations sur les données rasters

Le tout en gérant un ou plusieurs formats en entrée comme en sortie.

 
L'interface

L’outil n’est pas évident à utiliser au premier abord, mais la recherche par mots clefs permet assez rapidement de le prendre en main. Plus de 450 transformers semble beaucoup pour s’y retrouver, mais chacun d’entre eux est nommé de manière logique. Entre la recherche par filtre et l’aide (plutôt complète), on parvient à retrouver les opérations souhaitées.

GUI_Workbench

L'espace de travail 

Les flux de données créés dans le workbench sont transparents. Pour chaque opération réalisée, les résultats vont être répartis dans une ou plusieurs sorties distinctes, permettant de scinder les flux dans le reste du traitement. De plus, à chaque étape, le nombre d’objets en entrée et en sortie s’affiche. Enfin, il est possible de visualiser le résultat de chacune des opérations réalisée via l’Universal Viewer. 

Une fois un ou plusieurs workbenchs réalisés, il est possible de les proposer sous une forme simplifiée, dans laquelle on n’affichera que les paramètres à définir par l’utilisateur final.

L'automatisation

Le Workbench proposose la création de ses propres Transformers et l'emboîtement de modèles. Le tout peut être sauvegardé sous forme de batch et être exécuté dans des tâches Windows.

Il peut scanner un répertoire et filtrer les fichiers que l’on souhaite traiter ou non. Dans le process d’automatisation, le workbench peut passer tous les jours en respectant ce filtre. Pour les bases de données, il est possible, outre l’insertion, d’effectuer une opération de mise à jour ou de suppression des données de la base.

Enfin, FME peut générer les sorties de manière dynamique, en fonction de variables. C’est à dire que les noms de couches ou de fichiers en sortie dépendront d’une ou plusieurs variables du traitement. Par exemple, si votre donnée possède un champ 'commune', vous pouvez demander la création d'un répertoire par commune ou d'une couche par commune.

Modules et licences FME

Il existe plusieurs niveaux de licences (voir liens), impliquant l’accès à plus ou moins de formats. Par ailleurs, les éditeurs proposent différents module facilitant l’intégration du logiciel dans le système de l’entreprise.

Niveaux de licence

A noter l’existence de FME Server qui permet la publication de workbenchs et leur exécution via une interface simplifiée sur des serveurs distants. Il permet aussi la génération de services WMS et WFS.

Conclusion

Cet article propose un tour rapide des possibilités offertes par FME, qui en est à la version 2012. Si vous souhaitez explorer par vous-même, Safe propose des versions d’évaluation de 15 jours ainsi qu’un large éventail de tutoriaux, d’exemples et de webinars.

FME est aujourd’hui un outil disponible en anglais. Des versions françaises existent une fois la licence achetée. La communauté francophone se développe, mais la plupart des sites sont également anglais.

Une version 64 bits est disponible. Mais  attention car moins de formats sont gérés.


Site officiel : Le site officiel
Site officiel : La liste des formats gérés
Site officiel : La liste des Transformers
Site officiel : La liste des Transformers par type de licence
Site officiel : Pour les spécifications techniques
Autres Liens : Pour la version française
Autres Liens : Tutoriaux, documentation et exemples
Autres Liens : Un blog de développeur

Commentaires

Conférence FME 2012

Bon article d'introduction, bravo.
Je me permets de le compléter en vous informant que la Conférence française des utilisateurs de FME se tiendra le 4 avril 2012 à l'ENSG en marge des Rencontres Sig-La-Lettre.

Poster un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.