Buscar puntos de LAS por proximidad (3D Analyst)

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 en 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.

Parámetros

EtiquetaExplicaciónTipo de datos
Dataset LAS de entrada

El dataset LAS que se procesará.

LAS Dataset Layer
Entidades 3D de entrada

Entidades multiparche, poligonales, de líneas o de puntos 3D cuya proximidad se usará para identificar puntos LAS.

Feature Layer
Radio de búsqueda

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
Campo contar

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
Clase de entidad de salida
(Opcional)

Las entidades de puntos que representan los puntos LAS detectados dentro de la proximidad especificada de las entidades de entrada.

Feature Class
Tipo de geometría de salida
(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.

  • MultipuntoEntidades multipunto que tendrán varios puntos en cada fila.
  • PuntoEntidades de un solo punto que tendrán una única fila para cada punto LAS identificado.
String
Nuevo código de clase
(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
Calcular estadísticas
(Opcional)

Especifica si las estadísticas se calcularán 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.

  • Activado: se calcularán las estadísticas. Esta es la opción predeterminada.
  • Desactivada: no se calcularán las estadísticas.
Boolean
Actualizar pirámide
(Opcional)

Especifica si la pirámide de dataset LAS se actualizará después de modificar los códigos de clase.

  • Activado: se actualizará la pirámide de dataset LAS. Esta es la opción predeterminada.
  • Desactivado: no se actualizará la pirámide de dataset LAS.
Boolean

Salida derivada

EtiquetaExplicaciónTipo de datos
Dataset LAS de entrada actualizado

El dataset LAS actualizado.

LAS Dataset Layer
Entidades 3D de entrada actualizadas

Las entidades 3D de entrada actualizadas.

Feature Layer

arcpy.ddd.LocateLasPointsByProximity(in_las_dataset, in_features, search_radius, count_field, {out_features}, {geometry}, {class_code}, {compute_stats}, {update_pyramid})
NombreExplicaciónTipo de datos
in_las_dataset

El dataset LAS que se 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.

  • MULTIPOINTEntidades multipunto que tendrán varios puntos en cada fila.
  • POINTEntidades de un solo punto que tendrán una única fila para cada punto LAS identificado.
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 calcularán 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.

  • COMPUTE_STATSSe calcularán las estadísticas. Esta es la opción predeterminada.
  • NO_COMPUTE_STATSNo se calcularán las estadísticas.
Boolean
update_pyramid
(Opcional)

Especifica si la pirámide de dataset LAS se actualizará después de modificar los códigos de clase.

  • UPDATE_PYRAMIDSe actualizará la pirámide de dataset LAS. Esta es la opción predeterminada.
  • NO_UPDATE_PYRAMIDNo se actualizará la pirámide de dataset LAS.
Boolean

Salida derivada

NombreExplicaciónTipo 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.ddd.LocateLasPointsByProximity('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 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())

Temas relacionados