PointCloudSimplifier
Réduit le nombre de points dans un nuage de points en conservant sélectivement les points en fonction de la forme du nuage de points. Les points simplifiés et supprimés sont produits comme deux nuages de points discrets.
Aller à la configuration
Cas d'utilisation courants
- Réduit le volume de données d'une entité nuage de points pour répondre aux prérequis de traitement ou de stockage, lorsqu'il est souhaitable de respecter la forme globale de l'ensemble de données d'origine.
Comment fonctionne-t-il ?
PointCloudSimplifier reçoit des entités de nuages de points et les produit avec moins de points que l'original. Les points à conserver sont identifiés par un algorithme qui détermine la forme globale du nuage de points, puis élimine sélectivement les points.
Les zones présentant des taux de changement élevés (comme les pentes raides) conserveront plus de points, et les zones présentant des taux de changement faibles (généralement les zones plates) seront éclaircies de manière plus agressive. Ceci est basé sur la transformation de l'axe médian (MAT) de l'original, une représentation comme un squelette de l'entité entière du nuage de points. Les points individuels sont considérés par rapport à la MAT et évalués pour être inclus ou exclus.
La méthode de génération du MAT, la méthode d'échantillonnage et le niveau souhaité de simplification peuvent être optionnellement ajustés via les paramètres.
Le nuage de points simplifié et la nouvelle entité nuage de points contenant tous les points supprimés ressortent du Transformer.
Simplification de la transformation de l'axe médian (MAT). Cette méthode estime les normales pour chaque point et utilise un algorithme de rétrécissement de la boule pour approcher la MAT. Elle échantillonne ensuite le nuage de points en fonction de la taille de l'entité locale (LFS) de chaque point, définie par la distance la plus courte entre le point et l'axe médian. Les points dans les zones à forte courbure (LFS faible) sont échantillonnés à une densité plus élevée que les points redondants à faible courbure (LFS élevé).
Exemples
Exemple : simplifier un nuage de points
Dans cet exemple, nous allons réduire le nombre de points dans un nuage de points tout en respectant sa forme originale.
Notez que le jeu de données source contient plus de 6 millions de points. Vu ici dans FME Data Inspector sous un angle oblique, nous pouvons voir qu'il contient un certain nombre de structures élevées dans une zone assez plate.
L'entité nuage de points est dirigée vers PointCloudSimplifier.
Dans les paramètres, les réglages par défaut sont conservés.
Le nuage de points de sortie a été réduit à un peu plus de 1,6 million de points. Notez que les zones présentant un changement d'altitude rapide - les structures - restent en grande partie intactes, tandis que les grandes zones plates présentant peu de changement d'altitude ont été amincies de manière beaucoup plus agressive.
Comparons le nuage de points avant et après la simplification :
Notes
- Ce Transformer est très gourmand en traitement. PointCloudThinner réduit également le nombre de points dans un nuage de points, en utilisant soit des intervalles d'échantillonnage réguliers, soit les premiers/derniers points. Il est beaucoup plus rapide que le PointCloudSimplifier, mais ne tient pas compte de la forme de l'entité.
Choisir un Transformer Nuages de points
FME possède une gamme de Transformers spécialisés dans le traitement de données nuages de points.
Pour plus d'informations sur les propriétés et géométrie des nuages de points, vois Nuages de points (IFMEPointCloud).
Transformers Nuages de points
PointCloudCombiner
|
Combine les entités en un seul nuage de points. Les géométries de nuages de points et de nuages non ponctuels sont prises en charge.
|
PointCloudComponentAdder
|
Ajoute de nouveaux composants de valeurs constantes à un nuage de points.
|
PointCloudComponentCopier
|
Copie les valeurs des composants sélectionnés dans des composants soit nouveaux soit existants.
|
PointCloudComponentKeeper
|
Conserve seulement les composants nuages de points spécifiés, supprimant tous les autres.
|
PointCloudComponentRemover
|
Supprime les composants spécifiés d'un nuage de points.
|
PointCloudComponentRenamer
|
Renomme un composant existant.
|
PointCloudComponentTypeCoercer
|
Modifie le type de données de composants nuages de points et convertit les valeurs des composants si besoin est.
|
PointCloudConsumer
|
Lit les entités du nuage de points à des fins de test, y compris toute opération accumulée sur le nuage de points. Aucune opération supplémentaire n'est effectuée, et rien n'est fait avec les entités.
|
PointCloudCreator
|
Crée un nuage de points selon une taille et une densité avec des valeurs de composants par défaut
|
PointCloudExpressionEvaluator
|
Calcule des expressions sur chaque point dans une entité nuage de points, comme des opérations algébriques et des déclarations conditionnelles, et définit les valeurs de chaque composant nuage de points.
|
PointCloudExtractor
|
Sérialise la géométrie d'une entité raster dans un attribut Blob, encodant le contenu selon un choix de formats nuages de points binaires classiques.
|
PointCloudFilter
|
Sépare les nuages de points en plusieurs entités, en se basant sur l'évaluation d'expressions comprenant des valeurs de composants, et crée un port de sortie distinct pour chaque expression définie.
|
PointCloudMerger
|
Fusionne les nuages de points en joignant les points où les valeurs des composants sélectionnés correspondent (clé de jonction), y compris les composants x, y, z et autres. Les valeurs des composantes sont transférées entre les nuages de points et la sortie est filtrée en fonction de la réussite de la correspondance et de la duplication.
|
PointCloudOnRasterComponentSetter
|
Définit les valeurs des composantes du nuage de points en superposant un nuage de points sur une trame. Les valeurs des composantes de chaque point sont interpolées à partir des valeurs de la bande à l'emplacement du point.
|
PointCloudPropertyExtractor
|
Extrait les propriétés géométriques d'une entité de nuage de points et les expose en tant qu'attributs, en vérifiant éventuellement leur existence, en récupérant les propriétés des composants et en trouvant les valeurs minimales et maximales. Les étendues peuvent également être recalculées et mises à jour.
|
PointCloudReplacer
|
Décode un attribut binaire contenant des nuage de points encodés stockés en tant que blobs, puis remplace la géométrie de l’entité avec le nuage de point décodé.
|
PointCloudSimplifier
|
Réduit le nombre de points dans un nuage de points en conservant sélectivement les points en fonction de la forme du nuage de points. Les points simplifiés et supprimés sont produits comme deux nuages de points discrets.
|
PointCloudSorter
|
Tri les points d'un nuage de points en fonction des valeurs de ses composants
|
PointCloudSplitter
|
Découpe un nuage de points en plusieurs entités, chacune ayant des valeurs homogènes pour les composants ayant servi de critère de découpage.
|
PointCloudStatisticsCalculator
|
Calcule des statistiques sur les composants des nuages de points et ajoute les résultats sous la forme d'attributs.
|
PointCloudSurfaceBuilder
|
Prend un nuage de points en entrée et le reconstruit dans une maille.
|
PointCloudThinner
|
Réduit le nombre de points dans (amincit) un nuage de points en conservant les points à un intervalle fixe, un nombre maximum de points, ou une quantité définie de premiers ou de derniers points. Les points restants sont éliminés.
|
PointCloudToPointCoercer
|
Convertit des nuages de points en points ou géométries multi-points, retenant optionnellement des valeurs d'attributs et composants.
|
PointCloudTransformationApplier
|
Applique une échelle, un décalage ou une transformation matricielle pour recalculer des valeurs de composants et supprimer des valeurs de transformation
|
Configuration
Ports d'entrée
Input
Ce Transformer n'accepte que les entités de type nuage de points.
Ports de sortie
Simplified
Entités nuages de points avec un sous-ensemble simplifié des points originaux.
Removed
Nuages de points contenant tous les points non inclus dans les nuages simplifiés.
<Rejected>
Les entités non nuages de points seront dirigées vers le port <Rejected>, tout comme les nuages de points invalides.
Les entités rejetés auront un attribut fme_rejection_code avec l'une des valeurs suivantes :
INVALID_GEOMETRY_TYPE
INVALID_PARAMETER_<KEYWORD>
NO_RESULT
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
Algorithme de simplification
Algorithme
|
Transformation axe médian : Effectue une simplification basée sur la transformation de l'axe médian (Medial Axis Transform - MAT). Cette méthode estime les normales pour chaque point et utilise un algorithme de rétrécissement de la boule pour approcher la MAT. Elle échantillonne ensuite le nuage de points en fonction de la taille de l'entité locale (LFS) de chaque point, définie par la distance la plus courte entre le point et l'axe médian. Les points dans les zones à forte courbure (LFS faible) sont échantillonnés à une densité plus élevée que les points redondants à faible courbure (LFS élevé).
|
Paramètres d'axe de transformation médian
Ratio de filtre
|
Spécifie le niveau de simplification souhaité, relie les valeurs LFS à la densité d'échantillonnage. Des valeurs plus élevées entraîneront une densité globale plus faible.
Les valeurs habituelles vont de 0.01 à 0.8.
|
Echantillonnage minimum de la densité
|
Spécifie l'échantillonnage minimum de la densité pour les grilles de cellules (en unités points carré)
Une valeur de 0 signifie que la densité d'échantillonnage n'est pas limitée par le bas. Cela peut être utile pour maintenir un niveau de détail minimum dans les régions presque plates qui, autrement, seraient entièrement supprimées à cause de la détection des plans.
|
Echantillonnage maximum de la densité
|
Spécifie la densité maximal d'échantillonnage pour les cellules (en point par unité carrée).
Une valeur de 0 signifie que l'échantillonnage de la densité n'est pas limité par le haut.
|
Simplification basée LFS
|
Linéaire : utilise les valeurs LFS non-modifiées pour chaque point durant la simplification.
Quadratique (LFS^2) : Utilise le carré de la valeur LFS pour chaque point pendant la simplification. Cela augmentera l'effet de la courbure sur l'échantillonnage des points.
|
Réglage et réduction du bruit
|
Taille de la grille de cellule
|
Spécifie la taille de la cellule pour la simplification LFS basée sur la grille. Pendant la simplification, le nuage de points est divisé en une grille uniforme de cette taille. La densité d'échantillonnage est calculée pour chaque cellule sur la base des valeurs LFS moyennes des points qu'elle contient. Elle doit être aussi petite que possible, mais suffisamment grande pour avoir une moyenne de 5 à 10 points par cellule.
Auto : Laisse FME évaluer une taille de cellule raisonnable selon le rectangle englobant et le nombre de points dans le nuage de points en entrée.
|
Rayon initial de sphère
|
Spécifie le rayon initial utilisé par l'algorithme de rétrécissement de la boule. Des valeurs plus grandes permettront de détecter des formes plus grandes lors de l'approximation de la MAT.
Auto : Laisse FME évaluer un rayon initial raisonnable selon le rectangle englobant et le nombre de points dans le nuage de points en entrée.
|
Estimation des voisins de normales
|
Spécifie le nombre de points proches à prendre en compte lors de l'estimation des normales de points. Utilisez des valeurs plus élevées avec des entrées plus denses pour produire des normales plus cohérentes.
Les valeurs habituelles vont de 5 à 20.
|
Palier de préservation de sphère
|
Spécifie l'angle minimum (en degrés) entre les points de définition d'une balle médiane pendant une itération de rétrécissement de la balle. L'itération s'arrête lorsque l'angle tombe en dessous de ce seuil.
Une valeur de 0 signifie qu'il n'y aura aucune préservation de sphère.
Les valeurs habituelles vont de 0 à 30.
|
Palier de détection de plan
|
Spécifie l'angle minimum (en degrés) entre les points de définition de la boule médiane initiale. Si l'angle à la première itération est inférieur à ce seuil, aucune boule médiane n'est attribuée.
Une valeur de 0 signifie qu'il n'y aura aucune détection de plan.
Les valeurs habituelles vont de 0 à 40.
|
|
Avancé
|
Voisins bissecteurs
|
Spécifie le nombre de points proches à vérifier par rapport au palier bissecteur. Des valeurs plus élevées permettront d'obtenir moins de points MAT bruyants, mais limiteront également la capacité à détecter les petites entités.
Les valeurs habituelles vont de 1 à 5.
|
Palier de bissecteur
|
Le palier bissecteur est utilisé pour nettoyer les points MAT avant le calcul LFS. Des valeurs plus faibles signifient un nettoyage plus agressif, ce qui signifie une plus grande robustesse au bruit dans la MAT, mais moins d'entités seront détectées.
Les valeurs habituelles vont de 0.1 à 10.
|
Calcul LFS
|
Utiliser le MAT Intérieur seulement : prend en compte uniquement le MAT intérieur lors du calcul de valeurs LFS.
Utiliser le MAT intérieur et extérieur : prend en compte à la fois l'intérieur et l'extérieur lors du calcul de valeurs LFS.
|
|
É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.
Mots clefs : points, nuages de points, sonar LIDAR