Localiser les points LAS par proximité (3D Analyst)

Synthèse

Identifie les points LAS dans la proximité en trois dimensions des entités prenant en charge les valeurs Z et permet également de reclasser les points.

Utilisation

  • Cet outil met à jour l’entité en entrée avec un champ qui contient le nombre de points LAS situés dans le rayon de recherche spécifié. Comme il peut générer un nombre illimité de points, mieux vaut éviter l’utilisation de distances de recherche extrêmement grandes.

  • Il est possible que limiter les points LAS affichés et traités par la couche de jeu de données LAS en sélectionnant une combinaison de codes de classification, de balises de classification et de valeurs renvoyées dans les paramètres de filtrage de la couche. Les filtres peuvent être définis dans la boîte de dialogue Propriétés de la couche ou l’outil Créer une couche de jeu de données LAS.

  • Lors de la génération de l’entité ponctuelle en sortie à l’aide de la géométrie à point unique, un champ intitulé DIST3D est ajouté à la sortie qui contient la distance 3D entre le point et l’entité en entrée la plus proche.

Paramètres

ÉtiquetteExplicationType de données
Jeu de données LAS en entrée

Jeu de données LAS à traiter.

LAS Dataset Layer
Entités 3D en entrée

Entités ponctuelles, linéaires, surfaciques ou multipatch 3D dont la proximité est utilisée pour identifier les points LAS.

Feature Layer
Rayon de recherche

Distance autour des entités en entrée qui sont évaluées en vue de détecter la présence de points LAS. Elle peut se présenter sous la forme d’une distance linéaire ou d’un champ numérique dans la table attributaire des entités en entrée. Si le rayon de recherche découle d'un champ ou d'une distance linéaire dont les unités linéaires sont signalées comme Inconnu, l'unité linéaire de la référence spatiale XY des entités en entrée est utilisée.

Linear Unit; Field
Count Field

Nom du champ qui est ajouté à la table attributaire de l’entité en entrée et renseigné avec le nombre de points LAS à proximité de chaque entité. Le nom de champ par défaut est COUNT.

String
Classe d’entités en sortie
(Facultatif)

Entités ponctuelles qui représentent les points LAS détectés dans la proximité spécifiée des entités en entrée.

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

Indique la géométrie des entités ponctuelles en sortie qui représentent les points LAS détectés dans la proximité spécifiée des entités en entrée.

  • Multi-pointEntités multi-points dont chaque ligne comportera plusieurs points.
  • PointEntités à un seul point qui comportera une ligne unique pour chaque point LAS identifié.
String
Nouveau code de classe
(Facultatif)

Valeur du code de classe qui permet de reclasser les points détectés au sein du rayon de recherche des entités en entrée.

Long
Calculer les statistiques
(Facultatif)

Spécifie si des statistiques seront calculées pour les fichiers .las référencés par le jeu de données LAS. Les statistiques de calcul fournissent un index spatial pour chaque fichier .las, ce qui contribue à améliorer les performances d’analyse et d’affichage. Les statistiques améliorent également l’expérience de filtrage et de symbologie en limitant l’affichage des attributs LAS (par exemple, les codes de classification et les informations renvoyées) aux valeurs présentes dans le fichier .las.

  • Activé : les statistiques sont calculées. Il s’agit de l’option par défaut.
  • Désactivé : les statistiques ne sont pas calculées.
Boolean
Mettre à jour la pyramide
(Facultatif)

Spécifie si la pyramide du jeu de données LAS est mise à jour après la modification des codes de classe.

  • Activé : la pyramide du jeu de données LAS est mise à jour. Il s’agit de l’option par défaut.
  • Désactivé : la pyramide du jeu de données LAS n’est pas mise à jour.
Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Jeu de données LAS en entrée mis à jour

Jeu de données LAS en entrée mis à jour.

LAS Dataset Layer
Entités 3D en entrée mises à jour

Entités 3D en entrée mises à jour.

Feature Layer

arcpy.ddd.LocateLasPointsByProximity(in_las_dataset, in_features, search_radius, count_field, {out_features}, {geometry}, {class_code}, {compute_stats}, {update_pyramid})
NomExplicationType de données
in_las_dataset

Jeu de données LAS à traiter.

LAS Dataset Layer
in_features

Entités ponctuelles, linéaires, surfaciques ou multipatch 3D dont la proximité est utilisée pour identifier les points LAS.

Feature Layer
search_radius

Distance autour des entités en entrée qui sont évaluées en vue de détecter la présence de points LAS. Elle peut se présenter sous la forme d’une distance linéaire ou d’un champ numérique dans la table attributaire des entités en entrée. Si le rayon de recherche découle d'un champ ou d'une distance linéaire dont les unités linéaires sont signalées comme Inconnu, l'unité linéaire de la référence spatiale XY des entités en entrée est utilisée.

Linear Unit; Field
count_field

Nom du champ qui est ajouté à la table attributaire de l’entité en entrée et renseigné avec le nombre de points LAS à proximité de chaque entité. Le nom de champ par défaut est COUNT.

String
out_features
(Facultatif)

Entités ponctuelles qui représentent les points LAS détectés dans la proximité spécifiée des entités en entrée.

Feature Class
geometry
(Facultatif)

Indique la géométrie des entités ponctuelles en sortie qui représentent les points LAS détectés dans la proximité spécifiée des entités en entrée.

  • MULTIPOINTEntités multi-points dont chaque ligne comportera plusieurs points.
  • POINTEntités à un seul point qui comportera une ligne unique pour chaque point LAS identifié.
String
class_code
(Facultatif)

Valeur du code de classe qui permet de reclasser les points détectés au sein du rayon de recherche des entités en entrée.

Long
compute_stats
(Facultatif)

Spécifie si des statistiques seront calculées pour les fichiers .las référencés par le jeu de données LAS. Les statistiques de calcul fournissent un index spatial pour chaque fichier .las, ce qui contribue à améliorer les performances d’analyse et d’affichage. Les statistiques améliorent également l’expérience de filtrage et de symbologie en limitant l’affichage des attributs LAS (par exemple, les codes de classification et les informations renvoyées) aux valeurs présentes dans le fichier .las.

  • COMPUTE_STATSLes statistiques sont calculées. Il s’agit de l’option par défaut.
  • NO_COMPUTE_STATSLes statistiques ne sont pas calculées.
Boolean
update_pyramid
(Facultatif)

Spécifie si la pyramide du jeu de données LAS est mise à jour après la modification des codes de classe.

  • UPDATE_PYRAMIDLa pyramide du jeu de données LAS est mise à jour. Il s’agit de l’option par défaut.
  • NO_UPDATE_PYRAMIDLa pyramide du jeu de données LAS n’est pas mise à jour.
Boolean

Sortie obtenue

NomExplicationType de données
out_las_dataset

Jeu de données LAS en entrée mis à jour.

LAS Dataset Layer
derived_features

Entités 3D en entrée mises à jour.

Feature Layer

Exemple de code

Exemple 1 d'utilisation de l'outil LocateLasPointsByProximity (fenêtre Python)

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.LocateLasPointsByProximity_3d('lidar.lasd', 'powerlines.shp', 
                                    search_radius="10 Feet", 
                                    count_field="Near_Pts",
                                    out_features="located_pts.shp")
Exemple 2 d'utilisation de l'outil LocateLasPointsByProximity (script autonome)

L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.

'''****************************************************************************
Name: Classify Noise Points
Description: Updates classification of version 1.0 LAS files to conform to
             the standardized class codes introduced in the 1.1 specifications.
             The code is designed for use as a script tool.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback

# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)
reclassList = arcpy.GetParameterAsText(3) #List of values '<oldCode> <newCode>'
calcStats = arcpy.GetParameter(4)

try:
    # Execute CreateLasDataset
    arcpy.management.CreateLasDataset(inLas, lasd, folder_recursion=recursion)
    # Execute Locate Outliers
    outlier_pts = 'in_memory/outliers'
    arcpy.ddd.LocateOutliers(lasd, out_feature_class=outlier_pts, 
                            apply_hard_limit='Apply_Hard_Limit', 
                            absolute_z_min=-15, absolute_z_max=680, 
                            apply_comparison_filter='Apply_Comparison_Filter',
                            z_tolerance=0, slope_tolerance=150, 
                            exceed_tolerance_ratio=0.5, outlier_cap=3000)
    # Execute ChangeLasClassCodes
    arcpy.ddd.LocateLasPointsByProximity(lasd, in_features=outlier_pts, 
                                         search_radius='0.5 Centimeters', 
                                         class_code=18)
    # Report messages
    arcpy.GetMessages(0)

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Informations de licence

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

Rubriques connexes