Extraire des entités de maillage à l’aide d’un nuage de points (3D Analyst)

Synthèse

Extrait des entités multipatch représentant des objets dans un maillage intégré en fonction d’un nuage de points classé.

Utilisation

  • Cet outil utilise les points classés d’un nuage de points pour identifier les objets correspondants dans le maillage intégré. Le nuage de points qui a été classé doit donc avoir été créé à partir du maillage intégré. L’outil Maillage vers LAS permet de créer un nuage de points qui peut être classé pour l’extraction des objets du maillage.

  • Un ID de groupe correspond à chaque code de classe. Un ID de groupe commun peut être attribué à plusieurs codes de classe afin que les points qui décrivent les éléments du même objet soient traités comme un seul objet.

  • Le processus d’extraction des objets regroupe en agrégats les points classés et identifie les objets du maillage intégré en fonction de leur proximité de l’ensemble de points agrégés. Les points plus proches que la valeur du paramètre Cluster Distance (Distance d’agrégation) sont considérés comme faisant partie du même objet. La valeur de ce paramètre doit être supérieure à l’espacement moyen des points des données.

  • Le paramètre Maximum Triangle Area (Surface du triangle maximale) sous-divise les triangles du maillage afin de tenir compte des cas où plusieurs objets peuvent être présents dans un triangle donné. Par conséquent, les triangles multipatch ne correspondent pas aux triangles du maillage.

  • Si le nuage de points ou le maillage intégré provient d’un service de couche de scène 3D indexé, la fonction d’exportation doit être activée pour ce service afin de l’utiliser comme entrées de l’outil.

Paramètres

ÉtiquetteExplicationType de données
Maillage intégré en entrée

Service I3S de maillage intégré ou paquetage de couche de scène traité.

Scene Layer; File
Nuage de points en entrée

Jeu de données LAS, nuage de points I3S ou paquetage de couche de scène de nuage de points avec points classés utilisé pour extraire des entités d’un maillage intégré.

LAS Dataset Layer; Scene Layer; File
Entités multipatch en sortie

Entités multipatch en sortie qui représentent les objets détectés dans le maillage intégré.

Feature Class
Codes de classe à extraire

Valeurs de code de classe du nuage de points utilisé pour identifier les objets dans le maillage intégré. Chaque code a un ID de groupe par défaut de la même valeur. Un ID de groupe commun peut être attribué pour regrouper les points de plusieurs codes de classe dans un même objet.

Value Table
Seuil de distance entre les points

Distance maximale entre les centres des triangles sous-divisés du maillage et les points représentant un objet donné. Les éléments du maillage se trouvant dans les limites de cette distance sont créés en tant qu’objet dans la classe d’entités en sortie.

Linear Unit
Surface maximale du triangle
(Facultatif)

Surface maximale des triangles sous-divisés du maillage. Les triangles du maillage en entrée sont sous-divisés afin d’optimiser la qualité de la sortie.

Areal Unit
Distance d’agrégation
(Facultatif)

Distance utilisée pour agréger les points au sein de chaque groupe d’objets. Si aucune valeur n’est indiquée, c’est la valeur du paramètre Point Distance Threshold (Seuil de distance entre les points) qui est utilisée comme distance d’agrégation.

Linear Unit
Zone d’agrégation minimale
(Facultatif)

Zone de surface minimale des triangles du maillage se trouvant dans la limite de distance indiquée d’un agrégat d’objets donné. Tout agrégat d’objets du maillage inférieur à la valeur spécifiée est ignoré. Par défaut, aucune valeur n’est utilisée. Par conséquent, tous les agrégats d’objets sont traités comme objets valides.

Areal Unit
Limite d'extraction
(Facultatif)

Limite qui représente la surface 2D à traiter. Lorsque les données attendues se trouvent dans un sous-ensemble du maillage intégré, il est possible d’indiquer une entité qui limite la surface à évaluer afin d’optimiser les performances de l’outil.

Feature Layer

arcpy.ddd.ExtractMeshFeaturesUsingPointCloud(in_mesh, in_point_cloud, out_feature_class, class_codes, point_distance_threshold, {maximum_triangle_area}, {cluster_distance}, {minimum_cluster_area}, {boundary})
NomExplicationType de données
in_mesh

Service I3S de maillage intégré ou paquetage de couche de scène traité.

Scene Layer; File
in_point_cloud

Jeu de données LAS, nuage de points I3S ou paquetage de couche de scène de nuage de points avec points classés utilisé pour extraire des entités d’un maillage intégré.

LAS Dataset Layer; Scene Layer; File
out_feature_class

Entités multipatch en sortie qui représentent les objets détectés dans le maillage intégré.

Feature Class
class_codes
[class_codes,...]

Valeurs de code de classe du nuage de points utilisé pour identifier les objets dans le maillage intégré. Chaque code a un ID de groupe par défaut de la même valeur. Un ID de groupe commun peut être attribué pour regrouper les points de plusieurs codes de classe dans un même objet.

Value Table
point_distance_threshold

Distance maximale entre les centres des triangles sous-divisés du maillage et les points représentant un objet donné. Les éléments du maillage se trouvant dans les limites de cette distance sont créés en tant qu’objet dans la classe d’entités en sortie.

Linear Unit
maximum_triangle_area
(Facultatif)

Surface maximale des triangles sous-divisés du maillage. Les triangles du maillage en entrée sont sous-divisés afin d’optimiser la qualité de la sortie.

Areal Unit
cluster_distance
(Facultatif)

Distance utilisée pour agréger les points au sein de chaque groupe d’objets. Si aucune valeur n’est indiquée, c’est la valeur du paramètre point_distance_threshold qui est utilisée comme distance d’agrégation.

Linear Unit
minimum_cluster_area
(Facultatif)

Zone de surface minimale des triangles du maillage se trouvant dans la limite de distance indiquée d’un agrégat d’objets donné. Tout agrégat d’objets du maillage inférieur à la valeur spécifiée est ignoré. Par défaut, aucune valeur n’est utilisée. Par conséquent, tous les agrégats d’objets sont traités comme objets valides.

Areal Unit
boundary
(Facultatif)

Limite qui représente la surface 2D à traiter. Lorsque les données attendues se trouvent dans un sous-ensemble du maillage intégré, il est possible d’indiquer une entité qui limite la surface à évaluer afin d’optimiser les performances de l’outil.

Feature Layer

Exemple de code

Exemple d’utilisation de l’outil ExtractMeshFeaturesUsingPointCloud (fenêtre Python)

L’exemple suivant illustre l’utilisation de cet outil dans la fenêtre Python :

import arcpy
arcpy.env.workspace = "C:/data"

lidar = "lidar/NE_neighborhood.lasd"
clusterDist = arcpy.Describe(lidar).pointSpacing * 2.5

arcpy.ddd.ExtractMeshFeaturesUsingPointCloud(in_mesh="NorthEast_Neighborhood_mesh.slpk",
                                             in_point_cloud=lidar,
                                             out_feature_class="NE_data.gdb/trees",
                                             class_codes=[[4, 5], [5, 5]],
                                             point_distance_threshold="25 centimeters",
                                             maximum_triangle_area="",
                                             clustering_distance=clusterDist,
                                             boundary="NE_data.gdb/parks")
)

Rubriques connexes