SurfaceModeller
Construit une triangulation de Delaunay selon les points et lignes de rupture en entrée.
Le modèle de surface peut être édité sous diverses formes, telles qu'un réseau irrégulier triangulé (TIN), des sommets TIN, des triangles, un modèle numérique d'élévation (MNE) et des contours. Le modèle de surface étant une triangulation de Delaunay, il peut également être édité sous la forme de son dual, un diagramme de Voronoï.
Exemples
Notes
-
Il est important de noter que si la seule chose que vous voulez faire avec un modèle de surface existant est de produire des informations, vous devez acheminer une entité dans le modèle de surface. La façon la plus simple de le faire est d'utiliser le Transformer Creator et d'acheminer une seule entité avec une géométrie nulle dans le port d'entrée DrapeFeatures.
Configuration
Ports en entrée
Ces entités d'entrée peuvent être en 2D ou en 3D. Outre les points, les lignes et les géométries de surface, il peut également s'agir de géométries matricielles, de nuages de points et d'agrégats.
Les entités 2D seront forcées en 3D en ajoutant une valeur z de 0. Dans la plupart des cas, tous les points extraits de ce port se retrouveront dans le pool de sommets du modèle de surface sous-jacent. Un minimum de 3 points uniques est nécessaire pour construire un modèle de surface. Les points dont les valeurs x et y sont dupliquées seront abandonnés.
Les entités en entrée peuvent être en 2D ou 3D et peuvent être contenues dans des structures d'agrégats.
Les entités 2D seront forcées en 3D en ajoutant une valeur z de 0. Les arêtes de ruptures de pentes seront trouvées dans le pool d'arêtes du modèle de surface sous-jacent. Parfois, une arête de ruptures de pentes sera divisée pour permettre une triangulation optimale du modèle de surface. Les points dont les valeurs x et y sont dupliquées seront supprimés.
Ces entités d'entrée peuvent être en 2D ou en 3D. Si elles sont en 3D, leurs valeurs z seront écrasées. Les entités entrées par ce port sont sorties par le port de sortie DrapedFeatures avec leurs valeurs z définies comme des valeurs interpolées sur le modèle de surface sous-jacent.
Ports de sortie
Astuce : le paramètre Résolution de conflit peut filtrer un sous-ensemble de Points/Lignes en entrée pour s'assurer d'une bonne construction de modèle de surface.
Ce port retourne le modèle avec une série de points 3D régulièrement espacés. L'espace entre les lignes et colonnes est basé sur l'espacement spécifié dans les paramètres Espacement du MNE en X et en Y.
Ce port de sortie échantillonne le modèle surfacique sous-jacent selon les taux d'échantillonnage fixés dans Espacement du MNE en X et Espacement du MNE en Y, et produit une entité raster unique constituée de points 3D arrangés de manière homogène par ligne et colonne.
Ce port de sortie génère des entités via le via le port DrapeFeatures, avec leurs valeur s Z définies selon les valeurs interpolées du modèle de surface soujascent.
Ce port de sortie produit toutes les arêtes du modèle de surface sous-jacent. Chaque entité en sortie contient les attributs suivants _vertex1_id
et _vertex2_id
, qui identifient le vertex auquel elle est connecté.
Ce port de sortie produit tous les triangles du modèle de surface sous-jacent sous forme de polygones. Chaque triangle de sortie possède ces attributs :
_vertex1_id _vertex2_id _vertex3_id |
qui identifient l'ID des vertex |
_slope | qui identifie la pente des triangles en degrés |
_percentageSlope | correspondant au pourcentage de la pente (hauteur / distance) *100 % ou (_pente)*100% |
_aspect | angle en degré mesuré par l'angle entre nx et ny, où nx et ny sont les composant x et y du vecteur normal du triangle. |
Ce port retourne les triangles formant la triangulation de Delaunay en une géométrie de type maillage.
Ce port de sortie produit tous les sommets du modèle de surface sous-jacent. Chaque sommet contient l'attribut _vertex_id
qui l'identifie de manière unique.
Ce port de sortie produit un dual 2D du modèle de surface sous-jacent, qui est une triangulation de Delaunay 3D. Le dual d'une triangulation de Delaunay est appelé diagramme de Voronoï. Le dual 2D est construit en considérant uniquement les dimensions x et y de la triangulation de Delaunay 3D. Pour chaque sommet de la triangulation de Delaunay, on obtient une entité polygone de Voronoï en 2D, qui est plus proche du sommet qu'elle entoure dans le plan x-y que tout autre sommet de la triangulation de Delaunay. En outre, le polygone de Voronoï possède les attributs suivants :
_vertex_id | identifiant l'ID qu'il représente |
_elevation | fournissant l'altitude du point du polygone de Voronoi. |
Paramètres
Regrouper par |
Ce paramètre permet de former des groupes à partir de valeurs d'attributs. On peut spécifier zéro ou plusieurs attributs. Les entités d'entrée ayant les mêmes valeurs d'attribut sont placées dans le même groupe. Le Transformer fonctionne alors indépendamment sur chaque groupe d'entités d'entrée. Si ce paramètre est laissé vide, le Transformer traitera toutes les entités comme un seul groupe. |
Traitement des regroupements |
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. 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 projet avec vos données est le seul moyen sûr d'identifier le gain de performance. |
Tolérance surfacique |
Ce paramètre est utilisé pour déterminer les points d'entrée à ajouter au modèle de surface en tant que sommets. Une valeur de 0 désactive le filtrage des sommets. Conseil : Une valeur plus élevée accélère la construction du modèle de surface. Plus la valeur est grande, plus les points d'entrée seront filtrés. Pour les fichiers en entrée comportant des millions - voire des milliards - de points, il devient indispensable d'augmenter cette valeur. Lorsqu'une valeur positive est spécifiée pour la tolérance de surface, elle fonctionne comme suit. Pour chaque sommet qui est ajouté au modèle :
|
Méthode d'Interpolation |
Ce paramètre est utilisé pour les entités qui ressortent par le port DEMPoints et DEMRaster lorsque ces ports existent dans le Transformer. Il est également utilisé si des DrapeFeatures sont introduits dans le modèle.
|
Espacement du MNE en X, Espacement du MNE en Y |
Ces paramètres spécifient l'espacement du MNE en X et en Y du modèle généré. |
Valeur NoData du MNE en sortie |
Ce paramètre est utilisé seulement lorsque la méthode d'interpolation est PLANAR, et il n'affecte que le port de sortie DEMRaster. Toutes les cellules rasters tombant à l'extérieur des limites du modèle de surface auront la valeur de ce paramètre. Quand ce paramètre est blank, il est interprété comme NaN (Not a Number). Note : il est fortement recommandé de définir ce paramètre de sorte à produire des données raster avec des valeur Nodata plutôt que des valeurs NAN. |
Méthode de drapage |
Ce paramètre contrôle si les entités entrant par le port DrapeFeatures ressortent avec le même nombre de vertex, ou sont modifiées pour correspondre au modèle de surface.
Note: En général, MODEL produit des résultats plus détaillés que VERTEX, mais peut nécessiter beaucoup plus de temps de traitement pour générer des entités drapées. |
Altitude existante |
Ce paramètre contrôle la façon dont les entités en entrée avec une valeur Z seront déplacées ou la façon dont la valeur Z sera remplacée :
|
L'activation de ce groupe entraîne la sortie des entités de contour à partir du port Contours. Notez que lorsque ce groupe est activé, les points d'entrée le long des intervalles de contour seront perturbés ou supprimés (en fonction du paramètre Résolution de conflit), ce qui peut affecter la sortie des ports autres que le port Contours.
Intervalle des contours |
L'intervalle des contours est utilisée pour définir le niveau de séparation des contours en sortie. |
Dimension des contours |
Ce paramètre indique si les contours de sortie sont en 2D ou en 3D. Les contours 2D sont équivalents aux contours 3D sauf que les coordonnées Z sont supprimées. Astuce : lorsque le jeu de données en entrée est assez grand, définir ce paramètre à 2D accroît nettement les performances. |
Résolution de conflit |
Ce paramètre contrôle si les points d'entrée sur l'intervalle de contour sont abandonnés ou perturbés. Si ces points ne sont pas supprimés ou perturbés, les contours ne seront pas topologiquement valides.
|
Ce paramètre permet de définir le fichier dans lequel stocker le modèle de surface.
Ceci est très utile si vous devez construire un modèle de surface imposant utilisé pour plusieurs traitements, ou utilisé pour un seul traitement mais pouvant être réutilisé plus tard. Les modèles de surface sauvegardés peuvent être utilisés dans le cadre d'un flux de production sur le même système d'exploitation.
Note : ce paramètre est actif que si aucun regroupement n'est effectué.
Nom du fichier du modèle de surface de base |
Ce paramètre spécifie le nom de fichier, y compris son chemin, du fichier de modèle de surface. Le fichier du modèle de surface a l'extension |
Mode de Mise à jour du modèle de surface |
Ce paramètre contrôle la façon dont le projet lit et écrit le fichier modèle de surface. Note: Il doit y avoir au moins une entité en entrée. Pour la lecture, il suffit de saisir une seule entité avec une géométrie nulle via l'un des ports d'entrée.
|
Nombre de vertex estimé |
Ce paramètre fournit un nombre de vertex estimé du modèle final, qui peut être très supérieur au total de points entrants via le port Points/Lines et Breaklines. Remarque : il est recommandé d'utiliser une estimation généreuse lorsque vous construisez un grand modèle en plusieurs passages, car cette estimation est utilisée à des fins d'optimisation. Si cette estimation est trop faible, la construction du modèle de surface pourrait prendre beaucoup plus de temps. |
X Min Y Min X Max Y Max |
Ce paramètre ne doit être utilisé que lorsque vous construisez un grand modèle de surface nécessitant plusieurs traitements. Note: Dans les exécutions suivantes de SurfaceModeller, ce paramètre doit être spécifié. Autrement, le Transformer utilisera le rectangle englobant du modèle de surface dès la première exécution pour construire un modèle de surface. |
É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 : MBR "minimum bounding rectangle" SurfaceGeneralizer pointcloud