Resumen
Identifica los puntos LIDAR dentro de la proximidad tridimensional e entidades habilitadas para z. También permite reclasificar los puntos LIDAR y exportarlos a una clase de entidad de salida.
Uso
Esta herramienta actualiza la entidad de entrada con un campo que contiene el recuento de los puntos LAS incluidos en el radio de búsqueda especificado.
-
Cuando un dataset LAS se especifica como entrada, todos los puntos de datos en los archivos LAS a los que hace referencia se procesarán. También es posible seleccionar un subconjunto de datos LIDAR por los códigos de clasificación, indicadores de clasificación y valores de retoro aplicando los filtros de punto LAS que desee mediante una capa de dataset LAS. Los filtros se pueden definir mediante el cuadro de diálogo de propiedades de la capa en la herramienta Crear capa de dataset LAS.
Considere la posibilidad de utilizar esta herramienta para identificar la presencia de posibles obstáculos dentro de una proximidad especificada a entidades de interés, como la invasión de la vegetación cerca de líneas de servicios públicos.
Sintaxis
LocateLasPointsByProximity_3d (in_las_dataset, in_features, search_radius, count_field, {out_features}, {geometry}, {class_code}, {compute_stats})
Parámetro | Explicación | Tipo de datos |
in_las_dataset | El dataset LAS que se va a procesar. | LAS Dataset Layer |
in_features | Las entidades poligonales, de punto o línea 3D cuya proximidad se utilizará para identificar los puntos LAS. | Feature Layer |
search_radius | Distancia del espacio situado alrededor de las entidades de entrada en las que se va a evaluar la presencia de puntos LAS y que se pueden proporcionar como una distancia lineal o como un campo numérico de la tabla de atributos de la entidad de entrada. Si el radio de búsqueda procede de un campo o de una distancia lineal cuyas unidades están especificadas como Desconocido, se utilizará la unidad lineal de la referencia espacial XY de las entidades de entrada. Se admiten las siguientes unidades:
| Linear Unit; Field |
count_field | El nombre del campo de recuento que se agregará a la tabla de atributos de la entidad de entrada. Los valores del campo reflejarán la suma de los puntos LAS que se encuentran en la proximidad de una entidad de entrada. | String |
out_features (Opcional) | Entidades de puntos de salida que representan los puntos LAS encontrados dentro de la proximidad especificada de las entidades de entrada. | Feature Class |
geometry (Opcional) | La geometría de las entidades de punto de salida que representan los puntos LAS encontrados dentro de la proximidad especificada de las entidades de entrada.
| String |
class_code (Opcional) | El valor del código de clase que se utilizará para reclasificar los puntos encontrados dentro del radio de búsqueda de las entidades de entrada. | Long |
compute_stats (Opcional) | Especifica si las estadísticas se deben calcular para los archivos LAS a los que hace referencia el dataset LAS. La existencia de las estadísticas permite las opciones de simbología y filtrado de la capa del dataset LAS para mostrar solo los valores de atributos LAS que existen en los archivos LAS.
| Boolean |
Muestra de código
Ejemplo 1 de LocateLasPointsByProximity (ventana de Python)
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de 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")
Ejemplo 2 de LocateLasPointsByProximity (secuencia de comandos independiente)
En el siguiente ejemplo se muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python.
'''****************************************************************************
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())
Entornos
Información sobre licencias
- ArcGIS Desktop Basic: Requiere 3D Analyst
- ArcGIS Desktop Standard: Requiere 3D Analyst
- ArcGIS Desktop Advanced: Requiere 3D Analyst