Resumen
Identifica los puntos LAS dentro de la proximidad tridimensional de entidades con z habilitada, además de la opción de volver a clasificar dichos puntos.
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. No existe ningún límite en cuanto al número de puntos que puede generar esta herramienta; plantéese evitar el uso de distancias de búsqueda sumamente grandes.
-
Es posible hacer que la capa del dataset LAS limite los puntos LAS a mostrar y procesar seleccionando cualquier combinación de códigos de clasificación, marcadores de clasificación y valores de retorno en la configuración del filtro de la capa. Los filtros se pueden definir en el cuadro de diálogo Propiedades de capa o con la herramienta Crear capa de dataset LAS.
Al generar la entidad de punto de salida con geometría de punto simple, se agregará a la salida un campo denominado DIST3D que contendrá la distancia 3D desde el punto hasta la entidad de entrada más cercana.
Sintaxis
arcpy.ddd.LocateLasPointsByProximity(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 | Entidades multiparche, poligonales, de líneas o de puntos 3D cuya proximidad se usará para identificar puntos LAS. | Feature Layer |
search_radius | Distancia 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. | Linear Unit; Field |
count_field | El nombre del campo que se agregará a la tabla de atributos de la entidad de entrada y se rellenará con la cantidad de puntos LAS en la proximidad de cada entidad. El nombre de campo predeterminado es COUNT. | String |
out_features (Opcional) | Las entidades de puntos que representan los puntos LAS detectados dentro de la proximidad especificada de las entidades de entrada. | Feature Class |
geometry (Opcional) | Especifica 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. Calcular estadísticas proporciona un índice espacial para cada archivo LAS, lo que mejora el análisis y el rendimiento de la visualización. Las estadísticas también mejoran la experiencia de filtrado y simbología al limitar la visualización de los atributos LAS, como los códigos de clasificación y la información de retorno, a los valores presentes en el archivo LAS.
| Boolean |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_las_dataset | El dataset LAS actualizado. | LAS Dataset Layer |
derived_features | Las entidades 3D de entrada actualizadas. | Feature Layer |
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 (script independiente)
En el siguiente ejemplo se muestra cómo usar esta herramienta en un script 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 de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst