FeatureMerger

Fusionne les attributs et/ou géométries d'un jeu d'entités en un autre jeu d'entités en fonction de la correspondance de valeurs clés d'attributs et d'expressions.

Aller à la configuration

Cas d'utilisations typiques

  • Combiner les attributs et/ou géométries de deux différents flux d'entités en fonction de la correspondance de valeurs clés d'attributs et d'expressions.

Comment fonctionne-t-il ?

FeatureMerger reçoit deux flux d'entités via ses ports d'entrée.

Requestor : les Demandeurs sont les entités qui reçoivent de nouveaux attributs et/ou géométries.

Supplier : les Fournisseurs fournissent des attributs et/ou géométrie à fusionner dans les Demandeurs.

Les correspondances entre les entités Requestor et le Supplier sont identifiées en fonction de la configuration de Jointure dans la boîte de dialogue des paramètres. Les conditions de jonction peuvent être simples ou complexes, en utilisant des valeurs d'attributs, des constantes, des fonctions ou une combinaison de ces éléments sous forme d'expression. Plusieurs conditions de jonction peuvent être définies (les entités doivent remplir toutes les conditions pour être mises en correspondance).

Quand un Demandeur correspond à un Fournisseur, les attributs et/ou géométrie du Fournisseur sont fusionnés dans le Demandeur.

  • Si le Demandeur possède déjà un attribut que possède le Fournisseur, la valeur originale de cet attribut du Demandeur peut être conservée ou surchargée.
  • Un même fournisseur peut être utilisé par plusieurs demandeurs.
  • Plusieurs fournisseurs peuvent être regroupés en un seul demandeur.
  • En cas de conflit de noms d'attributs, vous pouvez choisir quelles valeurs utiliser entre celles des demandeurs et des fournisseurs en utilisant le paramètre Résolution de conflit, et vous pouvez définir comment gérer les valeurs nulles via le paramètre Ignorer les valeurs nulles.

Les entités Demandeur correspondent aux entités Fournisseur quand chaque paire de clés (qui supporte les expressions) spécifiée dans la table Jointure a la même valeur pour les entités Demandeur et Fournisseur.

Exemples

Notes

  • Pour les jointures simples, FeatureJoiner peut offrir de meilleures performances que le FeatureMerger. Toutefois, FeatureJoiner n'accepte que les valeurs d'attributs comme clés et non les expressions construites, et ne prend pas en charge les attributs de liste. De plus, FeatureMerger est capable (optionnellement) de limiter la sortie à une seule entité dans le cas de correspondances multiples entre fournisseurs, alors que FeatureJoiner créera plusieurs entités pour toutes les correspondances.
  • Pour des jointures complexes utilisant la syntaxe SQL, ou plus de deux flux d'entités en entrée, privilégiez plutôt InlineQuerier.
  • Quand plusieurs FeatureMerger sont requis, privilégiez plutôt InlineQuerier.
  • Si toutes les données à interroger existent déjà dans une source de données avec des capacités SQL, il est toujours plus efficace d'utiliser SQLCreator ou SQLExecutor, car cela permet de travailler sur (et de filtrer) les données à traiter avant de les lire dans l'environnement FME.
  • Pour effectuer une jointure entre entités déjà dans le traitement et des données entreposées dans une base de données externe, considérez utiliser DatabaseJoiner.
  • Pour effectuer une jointure quand une clé Demandeur est un attribut de liste, considérez utiliser ListBasedFeatureMerger.
  • Pour joindre des entités sur la base d'une géométrie correspondante, considérez utiliser Matcher. La FeatureMerger n'accepte pas la géométrie comme clé.
  • Pour joindre tous les fournisseurs à toutes les entités Requestors lorsqu'il n'y a pas de valeur de jointure commune, le fait de définir Jointure > Requestor (Demandeur) et Jointure > Supplier (Fournisseur) à la même valeur constante (par exemple, 1 et 1) fusionnera tous à tous. Activez la fonction Génération de liste pour stocker plusieurs correspondances par entité.

Choisir une méthode de jointure d'entités

De nombreux Transformers peuvent effectuer des jointures de données sur la base d'attributs, d'expressions et/ou de géométries correspondants. Lorsque vous en choisissez un pour une tâche de jointure spécifique, vous devez prendre en compte la complexité de la jointure, le format des données, l'indexation, la gestion des conflits et les résultats souhaités. Certains Transformers utilisent la syntaxe SQL, d'autres accèdent directement aux bases de données externes. Ils peuvent ou non prendre en charge la lecture et la création d'attributs de liste.

En général, le choix de la méthode la plus spécifique à la tâche à accomplir permet d'obtenir des résultats optimaux en termes de performances. S'il existe plus d'une façon de procéder (ce qui est souvent le cas), il peut être utile de consacrer du temps à tester les performances des autres méthodes. Les performances peuvent varier considérablement selon l'existence d'index clés lors de la lecture de tables externes (par opposition aux entités déjà présentes dans le traitement).

Configuration

Ports d'entrée

Ports de sortie

Paramètres

Éditer les paramètres des Transformers

À l'aide d'un ensemble d'options de menu, les paramètres du Transformer peuvent être attribués en faisant référence à d'autres éléments de traitement. Des fonctions plus avancées, telles qu'un éditeur avancé et un éditeur arithmétique, sont également disponibles dans certains Transformers. Pour accéder à un menu de ces options, cliquez sur à côté du paramètre applicable. Pour plus d'informations, voir Options de menus et paramètres de Transformer.

Définir les valeurs

Il existe plusieurs façons de définir une valeur à utiliser dans un Transformer. La plus simple est de simplement taper une valeur ou une chaîne de caractères, qui peut inclure des fonctions de différents types comme des références d'attributs, des fonctions mathématiques et de chaînes de caractères, et des paramètres de traitement. Il existe un certain nombre d'outils et de raccourcis qui peuvent aider à construire des valeurs, généralement disponibles dans le menu contextuel déroulant adjacent au champ de valeur.

Options - Tables

Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.

Références

Comportement

Basé sur le regroupement

Stockage des entités

Oui

Dépendances Aucun
Alias  
Historique  

FME Community

FME Community est l'endroit où trouver des démos, des tutoriaux, des articles, des FAQ et bien plus encore. Obtenez des réponses à vos questions, apprenez des autres utilisateurs et suggérez, votez et commentez de nouvelles entités.

Voir tous les résultats à propos de ce Transformer sur FME Community.

 

Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.