LineBuilder
Relie des entités séquentielles de points et/ou de lignes pour créer une géométrie de ligne ou de surface.
Cas d'utilisation courants
-
Relier des points pour former une ligne
-
Connexion de plusieurs lignes en lignes plus longues et continues
Comment fonctionne-t-il ?
Le LineBuilder reçoit des entités avec une géométrie de point et/ou de ligne, et les connecte dans l'ordre reçu, produisant une géométrie de ligne ou de zone.
L'ordre dans lequel les entités entrent dans le Transformer et l'orientation de toute géométrie linéaire reçue sont respectés. Les espaces entre les entités linéaires sont connectés et les points en double peuvent être traités ou ignorés.
Les valeurs Z sont prises en charge. Si certaines entités d'entrée ont des valeurs z et d'autres pas, celles qui n'en ont pas se voient attribuer une valeur z de zéro (0). Les entités dont les coordonnées x et y correspondent mais dont les valeurs z diffèrent ne sont pas considérées comme des doublons.
Si l'entité de sortie est fermée (la première et la dernière coordonnées x et y sont identiques), une surface est produite, que les valeurs z correspondent ou non.
Les entités peuvent être regroupées par valeurs d'attributs pour produire plusieurs sorties.
Les attributs peuvent être regroupés, supprimés ou collectés sous forme d'attributs de liste.
Exemples
Dans cet exemple, nous disposons d'un ensemble d'entités ponctuelles capturées par GPS le long d'un itinéraire. Nous voulons créer une ligne à partir de ces points séquentiels.
Les entités sont acheminées dans un LineBuilder.
Dans les paramètres, les valeurs par défaut sont utilisées.
Une entité à ligne unique est produite, reliant tous les points d'entrée dans l'ordre où ils ont été reçus.
Notes
-
Sorter peut être utile pour trierdes entités avant d'utiliser le LineBuilder.
-
Lorsque le LineBuilder remplit les espaces entre les entités, il peut produire des résultats inattendus si les entités d'entrée ne sont pas triées correctement. Pour combiner des lignes adjacentes (sans créer de nouvelle géométrie pour relier les espaces), utilisez un LineCombiner.
-
Le CoordinateSwapper peut être utile dans certains cas spécifiques.
Créer des modifier des entités linéaires
Ces Transformers fonctionnent avec les lignes de différentes manières.
|
Fonction |
Description du Transformer |
---|---|---|
Création simple de lignes à partir de lignes et/ou de points. |
Relie des entités séquentielles de points et/ou de lignes pour créer une géométrie de ligne ou de surface. |
|
Combinaison de lignes adjacentes pour former des lignes plus longues ou des chemins complexes, avec des options de gestion de la géométrie plus avancées que celles de LineBuilder. |
Relie les entités de ligne qui se rencontrent à des points de départ ou d'arrivée communs pour créer des lignes ou des chemins plus longs. |
|
Combinaison d'arcs et de lignes pour former des chemins plus longs. |
Connecte des entités linéaires (arcs de cercles et lignes) dans leur ordre d'entrée, constituant ainsi une entité de type Chemin (Path). |
|
Transformer les entités linéaires en surfaces. |
Convertit une entité linéaire en polygone en ajoutant le point de départ à la fin de la géométrie. |
|
Allonger les entités linéaires d'une quantité spécifique et selon un angle approprié. |
Prolonge les entités linéaires en créant deux points d'extension. |
|
Découpage des entités en entités plus petites. |
Découpe les entités d'entrée en points, lignes ou zones. Les entités découpées contiennent le même ensemble de vertex que les entités d'entrée. |
|
Décomposition d'un chemin en segments (lignes et arcs). |
Décompose une entité de type chemin (path) en ses composants de base. |
|
Raccourcissement des entités linéaires en coupant les extrémités. |
Réduit la géométrie d'une entité linéaire à partir des extrémités en coupant les distances, les indices ou les valeurs de mesure spécifiés. Il fonctionne sur les entités à géométrie linéaire simple et les polygones sans trous. |
|
Intersection de lignes avec des surfaces. |
Effectue une superposition ligne-sur-surface. Chaque ligne d'entrée est divisée à toutes les limites de surface qu'elle croise ou les surfaces sont fractionnées là où elles sont superposées à des lignes. Les attributs peuvent être partagés entre les lignes et les surfaces liées (jointure spatiale). |
|
Intersection de lignes avec des lignes. |
Effectue une superposition ligne sur ligne dans laquelle toutes les lignes d'entrée sont intersectées les unes contre les autres et les entités de ligne résultantes sont créées et sorties. Les points d'intersection sont transformés en entités ponctuelles qui peuvent contenir la liste fusionnée des attributs des lignes intersectées originales. |
|
Trouver l'emplacement des points sur les lignes. |
Effectue une superposition point sur ligne. Chaque ligne en entrée est découpée au plus proche endroit d'un point dans le seuil de tolérance spécifié et les attributs sont partagés entre les points et les lignes liés (jointure spatiale). |
Configuration
Ports d'entrée
Ports de sortie
Si l'entité résultante est un unique point, elle ressort par ce port.
Si l'entité générée ne commence pas et finit pas au même point , elle ressort par ce port.
Si l'entité générée en sortie forme un polygone (démarre et finit au même point), elle ressort par ce port.
Toute entité qui n'a ni point ni ligne ressort via ce port.
Les entités rejetées auront un attribut fme_rejection_code avec l'une des valeurs suivantes :
INVALID_GEOMETRY_TYPE
Gestion des entités rejetées : ce paramètre permet d'interrompre la traduction ou de la poursuivre lorsqu'elle rencontre une entité rejetée. Ce paramètre est disponible à la fois comme option par défaut de FME et comme paramètre de traitement.
Paramètres
Regrouper par |
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. Si seulement une entité ponctuelle a été reçue avec une valeur données pour la valeur Regrouper par, elle ressortira en tant que Point. Si l'entité en sortie forme une boucle (qui démarre et se termine sur le même point), elle ressort par le port Polygon. Les autres entités produites sortent par le port LINE (ligne). |
||||
Traitement des regroupements |
Sélectionnez le moment du traitement où les groupes sont traités :
Considérations sur l'utilisation de Regrouper par
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 traitement avec vos données est le seul moyen sûr d'identifier le gain de performance. |
Supprimer les points dupliqués |
Si Oui, les coordonnées dupliquées des entités d'entrée sont supprimées. Autrement dit, si deux entités ponctuelles, toutes deux situées à (0,0,0), sont entrées, un point situé à (0,0,0) ressort. Si Non, les coordonnées dupliquées des entités d'entrée ne sont pas supprimées. C'est-à-dire que si deux entités ponctuelles à (0,0,0) sont entrées, une ligne est produite avec deux coordonnées, toutes deux à (0,0,0). |
||||||
Traitement des attributs |
Indiquer comment les attributs sont cumulés sur les lignes combinées :
|
||||||
Génération de liste
|
Quand activé :
|
É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.
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 traitement 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 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.
Mots clefs: "point joiner" "line creator" PointConnector