Résumé
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.
-
Vous pouvez configurer la couche de jeu de données LAS pour qu’elle limite les points LAS affichés et traités. Pour ce faire, sélectionnez une combinaison de codes de classification, d’indicateurs de classification et de valeurs renvoyées dans les paramètres de filtre de la couche. Les filtres peuvent être définis par l’intermédiaire de la boîte de dialogue Layer Properties (Propriétés de la couche) ou de l’outil Make LAS Dataset Layer (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.
Syntaxe
arcpy.ddd.LocateLasPointsByProximity(in_las_dataset, in_features, search_radius, count_field, {out_features}, {geometry}, {class_code}, {compute_stats})
Paramètre | Explication | Type 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.
| 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 doivent être calculées pour les fichiers LAS référencés par le jeu de données LAS. Le calcul des statistiques fournit un index spatial pour chaque fichier LAS, ce qui améliore les performances d’analyse et d’affichage. Les statistiques permettent également d’optimiser l’utilisation des filtres et de la symbologie en limitant l’affichage des attributs LAS (tels que les codes de classification et les informations renvoyées) aux valeurs présentes dans le fichier LAS.
| Boolean |
Sortie dérivée
Nom | Explication | Type 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())
Environnements
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst