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.
Cas d'utilisation courants
- Extraire les informations basiques d'une entité nuage de point, comme l'étendue géographique, le nombre de points et les plages d'intensité.
- Calculer et mettre à jour les étendues nuages de points après des opérations comme une fusion, un découpage ou un filtrage qui peuvent affecter les dimensions globales.
- Accéder à des informations de composants comme le type d'encodage et de données pour faciliter de futures manipulations de ces valeurs.
Comment fonctionne-t-il ?
PointCloudPropertyExtractor reçoit des entités de nuages de points et extrait des informations de base sur leur géométrie. Les résultats sont ajoutés en tant qu'attributs, et sortis avec l'entité originale.
Une sélection de Composants est disponible, qui peuvent ou non exister sur le nuage de points. Pour chaque composant inclus, vous pouvez vérifier s'il existe (oui ou non), récupérer ses propriétés et/ou extraire ses valeurs minimales et maximales. Si l'option Vérifier l'existence est utilisée et que la propriété choisie n'existe pas sur l'entité du nuage de points, aucun attribut ne sera ajouté pour les valeurs Propriétés ou Min/Max de ce composant.
Le nombre de points dans l'entité nuage de points peut toujours être inclus, comme l'attribut _num_points.
Les composants standard disponibles comprennent :
- x
- y
- z
- intensity
- color_red
- color_green
- color_blue
- classification
- return
- number_of_returns
- angle
- flight_line
- scan_direction
- point_source_id
- posix_time
- user_data
- gps_time
- gps_week
- flight_line_edge
- normal_x
- normal_y
- normal_z
- classification_flags
Les valeurs d'attribut reflètent l'état du nuage de points au moment de l'extraction, et peuvent devenir périmées si les propriétés du nuage de points changent.
Calculer et mettre à jour les étendues
Les valeurs de composants d'un nuage de points sont statiques et doivent être explicitement mises à jour pour refléter ces changements.
Ce paramètre peut être utilisé pour mettre à jour les étendues (x, y et z) de l'entité du nuage de points après une division, une fusion ou d'autres opérations qui modifient les dimensions limites de l'entité. La mise à jour est effectuée avant l'extraction des valeurs, et les résultats reflèteront donc les valeurs d'étendue mises à jour.
Exemples
Dans cet exemple, nous allons extraire des propriétés sélectionnées à partir d'un nuage de points. La source est une tuile de données LiDAR dans le centre-ville de Vancouver, où nous pouvons clairement voir de grands bâtiments et un stade.
Notez que le nuage de points possède plusieurs Composants et que nous voyons un aperçu limité de leurs informations.
Le nuage de points est dirigé vers PointCloudPropertyExtractor.
Dans les paramètres, nous sélectionnons quelles informations extraire en configurant la table Composants de points à extraire.
Les composantes x, y et z sont incluses par défaut (mais peuvent être supprimées). Nous ajoutons deux composantes supplémentaires à inclure - classification et color_red.
Notez que pour ces deux composants additionnels, nous avons activer Vérifier l'existence, ce qui vérifiera s'ils existent dans l'entité et retournera une réponse Oui/Non. Si le composant n'existe pas, il renvoie la réponse Non et n'ajoute pas d'attributs supplémentaires pour ce composant.
De nouveaux attributs sont ajoutés à l'entité générée, contenant les composants demandés, leurs propriétés et les valeurs minimum et maximum.
Notez que vérifier l'existence de color_red retourne No, par conséquent aucun nouvel attribut n'est ajouté à ce composant.
Dans cet exemple, nous partons du même jeu de données LiDAR que dans l'exemple précédent. Notez la coloration de l'affichage comme indiqué dans FME Data Inspector, qui rend les nuages de points qui n'ont pas de composantes de couleur en utilisant un dégradé arc-en-ciel. Le bleu représente les points les plus bas, et le rouge les points les plus hauts.
Ce nuage de points est majoritairement bleu - une indication qu'il peut y avoir quelques points hauts invalides qui doivent être supprimés.
Notez que la valeur de l'Etendue z maximum est 447.
En examinant le haut des structures les plus hautes, la valeur z la plus haute est inférieure à 200.
Le nuage de points est tout d'abord dirigé dans PointCloudFilter, puis dans PointCloudPropertyExtractor.
Dans les paramètres de PointCloudFilter, une expression est créée, envoyant tous les points avec une valeur z inférieure à 200 vers le port de sortie GoodPoints.
Dans PointCloudPropertyExtractor, Calculer et mettre à jour les étendues est réglé sur Oui.
Notez que les valeurs minimum et maximum des composants x, y et z sont aussi extraites.
L'entité du nuage de points de sortie reflète une distribution plus uniforme des dégradés de couleur.
La valeur maximale de z nouvellement calculée est de 189,08.
Notes
- Pour accéder à des informations similaires sur des points individuels, utiliser PointCloudToPointCoercer pour convertir l'entité nuage de points en points.
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).
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. |
|
Ajoute de nouveaux composants de valeurs constantes à un nuage de points. |
|
Copie les valeurs des composants sélectionnés dans des composants soit nouveaux soit existants. |
|
Conserve seulement les composants nuages de points spécifiés, supprimant tous les autres. |
|
Supprime les composants spécifiés d'un nuage de points. |
|
Renomme un composant existant. |
|
Modifie le type de données de composants nuages de points et convertit les valeurs des composants si besoin est. |
|
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. |
|
Crée un nuage de points selon une taille et une densité avec des valeurs de composants par défaut |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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é. |
|
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. |
|
Tri les points d'un nuage de points en fonction des valeurs de ses composants |
|
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. |
|
Calcule des statistiques sur les composants des nuages de points et ajoute les résultats sous la forme d'attributs. |
|
Prend un nuage de points en entrée et le reconstruit dans une maille. |
|
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. |
|
Convertit des nuages de points en points ou géométries multi-points, retenant optionnellement des valeurs d'attributs et composants. |
|
Applique une échelle, un décalage ou une transformation matricielle pour recalculer des valeurs de composants et supprimer des valeurs de transformation |
Configuration
Ports en entrée
Ce Transformer n'accepte que les entités de type nuage de points.
Ports de sortie
Les entités nuages de points avec des attributs contenant les propriétés de composants comme spécifiés.
Les entités en sortie peuvent aussi avoir des valeurs d'étendue mises à jour.
Les entités non nuages de points sont dirigées vers le port <Rejected>, de même que 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
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
Préfixe des attributs des composants |
(Optionnel) Un préfixe pour ajouter des attributs relatifs aux composants nuages de points. |
Calculer et mettre à jour les étendues |
Si Oui, tous les points du nuage de points seront lus, et l'étendue du nuage de points sera aussi mise à jour avec ces valeurs exactes. L'étendue d'un nuage de points peut changer après certaines opérations (par exemple, le détourage). Lorsque cela se produit, les étendues sont généralement définies comme une approximation des limites réelles (par exemple, lors d'un découpage, les limites du nuage de points de sortie sont égales à l'intersection des limites du nuage de points d'entrée et des limites de la découpe). |
Cette table est utilisée pour spécifier les composants pour lesquels extraire des propriétés et quelles propriétés extraire pour chaque composant.
Les composants x, y et z sont inclus par défaut (bien qu'ils puissent être enlevés).
Le nombre de points sera toujours extrait dans l'attribut _num_points.
Composant |
Il est possible de demander tout ou partie des composants. Les noms des composants peuvent être saisis directement ou sélectionnés dans la liste des composants standard disponibles. |
||||||||
Vérifier l'existence |
Si activé, les propriétés suivantes seront extraites :
Notez que si un composant demandé n'existe pas, seul l'attribut de contrôle d'existence ( _<composant>) sera défini. Tous les autres attributs seront ignorés. |
||||||||
Récupération propriétés |
Si activé, les propriétés suivantes seront extraites :
|
||||||||
Récupération min/max |
Si activé, les propriétés suivantes seront extraites :
|
É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.
Références
Comportement |
|
Stockage des entités |
Non |
Dépendances | Aucun |
Alias | |
Historique |
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.
Les exemples peuvent contenir des informations sous licence Open Government - Vancouver et/ou Open Government - Canada.
Mots clefs : points, nuages de points, sonar LIDAR