Résumé
Identifie les points Lidar dans la proximité en trois dimensions des entités Z tout en fournissant la possibilité de reclasser les points et de les exporter vers une classe d'entités en sortie.
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é.
-
Lorsqu'un jeu de données LAS est spécifié en entrée, tous les points de données qu'il référence dans les fichiers LAS sont traités. Un sous-ensemble de données Lidar peut également être sélectionné en fonction de ses codes de classification, ses balises de classification et ses valeurs renvoyées en appliquant les filtres de points LAS souhaités via une couche de jeu de données LAS. Les filtres peuvent être définis par l'intermédiaire de la boîte de dialogue des propriétés de la couche ou de l'outil Créer une couche de jeu de données LAS.
Utilisez cet outil pour identifier la présence d'obstructions potentielles dans une proximité spécifiée par rapport à des entités d'intérêt, par exemple l'envahissement de la végétation à proximité de lignes de distribution.
Syntaxe
LocateLasPointsByProximity_3d (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 ou surfaciques 3D dont la proximité sera utilisée pour identifier les points LAS. | Feature Layer |
search_radius | Distance de l'espace autour des entités en entrée qui seront évaluées en vue de détecter la présence de points LAS. Elle peut être fournie 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. Les unités suivantes sont prises en charge :
| Linear Unit; Field |
count_field | Nom du champ de total qui sera ajouté à la table attributaire des entités en entrée. Les valeurs du champ reflètent la somme des points LAS qui se trouvent à proximité d'une entité en entrée. | String |
out_features (Facultatif) | 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. | Feature Class |
geometry (Facultatif) | 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. La présence de statistiques permet au filtrage de la couche du jeu de données LAS et aux options de symbologie de n'afficher que les valeurs d'attributs LAS qui existent dans les fichiers LAS.
| Boolean |
Sortie dérivée
Nom | Explication | Type de données |
out_las_dataset | ||
derived_features |
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
- ArcGIS Desktop Basic: Requiert 3D Analyst
- ArcGIS Desktop Standard: Requiert 3D Analyst
- ArcGIS Desktop Advanced: Requiert 3D Analyst