Matcher
Détecte les entités qui correspondent l'une à l'autre. Les entités sont déclarées correspondantes lorsqu'elles ont une géométrie correspondante, des valeurs d'attributs correspondantes, ou les deux. Une liste d'attributs qui doivent différer entre les entités peut également être spécifiée.
Aller à la configuration
Cas d'utilisations typiques
- Détection de changements
- Fusion d'entités (jointure de données) selon la géométrie
Comment fonctionne-t-il ?
Le Matcher peut recevoir un nombre quelconque de flux d'entités en entrée. Toutes les entités sont comparées à toutes les autres, et les correspondances sont identifiées en fonction des paramètres définis.
Les options pour la correspondance incluent la géométrie et/ou les attributs, et vous pouvez aussi définir les attributs devant différer.
Toutes les entités qui trouvent une correspondance sont sorties via le port Matched (c'est-à-dire que si deux entités correspondent l'une à l'autre, elles sont toutes deux sorties ici). Chaque ensemble de correspondances se voit attribuer un nouvel attribut numérique Match ID qui peut être utilisé pour les identifier en tant que groupe de correspondance.
Une copie unique de chaque ensemble d'entités appariées est envoyée au port SingleMatched. Les attributs de ces entités sont fusionnés en une seule entité de sortie. En utilisant ce port, Matcher est capable de faire la fusion de plusieurs entités en utilisant la géométrie comme clé. Ceci complète le port FeatureMerger, qui n'accepte que les attributs, et non les géométries, comme clés.
Les entités qui ne trouvent pas de correspondance ressortent par le port NotMatched.
Exemples
Exemple : détection de changements avec Matcher
Dans cet exemple, nous avons deux copies d'un jeu de données de zonage. L'une d'entre elles a été mise à jour, avec des modifications apportées à certains attributs de zone. Les polygones n'ont pas d'ID unique qui pourrait être utilisé pour effectuer une comparaison afin de trouver les zones mises à jour, nous devons donc utiliser la correspondance géométrique.
Les jeux de données, l'original et celui mis à jour, sont dirigés dans Matcher.
Appariement de la géométrie est définie sur 2D, et la Stratégie d'appariement des attributs est Apparier les attributs sélectionnés. Nous sélectionnons ZoneCategory comme attribut à comparer. Cela permettra de trouver des polygones dont la géométrie correspond et de vérifier si l'attribut a été modifié ou non.
Une copie des polygones qui ont correspondu ressort par le port de sortie SingleMatched. Ce sont les enregistrements qui n'ont pas été modifiés, indiqués ci-dessous en bleu.
Les enregistrements qui ont été modifiés ne rencontreront pas de correspondance - bien que la géométrie soit la même, l'attribut que nous avons spécifié ne l'est pas. Ces entités sont sorties via le port NotMatched, représenté ici en rouge.
Notes
- ChangeDetector fournit une approche alternative (mais moins général) qui peut être plus pratique pour certaines applications.
- Lors de la recherche de correspondances basées uniquement sur les attributs, considérez utiliser FeatureJoiner ouFeatureMerger pour de meilleures performances.
- Les points orientés sont supportés. Toutefois, la perte de précision engendrée par la conversion entre représentations d'orientation causera souvent l'identification, par ChangeDetector et Matcher, de points orientés en tant que Updated/NotMatched à moins que Comparaison indulgente de la géométrie soit activée.
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).
Comparaison de Transformers de jointure
FeatureJoiner
|
Attributs |
Non |
Non |
Entités |
- Meilleures performances pour les jointures simples sur des valeurs d'attributs
- Ne peut pas créer de listes : représente les jointures multiples en tant que plusieurs entités en sortie
- Ne peut pas utiliser des clés construites ou des expressions
|
Joint les entités en combinant les attributs et/ou géométries d'entités en fonction de valeurs d'un attribut clé. Effectue l'équivalent des jointures SQL Inner, Left et Full. |
FeatureMerger
|
Attributs |
Non |
Oui |
Entités |
- Peut utiliser des expressions comme clés (clés construites)
- Peut créer des listes : représente des jointures multiples en tant qu'entité individuelle
- Ne peut pas faire de correspondance selon la géométrie
|
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. |
ListBasedFeatureMerger
|
Attribut de liste vers attribut seul |
Non |
Oui |
Entités |
- Seul Transformer de jointure à utiliser tous les contenus d'attribut de liste comme clés (les autres peuvent utiliser une valeur spécifique dans une liste, mais pas la liste entière)
|
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 d'un attribut de liste avec des valeurs de clés d'attributs et d'expressions. |
InlineQuerier
|
Requête SQL |
Oui |
Non |
Entités |
- Utilise des données SQL et non-SQL
- Permet plusieurs déclarations de jointure/SQL et peut remplacer plusieurs Transformers
|
Crée un ensemble de tables de base de données SQLite pour les entités en entrée, exécute des requêtes SQL sur elles et génère les résultats en tant qu'entités. |
SQLCreator
|
Requête SQL |
Oui |
Non |
Base de données externe |
- Plus efficace si toutes les entités sont déjà dans une source compatible SQL
- Lit une table de base de données externe en cours d'exécution
|
Génère des entités FME à partir des résultats d'une requête SQL exécutée une fois dans une base de données. Une entité FME est créée pour chaque ligne des résultats de la requête SQL. |
SQLExecutor
|
Requête SQL |
Oui |
Non |
Base de données externe |
- Plus efficace pour les jointures complexes entre entités et source compatible SQL
- Lit une table de base de données externe en cours d'exécution
|
Exécute des requêtes SQL contre une base de données. Une requête est envoyée à la base de données pour chaque entité qui entre dans le Transformer. Les entités initiales et les résultats de la requête peuvent être édités en tant qu'entités. |
DatabaseJoiner
|
Attributs |
Non |
Oui |
Base de données externe et entités |
- Plus efficace pour les jointures simples entre entités et tables de base de données
- Très efficace si les clés sont indexées, et met en cache localement les données
- Lit une table de base de données externe en cours d'exécution
- Non-bloquant
|
Joint les attributs d'une table externe aux entités déjà présentes dans un traitement, sur la base d'une ou plusieurs clés communes. Des connaissances en SQL ne sont pas requises. Transformer non bloquant. |
Matcher
|
Géométrie et/ou attributs |
Non |
Oui |
Entités |
- La seule de ces méthodes qui peut utiliser la géométrie comme clé pour une correspondance
- Peut rechercher des différences d'attributs
- Utilise des géométries, relations non-spatiales
|
Détecte les entités qui correspondent l'une à l'autre. Les entités sont déclarées correspondantes lorsqu'elles ont une géométrie correspondante, des valeurs d'attributs correspondantes, ou les deux. Une liste d'attributs qui doivent différer entre les entités peut également être spécifiée.
Si la correspondance se fait uniquement sur des attributs (pas de géométries), utiliser FeatureMerger ou une autre méthode donnera de meilleures performances.
|
Configuration
Ports d'entrée
Input
Les entités à comparer. Toutes les entités sont comparées à toutes les autres entités.
Ports de sortie
Matched
Toutes les entités correspondant à une autre ressortent par le portMatched.
SingleMatched
Une copie unique de chaque ensemble d'entités appariées est envoyée au port SingleMatched. Les attributs de ces entités seront fusionnés sur l'entité de sortie unique.
NotMatched
Toute les entités sans correspondance ressortent par le port NotMatched (sans correspondance).
Paramètres
Contrôle des attributs
Stratégie d'appariement des attributs
|
Ce paramètre contrôle quels attributs de l'entité en entrée doivent avoir les mêmes valeurs pour être considérés comme correspondants.
- Apparier les attributs sélectionnés : les attributs mentionnés dans le paramètre Attributs sélectionnés seront comparés.
- Apparier tout sauf les attributs sélectionnés : tous les attributs seront comparés, sauf ceux spécifiés dans Attributs sélectionnés (et dans Attributs devant différer). La correspondance est effectuée sur tous les attributs, y compris les attributs de format non exposés.
- Apparier tous les attributs : les seuls champs exclus de la correspondance sont ceux indiqués par Attributs devant différer, le cas échéant. La correspondance est effectuée sur tous les attributs, y compris les attributs de format non exposés.
|
Attributs sélectionnés
|
Applicable quand Stratégie d'appariement des attributs vaut Apparier les attributs sélectionnés ou Apparier tout sauf les attributs sélectionnés et spécifie quels sont les attributs à apparier ou à exclure de la correspondance (selon la stratégie d'appariement choisie).
|
Attributs devant différer
|
Définit les attributs des entités en entrée qui doivent avoir une valeur différente avant que l'appariement ne soit déclarée.Les valeurs de tous les attributs correspondant à l'expression régulière sont concaténées et appariées pour déterminer la correspondance.
|
Comparaison d'attributs
Différencier les attributs vides, manquants et nuls.
|
Non : Les attributs vides, manquants ou nulls sont traités comme équivalents.
Oui : Les attributs vides, manquants ou nulls sont traités comme des paires différentes.
|
Contrôler les types et encodages d'attributs
|
Non : les attributs avec différents types et encodages sont considérés comme correspondance si leur valeur et la même.
Oui : Les attributs doivent avoir le même type, le même encodage et la même valeur pour être considérés comme correspondance.
|
Contrôle de la géométrie
Appariement de la géométrie
|
Contrôle si la géométrie 2D ou 3D (ou aucune) doit être la même avant qu'une correspondance ne soit déclarée. FULL s'assure que la 3D, les mesures et les géométries de traits correspondent tous.
Lors de la comparaison de géométries raster :
- 2D compare les propriétés
- 3D compare les propriétés et les valeurs.
- FULL compare les propriétés, les valeurs et les géométries.
Lors de la comparaison de géométries surfaciques et solides : 2D se comporte de la même manière que 3D, c'est-à-dire que les valeurs Z sont aussi comparées.
Lors de la comparaison de géométries nuages de points :
- 2D et 3D comparent les propriétés
- FULL compare les propriétés et les valeurs
|
Différencier les traits vides, manquants et nuls.
|
Non : Les traits (et noms) vides, manquants ou nulls sont traités comme équivalents.
Oui : Les traits (et noms) vides, manquants ou nulls sont traités comme des paires différentes.
|
Comparaison indulgente de la géométrie
|
Si Oui, alors l'ordre des points dans les entités linéaires et ponctuelles sera ignoré.
Notez que les zones peuvent avoir des emplacements de sommet de début/fin différents et correspondre quand même si toutes les coordonnées se situent dans la distance de tolérance vecteur (en unités terrain). Pour que les lignes correspondent, cependant, y compris les lignes fermées, elles doivent avoir des sommets de début et de fin correspondants, dans les limites de la tolérance.
Les différences de composition entre les chemins, les lignes et les autres courbes seront ignorées. L'ordre des éléments dans les collections, et l'ordre des trous dans les polygones troués seront ignorés.
Lors de la comparaison de rasters, seules les étendues sont comparées.
|
Vérifier le système de coordonnées
|
Non : Les systèmes de coordonnées sont ignorés.
Oui : Le nom des systèmes de coordonnées doivent être identiques pour les deux entités.
|
Tolérance vectorielle
|
La tolérance vectorielle permet à deux géométries de présenter des variations spatiales tout en étant considérées comme concordantes. Elle s'applique uniquement aux géométries vectorielles (points, courbes, surfaces). Fournissez une valeur en unités terrestres.
C'est similaire à une distance de Fréchet : Vous avez une laisse de chien de longueur "tolérance vectorielle". Vous allez marcher le long de la limite d'une des géométries, votre chien va marcher le long de la limite de l'autre. Si vous pouvez tous deux terminer votre promenade sans lâcher la laisse, les deux géométries sont dans la tolérance. Ce Transformer a une contrainte supplémentaire pour les courbes : vous et votre chien devez commencer à une extrémité de la courbe et finir à l'autre.
|
Note Pour les surfaces et les solides, la Tolérance vectorielle" est ignorée et est supposée être à 0.0.
Noms d'attribut en sortie
Correspondance ID
|
Un ID est ajouté à chaque entité ayant une correspondante de sorte qu'il est possible de construire des relations entre elles si besoin.
|
Attribut Nombre d'entités sur SingleMatched
|
Si fourni, un attribut sera ajouté à chaque entité sortant par le port SingleMatched contenant le nombre d'entités entrantes.
|
Génération de liste
Quand activé, un attribut de liste est ajouté pour chaque entité SingleMatched, composé d'attributs provnenant de toutes les entités.
Liste des dédoublonnés
|
Entrer un nom de liste.
|
Ajouter à la liste
|
Tous les attributs : tous les attributs seront ajoutés aux entités en sortie.
Attributs sélectionnés : Active le paramètre Attributs sélectionnés, où des attributs spécifiques peuvent être choisis pour inclusion.
|
Attributs sélectionnés
|
Activé lorsque l'option Ajouter à la liste est définie sur Attributs sélectionnés. Indiquez les attributs que vous souhaitez inclure.
|
É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.
Définir des valeurs de paramètres
Utilisation de l'éditeur de texte
L'éditeur de texte fournit un moyen efficace de construire des chaînes de textes (dont les expressions régulières) à partir de données source diverses, telles que des attributs, des paramètres et des constantes, et le résultat est directement utilisé dans le paramètre.
Editeur de texte
Utilisation de l'éditeur arithmétique
L'éditeur arithmétique fournit un moyen simple de construire des expressions mathématiques à partir de plusieurs données source, telles que des attributs et des fonctions, et le résultat est directement utilisé dans un paramètre.
Éditeur arithmétique
Valeur conditionnelle
Définit des valeurs selon un ou plusieurs tests.
Fenêtre de définition de conditions
Contenu
Les expressions et chaînes de caractères peuvent inclure des fonctions, caractères, paramètres et plus.
Lors du paramétrage des valeurs - qu'elles soient entrées directement dans un paramètre ou construites en utilisant l'un des éditeurs - les chaînes de caractères et les expressions contenant des fonctions Chaîne de caractères, Math, Date et heure ou Entité FME auront ces fonctions évaluées. Par conséquent, les noms de ces fonctions (sous la forme @<nom_de_fonction>) ne doivent pas être utilisés comme valeurs littérales de chaîne de caractères.
Options - Tables
Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.
Outils de tableau
Réordonner
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
- Ajouter une ligne
- Supprimer une ligne
- Déplacer la ligne en cours au dessus
- Déplacer la ligne en cours en dessous
- Déplacer la ligne en cours en haut de liste
- Déplacer la ligne en cours en bas de liste
|
Couper, Copier et Coller
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
- Couper une ligne - supprime et copie dans le presse-papiers.
- Copie une ligne dans le presse-papiers.
- Colle une ligne depuis le presse-papiers.
Copier, copier et coller peuvent être utilisés au sein d'un Transformer ou entre Transfromers.
|
Filtre
|
Commencez à taper une chaîne de caractères, et la matrice n'affichera que les lignes correspondant à ces caractères. Recherche dans toutes les colonnes. Cela n'affecte que l'affichage des attributs dans le Transformer - cela ne change pas les attributs qui sont sortis. |
Importer
|
Le bouton d'import remplit la table avec un jeu de nouveaux attributs lus depuis un jeu de données. L'application spécifique varie selon les Transformers. |
Réinitialiser/Rafraîchir
|
Réinitialise la table à son état initial, et peut fournir des options additionnelles pour supprimer des entrées invalides. Le comportement varie d'un Transformer à l'autre.
|
Note : Tous les outils ne sont pas disponibles dans tous les Transformers.
Références
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 .
Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.