Extraire des objets d’un nuage de points (3D Analyst)

Synthèse

Extrait des objets distincts d’un nuage de points classé dans des entités ponctuelles, surfaciques ou multipatch.

Illustration

Illustration de l’outil Extraire des objets d’un nuage de points

Utilisation

  • Cet outil utilise une distance d’agrégation pour établir quels points appartiennent au même objet. Si plusieurs codes de classe peuvent potentiellement représenter le même objet, attribuez un ID de groupe commun qui référence les codes de classe au cours de l’agrégation. Par exemple, un arbre de grande taille peut comporter des points auxquels les codes de classe 3, 4 et 5 sont attribués. Un ID de groupe commun peut être affecté aux trois codes de classe pour garantir l’identification correcte de l’arbre.

  • L’extraction d’objets offre un jeu de données quantifiable pouvant servir à créer un inventaire des ressources qui peut être visualisé dans une carte ou une scène. Les formes 3D produites par cet outil peuvent faciliter les évaluations de visibilité ou d’impact des ombres. Des représentations géométriques simplifiées peuvent également fournir une abstraction cartographique utile pour visualiser des objets dans des nuages de points plus volumineux.

  • Utilisez le paramètre Nombre minimal de points pour éliminer les objets non valides des petits agrégats de points.

  • Les entités en sortie comporteront les attributs suivants :

    • ObjectCode : code de classe ou ID de groupe utilisé pour identifier le type d’objet
    • COUNT : nombre de points qui sont associés à l’objet

    Les attributs suivants sont ajoutés uniquement pour les géométries de type surfacique :

    • MIN_Z : valeur z la plus faible des points qui appartiennent à un objet
    • MAX_Z : valeur z la plus élevée des points qui appartiennent à un objet

    Des attributs supplémentaires, tels que la superficie, le volume et la pente moyenne d’une surface, ainsi que d’autres propriétés peuvent être calculés à l’aide de l’outil Ajouter des informations Z.

Paramètres

ÉtiquetteExplicationType de données
Nuage de points en entrée

Jeu de données LAS classé, paquetage de couche de scène de nuage de points ou service I3S de nuage de points qui sera utilisé pour détecter des objets.

LAS Dataset Layer; Scene Layer; File
Codes de classe à extraire

Codes de classe qui seront traités pour identifier des objets. Un ID de groupe commun peut être attribué pour fusionner plusieurs codes de classe dans le même objet.

Value Table
Distance d’agrégation

Distance en trois dimensions qui sera utilisée pour identifier les points appartenant au même objet.

Linear Unit
Entités d’objets en sortie

Objets en sortie dont la géométrie d’entité peut être de type point, polygone ou multipatch en fonction de la valeur du paramètre Type de géométrie en sortie.

Feature Class
Type de géométrie en sortie
(Facultatif)

Détermine le type de géométrie qui sera créé pour chaque objet. Le type spécifié détermine si les objets seront représentés sous forme de points, de polygones ou d’entités multipatch.

  • Point centralDes points en trois dimensions seront générés pour représenter chaque objet avec un point créé approximativement au milieu de l’enveloppe convexe de l’objet.
  • Cercle d’empriseDes polygones en deux dimensions seront générés pour représenter chaque objet avec un cercle d’emprise minimale entourant ses points.
  • Emprise 2DDes polygones en deux dimensions seront générés pour représenter chaque objet avec l’emprise orientée la plus petite contenant ses points.
  • Enveloppe convexe 2DDes polygones en deux dimensions seront générés pour représenter chaque objet avec l’enveloppe convexe contenant ses points.
  • Enveloppe concave 2DDes polygones en deux dimensions seront générés pour représenter chaque objet avec une enveloppe concave englobant ses points.
  • Sphère d’empriseDes entités multipatch seront générées pour représenter chaque objet avec une sphère d’emprise minimale englobant ses points.
  • Emprise 3DDes entités multipatch seront générées pour représenter chaque objet avec l’emprise orientée la plus petite contenant ses points.
  • Enveloppe convexe 3DDes entités multipatch seront générées pour représenter chaque objet avec l’enveloppe convexe entourant ses points. Il s’agit de l’option par défaut.
String
Nombre minimal de points
(Facultatif)

Nombre minimal de points qu’un objet doit détenir pour générer une sortie. La valeur par défaut est 10.

Long

arcpy.ddd.ExtractObjectsFromPointCloud(in_point_cloud, class_codes_to_extract, clustering_distance, out_features, {geometry_type}, {min_points})
NomExplicationType de données
in_point_cloud

Jeu de données LAS classé, paquetage de couche de scène de nuage de points ou service I3S de nuage de points qui sera utilisé pour détecter des objets.

LAS Dataset Layer; Scene Layer; File
class_codes_to_extract
[class_codes_to_extract,...]

Codes de classe qui seront traités pour identifier des objets. Un ID de groupe commun peut être attribué pour fusionner plusieurs codes de classe dans le même objet.

Value Table
clustering_distance

Distance en trois dimensions qui sera utilisée pour identifier les points appartenant au même objet.

Linear Unit
out_features

Objets en sortie dont la géométrie d’entité peut être de type point, polygone ou multipatch en fonction de la valeur du paramètre geometry_type.

Feature Class
geometry_type
(Facultatif)

Détermine le type de géométrie qui sera créé pour chaque objet. Le type spécifié détermine si les objets seront représentés sous forme de points, de polygones ou d’entités multipatch.

  • CENTERPOINTDes points en trois dimensions seront générés pour représenter chaque objet avec un point créé approximativement au milieu de l’enveloppe convexe de l’objet.
  • BOUNDING_CIRCLEDes polygones en deux dimensions seront générés pour représenter chaque objet avec un cercle d’emprise minimale entourant ses points.
  • BOUNDING_BOX_2DDes polygones en deux dimensions seront générés pour représenter chaque objet avec l’emprise orientée la plus petite contenant ses points.
  • CONVEX_HULL_2DDes polygones en deux dimensions seront générés pour représenter chaque objet avec l’enveloppe convexe contenant ses points.
  • CONCAVE_HULL_2DDes polygones en deux dimensions seront générés pour représenter chaque objet avec une enveloppe concave englobant ses points.
  • BOUNDING_SPHEREDes entités multipatch seront générées pour représenter chaque objet avec une sphère d’emprise minimale englobant ses points.
  • BOUNDING_BOX_3DDes entités multipatch seront générées pour représenter chaque objet avec l’emprise orientée la plus petite contenant ses points.
  • CONVEX_HULL_3DDes entités multipatch seront générées pour représenter chaque objet avec l’enveloppe convexe entourant ses points. Il s’agit de l’option par défaut.
String
min_points
(Facultatif)

Nombre minimal de points qu’un objet doit détenir pour générer une sortie. La valeur par défaut est 10.

Long

Exemple de code

Exemple 1 d’utilisation de la fonction ExtractObjectsFromPointCloud (fenêtre Python)

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

import arcpy
arcpy.env.workspace = r"C:/GIS_Data"
arcpy.ddd.ExtractObjectsFromPointCloud("Terrestrial_Scan.lasd", [(4, 5), (5, 5)],
                                       "60 Centimeters", "Trees.shp", 
                                       "CONCAVE_HULL_2D", 50)

Informations de licence

  • Basic: Nécessite 3D Analyst
  • Standard: Nécessite 3D Analyst
  • Advanced: Nécessite 3D Analyst