MRF2DCleaner
Note: Support for the MRFClean transformers is no longer provided as of FME 2022.0. Please contact Safe Software for alternative transformers that can be used to transition your FME workspaces.
The MRFCleaner repairs geometry, particularly during data migration from CAD to GIS, and is built upon the MRFCleanFactory, which is an integration of MRF’s cleaning technology into FME. The MRFCleaner fixes geometric problems in input data such as line overshoots and undershoots within the user-specified tolerance. It is useful for multi-layer and multi-tolerance two-dimensional data cleaning. Typical applications include the correction of utility maps, parcel maps, topographic maps and resource maps as data is migrated from one system to another.
MRFCleaner comporte les fonctionnalités suivantes :
- Tolérance de raccordement
- Extension de lignes
- Écrêtement de lignes
- Jointure de lignes
- Traitement de petits éléments
- Suppression de trous
- Suppression des doublons
- Suppression des arcs pendants
- Traitement des amalgames
Le nombre de couches utilisées pour le nettoyage des données est déterminé par le nombre de valeurs de tolérance de nettoyage différentes des entités d'entrée. Les entités qui ont les mêmes tolérances de nettoyage sont traitées comme étant sur la même couche. Ainsi, des entités provenant d'une source de données de haute qualité peuvent se voir attribuer une faible tolérance de nettoyage et être intégrées à des données provenant d'une source de données de moindre qualité, qui se verraient attribuer une plus grande tolérance de nettoyage.
Les géométries telles que le chemin, le polygone, le polygon troué, l'ellipse, l'arc elliptique, la multizone, la multi-courbe, le texte et le multi-texte sont converties en géométries de base telles que le point, la ligne, le chemin, l'arc ou le multi-point avant le processus de nettoyage. Le nettoyeur comprend et travaille avec des arcs de cercle. Les entités d'entrée avec des géométries non valides sont ignorées et supprimées.
Astuce
Vous pouvez également utiliser un ou plusieurs des Transformers suivants pour effectuer des opérations MRFCleaner singulières. Ces paramètres de Transformer sont tous disponibles dans le cadre de ce Transformer MRF2DCleaner, mais vous pouvez souhaiter utiliser des Transformers séparés afin que les opérations soient plus facilement visibles dans votre flux de travail.
Ports de sortie
Chaque entité qui sort par le port Cleaned a un nouvel attribut mrf_clean_status ajouté pour spécifier si l'entité est modifiée, créée, ou restera inchangée dans le processus de nettoyage. Les valeurs possibles de cet attribut sont "Modifié", "Créé" et "Original".
Les entités peuvent également être sorties par le port Flagged si l'une des options Remove Dangles, Remove Short Geometries et Compute True Intersections est définie sur Flag. Chacune de ces entités a un nouvel attribut mrf_clean_flag ajouté pour spécifier si cette entité est signalée comme étant plus courte que la valeur de tolérance de nettoyage ("short"), une géométrie pendante ("dangle") ou un point d'intersection ("intersection").
Paramètres
Traitement des regroupements
Le comportement par défaut consiste à utiliser l'ensemble des entités d'entrée comme groupe. Cette option vous permet de sélectionner les attributs qui définissent les groupes à former. Chaque ensemble d'entités ayant la même valeur pour tous ces attributs sera traité comme un groupe indépendant.
Lorsque toutes les entités sont reçues : comportement par défaut. Le traitement n'aura lieu qu'une fois que toutes les entités en entrée seront présente.
Quand le groupe change (avancé) : ce Transformer traitera les groupes en entrée dans l'ordre. Les changements de la valeur du paramètre Regrouper par sur le flux d'entrée déclencheront le traitement du groupe en cours de regroupement. Cela peut améliorer la vitesse globale (en particulier avec plusieurs groupes de taille égale), mais peut provoquer un comportement indésirable si les groupes en entrée ne sont pas ordonnés.
Il y a deux raisons typiques d'utiliser Quand le groupe change (avancé). La première concerne les données entrantes qui sont destinées à être traitées en groupes (et qui sont déjà classées ainsi). Dans ce cas, c'est la structure qui dicte l'utilisation de Regrouper par - et non des considérations de performance.
La seconde raison possible est le potentiel gain de performances.
Les gains de performance sont plus visibles quand les données sont déjà triées (ou lues en utilisant une déclaration SQL ORDER BY) puisque moins de travail est requis de la part de FME. Si les données doivent être ordonnées, elles peuvent être triées dans le traitement (bien que la surcharge de traitement supplémentaire puisse annuler tout gain).
Le tri devient plus difficile en fonction du nombre de flux de données. Il peut être quasiment impossible de trier des flux de données multiples dans l'ordre correct, car toutes les entités correspondant à une valeur Regrouper par doivent arriver avant toute entité (de tout type d'entité ou jeu de données) appartenant au groupe suivant. Dans ce cas, l'utilisation de Regrouper par avec Lorsque toutes les entités sont reçues peut être une approche équivalente et plus simple.
Note: De multiples types d'entités et entités de multiples jeux de données ne vont généralement pas arriver dans l'ordre correct.
Comme pour beaucoup de scénarios, tester différentes approches dans votre projet avec vos données est le seul moyen sûr d'identifier le gain de performance.
Général
Cette tolérance est utilisée comme tolérance de nettoyage par défaut, sauf si l'attribut de Tolérance d'entité est spécifié et valide. La tolérance de nettoyage minimale autorisée est de 0,0.
Le nombre de couches utilisées pour le nettoyage des données est déterminé par le nombre de valeurs de tolérance de nettoyage différentes des entités d'entrée. Les entités qui ont les mêmes tolérances de nettoyage sont traitées comme étant sur la même couche.
Si Calculer les intersections vaut Oui, le Transformer calcule les intersections entre toutes les entités en entrée, et les arcs et lignes sont coupés à chaque intersection rencontrée.
Si défini sur Flag, le point d'intersection ressortira par le port Flagged avec un attribut mrf_clean_flag défini sur "intersection".
Si Oui, une intersection est créée depuis les géométries qui sont dans l'une des distances de tolérance mais ne se touchent ou croise pas.
Si cette option est réglée sur Oui, les arcs et les lignes qui se situent dans la tolérance de nettoyage spécifiée sont prolongés - tout en conservant la direction de la ligne de travail. Aucune intersection n'est créée au cours de cette opération. Cette option ne traite pas les dépassements ; une combinaison de Calcul des intersections et de Suppression des géométries courtes peut remplir cette fonction.
S'il est défini sur Oui, un certain nombre de sommets de lignes sont supprimés. Le nombre de sommets supprimés est contrôlé par une tolérance de désherbage de la valeur de (Facteur de filtre * valeur de la Tolérance de nettoyage) ou (Facteur de filtre* valeur de l'Attribut de tolérance d'entité). Cette dernière est toujours utilisée lorsqu'elle est valide et que l'attribut Tolérance d'entité est spécifié. Plus la valeur de la tolérance de nettoyage est grande, plus le nombre de sommets supprimés est important.
Si ce paramètre vaut Oui, les entités ayant au moins un point final libre et ayant des longueurs inférieures à (Facteur Pendant * tolérance de nettoyage) ou (Facteur Pendant * valeur de tolérance ) sont supprimées.
Si défini sur Supprimer les Short et Flag Long , les entités qui ont au moins un point extreme libre seront soient supprimés comme ci-dessus ou leurs points extrêmes seront mis en sortie via le port Flagged avec un attribut mrf_clean_flag défini sur "dangle".
La valeur par défaut du Facteur Pendant est 1.0 et le minimum est 0.0.
Ce paramètre est utilisé avec Supprimer les arcs pendants pour déterminer si une entité pendante est trop courte.
La valeur par défaut est 1.0 et le minimum est 0.0.
Le paramètre est utilisé avec Généraliser les lignes pour déterminer la tolérance weeding.
La valeur par défaut est 1.0 et le minimum est 0.0.
Géométries
Si défini sur Oui, les entités qui ont des longueurs plus courtes que la tolérance de nettoyage spécifiée sont supprimées.
Si défini sur Flag, un point de l'entité ressortira par le port Flagged avec un attribut mrf_clean_flag défini sur "short".
Si elle est définie sur Oui, les entités dupliquées sont supprimées. Les entités sont considérées comme des doublons si leurs géométries sont comprises dans la tolérance de nettoyage. Seules les entités dont la tolérance de nettoyage est plus faible seront conservées après le nettoyage.
S'il a pour valeur Oui, les entités connectées individuellement sont jointes pour former des entités plus longues. Une paire d'entités linéaires ne peut être jointe que si les deux sont connectées de manière unique à un nœud ou à un point final donné.
Si Oui est choisi, alors la géométrie d'une entité peut changer pour correspondre à une autre si elles sont presque similaires.
Si Oui est choisi, alors les polygones et polygones troués seront nettoyés sans avoir été vectorisés au préalable.
Moduler l'exécution
MRFCleaner Modules fournit des informations détaillées sur les modules MRFCleanFactory.
Ce flux de travail par défaut convient à la plupart des situations. Toutefois, en utilisant les modules individuels, il est possible de créer un nombre quelconque de flux de travail personnalisés pour des projets et/ou des jeux de données spécifiques (par exemple, dans Workbench, en utilisant une série de Transformers MRFCleaner consécutifs ou des Transformers personnalisés). Il est toutefois important de comprendre les données traitées et le résultat final souhaité.
Plus d'informations
- Consulter la documentation Astuces générales.
- Echantillons de résultats MRFCleaner
É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 du 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 d'espace de travail. 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.
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.
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.
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.
Ces fonctions manipulent les chaînes de caractères. | |
Caractères spéciaux |
Un ensemble de caractères de contrôle est disponible dans l'éditeur de texte. |
Plusieurs fonctions sont disponibles dans les deux éditeurs. | |
Fonctions Date/heure | Les fonctions de dates et heures sont disponibles dans l'Editeur texte. |
Ces opérateur sont disponibles dans l'éditeur arithmétique. | |
Elles retournent des valeurs spécifiques aux entités. | |
Les paramètres FME et spécifiques au projet peuvent être utilisés. | |
Créer et modifier un paramètre publié | Créer ses propres paramètres éditables. |
Options - Tables
Les Transformers avec des paramètres de style table possèdent des outils additionnels pour remplir et manipuler des valeurs.
Réordonner
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
|
Couper, Copier et Coller
|
Activé une fois que vous avez cliqué sur un élément de ligne. Les choix comprennent :
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.
FME Community
FME Community iest 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.
Rechercher des exemples et informations à propos de ce Transformer dans FME Community.
Mots clefs: MRFCleaner2D