Lors des formations FME Form et FME Flow que je dispense je parle souvent du fait que FME est un outil extrêmement souple qui permet de répondre très souvent à toutes les problématiques data. Avec la période des jeux olympiques de Paris 2024, j’ai eu l’idée de faire sous FME la création des anneaux olympiques à partir d’un point saisi sur Terre.
A priori, rien de très compliqué sur FME Form 2024 mais voyons comment j’ai procédé de mon côté. Comme souvent, il y a forcément plusieurs façon de procéder à vous de me dire comment vous l’auriez développé !
Étape 1 : Récupérer un point sur Terre
Sur FME Form, il n’y a pas d’outil permettant de saisir une géométrie si ce n’est en demandant des coordonnées. Sur FME Flow, le paramètre Geometry ouvre par contre une carte permettant la saisie de point, de ligne, de polygone ou de rectangle englobant. Sur FME Form j’ai donc créer un paramètre de type Geometry et saisi un point au format GeoJSON.
Étape 2 : Récupération du point et transformation vers une géométrie FME
Suite à cela, je récupère le Geojson stocké dans le paramètre publié pour créer un point avec le Transformer GeometryReplacer et en profite ensuite pour faire une Reprojection du code EPSG:4326 (WGS84) vers le Lambert93 (EPSG:2154).
Étape 3 : Création des anneaux olympiques
Les anneaux sont au nombre de 5, pour rappel, ces derniers ont une signification, ils représentent les 5 continents enlacés par l’olympisme !
De ce fait, je passe d’un point qui est le centre de mon projet à 5 points. Pour cela, je vais utiliser le Transformer Cloner qui me permet de multiplier les objets. Une fois ces points multipliés, et pour créer les cercles, une zone tampon est créée via le Transformer Bufferer. 150 mètres me semble suffisant. Le problème est que un rond ne fait pas un anneau et pour ce faire, un second buffer de 125 m est créé afin de venir découper celui de 150 m par celui de 125m. Pour découper des données vectorielles ou images (raster), nous avons Clipper dans FME. Nous voilà avec un 5 anneaux superposés !
Il reste à déplacer les cercles pour qu’ils s’enlacent et à les coloriser. Pour cela, les Transformer Offsetter et FeatureColorSetter sont tout indiqué ! Pour pouvoir gérer les différents déplacements et couleurs, un AttributeFilter utilise l’attribut « _copynum » du Cloner pour envoyer chaque objet se faire modifier indépendamment.
Le résultat est à la fois sympa et montre toute la souplesse de l’outil. Toutes les fonctions sont disponibles sur FME Form et si vous souhaitez progressez n’hésitez pas à me solliciter pour que je puisse vous partager ma passion de #FME.
Utilisation sur FME Flow
J’ai décidé de publier ce traitement sur FME Flow pour proposer ce service à mes collègues ou à l’externe. Cela s’effectue simplement depuis FME Form. Je décide de publier via le service Data Streaming car j’ai demandé de générer un HTML avec le Transformer HTMLReportGenerator
L’interface FME Flow me propose une carte pour situer mon point
Le traitement se lance et m’affiche le fichier html généré
Le Transformer HTMLReportGenerator ne permet pas de conserver la couleur fournie par FME, il faudrait peut être créer sa propre carte image avec le Transformer MapnikRasterizer ou l’écrire dans un format supportant la gestion de la couleur.
Pour les intéressés, le projet FME 2024.1 est disponible par ici
Vous avez des questions sur FME, pour une formation, l’achat d’une licence ou pour une prestation ? Contactez moi via contact@sitdi-france.fr
Loïc Guénin Randelli #FMEaddict