#SITDIFrance adore partager avec la communauté FME ses découvertes et sa passion pour l’ETL spatial FME (Feature Manipulation Engine). Aujourd’hui, je vous propose de vous présenter un développement permettant de détecter et d’écarter les lignes vides d’un fichier Excel par exemple. FME gère plus de 400 formats et ce traitement pourra s’appliquer sur tous les formats attributaires.

Comment détecter les lignes vides ?

Le besoin était de ne pas charger les lignes où tous les attributs étaient vides. N’ayant pas trouvé de solution native chez FME ni sur VSTORE ou le HUB safe, j’ai construit un développement que je vous présente ici. Son petit nom est le suivant : AllEmptyRowsDetector !

Transformer FME personnalisé AllEmptyRowsDetector, permet de détecter les lignes vides
Transformer FME personnalisé AllEmptyRowsDetector, permet de détecter les lignes vides

Le montage ci-dessus montre un exemple sur un fichier Excel où la ligne 3 est entièrement vide. Le processus FME simplifié utilise un Transformer Personnalisé. Cette fonctionnalité de FME permet de créer une sorte de fonction au sein même de l’outil que l’on peut exporter, partager et réutiliser sur différents projets. Cela est surtout utile pour une fonction réutilisable et ça tombe bien, c’est le cas ici !

Derrière le Transformer personnalisé, le script FME

script FME permettant de détecter les lignes vides
script FME permettant de détecter les lignes vides

Pour résumer, l’idée est dans un premier temps d’éclater les attributs classiques en un couple Nom de l’attribut > Valeur. A partir de ce moment, nous utilisons le Transformer Aggregator afin d’agréger les données ensemble. Si la valeur des données agrégées arrive avec la valeur du compteur (Transformer Counter) alors il s’agit d’une ligne vide.

Une jointure interne sur l’attribut « _count » est alors effectué au dernier moment avec FeatureMerger pour détecter les lignes vides de celles où il y a au moins un attribut de rempli.

A vous de jouer maintenant avec FME et au besoin, n’hésitez surtout pas à me confier vos développement afin que vous puissiez valoriser au mieux vos géo-données, gagner en efficacité et en compétitivité !

La ressource est d’ores et déjà disponible sur la plateforme Vstore, plateforme de ressources FME francophone (inscription nécessaire). Vous y trouverez également ma ressource permettant de générer des cartes de chaleur avec FME !

Loïc Guénin Randelli
Expert ETL FME
06.27.53.42.43
contact@sitdi-france.fr