HullReplacer
Remplace la géométrie de l'entité par une enveloppe convexe ou concave autour de l'entité.
Aller à la configuration
Cas d'utilisations typiques
Comment fonctionne-t-il ?
HullReplacer reçoit des entités avec n'importe quel type de géométrie et remplace individuellement leur géométrie par une enveloppe Convexe ou Concave.
Une enveloppe convexe est un polygone couvrant l'étendue de l'entité, dont aucun angle intérieur n'est supérieur à 180 degrés. Elle ressemble à un élastique entourant les entités.
Une enveloppe concave (ou enveloppe alpha) n'a pas de restrictions sur l'angle et peut suivre plus étroitement la forme générale de l'entité. Elle est calculée à l'aide du paramètre Valeur alpha et peut comporter plusieurs parties et polygones troués.
Si une enveloppe de sortie a une surface nulle (l'enveloppe d'un seul point ou d'une ligne verticale, par exemple), elle deviendra un point ou une ligne, selon le cas.
Des enveloppes 3D peuvent être générées lorsque les entités d'entrée sont soit 3D, soit un mélange de 3D et de 2D. En cas de mélange, les entités 2D se voient attribuer une valeur Z par défaut.
Enveloppes concaves et valeurs alpha
Les enveloppes concaves sont de forme variable. Elles sont calculées en triangulant d'abord l'ensemble de données, puis en mesurant le rayon du cercle circonscrit de chaque triangles résultants (circumradius, le rayon d'un cercle qui touche les trois points du triangle). Les triangles dont la taille est supérieure à la Valeur alpha spécifiée sont écartés, et les autres sont dissous pour former l'enveloppe. Les mesures sont exprimées en unités terrestres.
Si la Valeur alpha est explicitement spécifiée, elle est utilisée pour le calcul. Si elle est égale à zéro (0) ou si elle n'est pas spécifiée, l'alpha est approximé comme la plus petite valeur produisant une surface unique. Si l'alpha est trop petit, il peut renvoyer une géométrie nulle. Les nombres plus élevés produisent généralement des surfaces plus grandes, et une valeur alpha suffisamment grande produit le même résultat qu'une enveloppe convexe.
Voir les exemples ci-dessous pour voir l'effet de la variation de la Valeur alpha.
Les géométries qui sont plus éloignées que la Valeur alpha du reste des géométries peuvent être rejetées si elles ne constituent pas à elles seules une surface valide.
La génération d'enveloppe concave fonctionne bien avec des points ; les lignes et surfaces sont acceptées et converties en points.
Exemples
Exemple : Remplacement de la géométrie d'une entité multipoint par son enveloppe
Dans cet exemple, nous voulons générer des enveloppes à la fois convexes et concaves autour d'un nuage de points. Notez que le coin inférieur gauche des données présente un bord irrégulier, résultat de la couverture LiDAR le long d'un littoral.
Un nuage de points est une entité unique. Il existe un ensemble de Transformers de nuages de points spécialisés qui opèrent sur des points individuels, mais les autres Transformers traitent généralement leur géométrie comme leur empreinte rectangulaire (rectangle englobant).
Pour créer une enveloppe qui respecte le bord irrégulier, le nuage de points est d'abord acheminé dans un PointCloudToPointCoercer puis dans un HullReplacer.
Dans les paramètres, la Géométrie en sortie est réglée sur Multipoint unique. Une seule entité est émise via le port de sortie Coerced.
L'entité multipoint résultante n'est plus traitée comme un nuage de points. Il est à noter que le temps de traitement sera beaucoup plus long.
Dans la boîte de dialogue des paramètres de HullReplacer, le Type d'enveloppe est défini sur Convexe () , et la Dimension en sortie est modifiée de Automatique à 2D pour s'assurer que l'enveloppe est une empreinte.
L'enveloppe 2D qui en résulte honore la limite irrégulière des données. Elle remplace la géométrie multipoint.
Si le Type d'enveloppe est Concave )( et que la Valeur alpha est laissée vide (calcul de l'alpha optimal pour produire une seule enveloppe), une enveloppe bien ajustée est produite. Le temps de traitement est beaucoup plus long.
Exemple : Enveloppes concaves et valeurs alpha
Dans cet exemple, nous allons générer une série d'enveloppes concaves pour un ensemble d'adresses de propriétés tout en faisant varier les valeurs alpha.
Les entités d'entrée se trouvent dans un système de coordonnées UTM83-10, avec des unités terrain en mètres, et la valeur alpha représente donc également une mesure en mètres.
10 - Trop petit pour obtenir des résultats utiles.
|
|
50 - Ajustement serré, certains points en entrée se situent en dehors de la distance alpha.
|
|
Par défault (vide) - valeur optimale calculée pour produire une seule zone.
|
|
500 - Peu serré, mais non convexe.
|
|
10000 - Identique à l'enveloppe convexe.
|
|
Notes
Configuration
Ports d'entrée
Input
Entités à géométrie 2D et/ou 3D.
Les arcs et les ellipses seront tracés avant le calcul de l'enveloppe. Les entités textuelles seront traitées comme des points.
Ports de sortie
Hull
Géométrie de l'enveloppe telle que spécifiée dans les paramètres. Il s'agit généralement d'un polygone, mais aussi d'une ligne ou d'un point.
<Rejected>
Les entités sans géométrie valide sont émises via ce port, de même que les entités avec des valeurs non numériques pour Alpha ou Valeur Z par défaut .
Les entités rejetés auront un attribut fme_rejection_code avec l'une des valeurs suivantes :
INVALID_GEOMETRY_VERTICES
INVALID_PARAMETER_ALPHA_VALUE
INVALID_PARAMETER_DEFAULT_Z_VALUE.
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
Hull
Type d'enveloppe
|
Sélectionner le type d'enveloppe à calculer :
-
Convexe () : Polygone convexe englobant au minimum, dont aucun angle intérieur n'est supérieur à 180 degrés.
-
Concave)( : Une enveloppe basée sur la Valeur alpha, qui n'a pas de restrictions d'angle et peut être constituée de plusieurs polygones et polygones troués. Elle s'adapte généralement mieux à la forme de l'ensemble de données que l'enveloppe convexe.
|
Valeur Alpha
|
Quand le Type d'enveloppe est Concave )(, soit :
-
Fournir une valeur spécifique en unités terrain pour le calcul de l'enveloppe, ou
-
Laisser le paramètre vierge (ou mettre zéro) pour que l'alpha optimal soit calculé afin de produire une enveloppe unique.
Voir les exemples ci-dessus pour l'utilisation de la valeur alpha.
|
Dimension en sortie
Output
|
Sélectionner la dimensionnalité de l'enveloppe de sortie :
Automatique
|
La sortie sera similaire à la sélection de 3D, sauf que pour un mélange de vertex 2D et 3D, les vertex 2D seront convertis en 3D en utilisant la plus grande valeur z des entités d'entrée (au lieu d'utiliser la Valeur Z par défaut).
|
2D
|
Si l'une des entités d'entrée est en 3D, ses coordonnées z seront ignorées.
|
3D
|
L'enveloppe prend en compte les sommets 3D des entités d'entrée.
Si les entités entrantes sont un mélange de vertex 2D et 3D, alors les vertex 2D sont converties en 3D en utilisant la valeur Z par défaut spécifiée.
Toutefois, si toutes les entités en entrée sont 2D, le résultat en sortie ne sera pas converti en 3D.
|
|
Valeur Z par défaut
|
Lorsque l'option En sortie est 3D, indiquez une valeur Z à attribuer aux entités 2D converties.
|
É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
Comportement
|
Basé sur des entités
|
Stockage des entités
|
Non
|
Dépendances |
Aucun |
Alias |
ConvexHullCreator
|
Historique |
|
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.