L’objectif de ce article FME Desktop est d’approcher la logique pour mettre en place un outil de contrôle qualité sur l’ETL FME. L’idée est d’être en mesure de contrôler des aspects différents sur les données que vous produisez ou que vous recevez. Après le développement d’un tel outil, quelques secondes à quelques minutes permettront de scanner vos données SIG ou attributaires pour focaliser les erreurs, là ou cela prendrait des heures pour des techniciens.

On peut contrôler plusieurs points

  • La présence des fichiers ou tables attendues
  • Les données attributaires
    • Nom de l’attribut
    • Sa valeur
    • Son typage (format d’une date par exemple)
    • Sa valeur est présente dans la liste obligatoire ?
    • Son unicité (clé primaire aussi appelé Primary key)
    • Sa relation avec une autre table (clé étrangère, aussi appelé Foreign key)
    • ….
  • Les données spatiales
    • Type de géométrie (ligne, point…)
    • Projection (Lambert 93, wgs84…)
    • Topologie
    • Erreurs de géométries (auto intersection…)
    • ….

Cahier des charges : que doit-on tester ?

Quoi qu’il arrive, la première chose à faire est d’établir un cahier des charges sur ce que vous souhaitez tester pour que vos données puissent répondre à la qualité attendu par vous ou vos clients. A partir de là, vous pourrez décomposer les besoins et finalement les blocs de tests à mettre en œuvres.

Rapport d’erreurs

Souvent, la finalité de l’outil est de générer un rapport des erreurs constatées. Ce rapport peut prendre la forme d’un fichier Excel ou de documents plus élaborés (en html par exemple). Les erreurs liées à la géométrie peuvent également générer des fichiers shape par exemple pour visualiser les problèmes.

Ciblage de l’erreur et documentation

Dans tous les cas, il faut fournir une clé unique permettant de cibler le problème et de l’expliciter pour que la personne puisse comprendre ce qu’il y a à corriger. Un document explicatif des erreurs remontées par l’outil FME est donc à créer (documentation).

Externaliser les paramètres

Dans FME, il est pertinent dans certains scripts d’externaliser un certain nombre de paramètres. Cela permet de créer un script davantage générique et ainsi limiter le nombre de Transformers. Cela permet aussi d’agir sur le script uniquement en modifiant ces paramètres. Le stockage de ces paramètres peuvent se faire sur un fichier Excel ou des tables de bases de données.

Exercice possible : contrôler la qualité de nos données d’un réseau FTTH

Nous souhaitons tester plusieurs choses sur le fichier t_cableline.shp

  • Si le fichier et possède le bon nom si ce n’est pas le cas, le script s’arrête (erreur trop importante)
  • Si les attributs ont les bons noms
  • Si le code du câble est bien normée
  • Si la géométrie est correcte (type) et sa projection juste.

Nous générerons ensuite un rapport d’erreurs si il y en a dans un fichier Excel.

Comment développer ?

Quand on développe un outil complexe, il faut essayer d’écrire l’algorithmie du projet. Cet algorithme vous permet de lister les développements à effectuer dans un ordre logique. Ensuite, à partir de cela il sera aussi bien plus simple de décomposer le problème général en sous problèmes. De cette manière le script sera bien plus simple à développer.

Algorithmie

  • Dans un premier temps, nous allons tester si le fichier shape fourni est le bon.
    • Si le nom du fichier n’est pas le bon, le script FME S’arrête.
  • Ensuite, nous testerons le nom des attributs
  • Ensuite, nous testerons le typage des données
  • Nous testerons le type de géométrie
  • Enfin, les erreurs remontées viendront alimenter un rapport Excel

Script FME

script FME permettant le contrôle qualité de données attributaires et SIG

Fichier de configuration Excel

fichier de configuration externe contrôle qualité FME Desktop

Exemple de résultat du rapport

rapport erreur contrôle qualité avec FME

En conclusion, j’espère vous avoir convaincu sur le fait que FME Desktop est un software très performant dans la mise en œuvre des outils de contrôle qualité, que ce soit sur les attributs ou sur les données géographiques. J’espère que cette approche vous donnera des idées. N’hésitez pas à me consulter pour vous former davantage ou vous accompagner sur ces questions de contrôle qualité.

Loïc Guénin Randelli pour SITDI-France