Establecer códigos de clase LAS con las entidades (3D Analyst)
Resumen
Clasifica los puntos de datos en los archivos LAS a los que hace referencia un dataset LAS usando entidades de puntos, línea y poligonales.
Uso
Los puntos LAS se pueden clasificar en varias categorías que describen el material que encuentra el retorno LIDAR, como terreno, construcción o agua. La Sociedad Americana de Fotogrametría y Detección Remota (ASPRS) define los siguientes códigos de clase para las versiones del archivo LAS 1.1, 1.2 y 1.3:
Valor de clasificación
Tipo de clasificación
0
Nunca clasificado
1
No asignado
2
Suelo
3
Vegetación baja
4
Vegetación media
5
Vegetación alta
6
Edificio
7
Ruido
8
Clave de modelo
9
Agua
10
Reservado para la definición de la ASPRS
11
Reservado para la definición de la ASPRS
12
Superponer
13–31
Reservado para la definición de la ASPRS
Nota:Las especificaciones de LAS 1.0 proporcionan los códigos de clase, de 0 a 255, pero no tienen ningún esquema de clasificación estandarizado. Cualquier código de clase utilizado en archivos 1.0 generalmente será definido por el proveedor de datos y proporcionado a través de información auxiliar.
La capa de dataset de LAS se pueden utilizar para filtrar los puntos LAS por código de clase o valores de devolución. La capa se puede crear utilizando la herramienta Crear capa de dataset LAS o bien, cargando el dataset LAS en ArcMap o ArcScene y especificando los códigos de clase y valores de devolución deseados mediante el cuadro de diálogo de propiedades de capa.
Los puntos de datos LAS que caen dentro del área bidimensional de la zona de influencia especificada para las entidades de entrada se clasificarán.
-
Considere utilizar los puntos obtenidos de Ubicar valores atípicos para clasificar los puntos LAS como Ruido.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_las_dataset |
El dataset de LAS de entrada. | LAS Dataset Layer |
feature_class [[features, buffer_distance, new_class, synthetic, key_point, withheld],...] |
Especifique una o más clases de entidad que se usarán para definir valores del código de clase para los archivos LIDAR a los que hace referencia un dataset LAS. Cada entidad tendrá las siguientes opciones que se pueden especificar:
| Value Table |
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 |
Ejemplo de código
El siguiente ejemplo muestra cómo usar de esta herramienta en la ventana Python:
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.SetLasClassCodesUsingFeatures_3d("test.lasd", [["lake.shp 0 9"],
["outliers.shp", 5, "NO_CHANGE",
"NO_CHANGE", "NO_CHANGE", "SET"]],
"COMPUTE_STATS")
El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:
'''**********************************************************************
Name: Assign Withheld Classification Flag to Outlier Points in LAS Files
Description: Uses Locate Outliers to identify points in LAS files that
should be assigned the 'withheld' classification flag.
Designed for use as a script tool.
**********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
try:
arcpy.CheckOutExtension('3D')
# Set Local Variables
lasD = arcpy.GetParameterAsText(0)
outliers = 'in_memory/outliers'
# Execute LocateOutliers
arcpy.ddd.LocateOutliers(lasD, outliers, 'APPLY_HARD_LIMIT', -10,
350, 'APPLY_COMPARISON_FILTER', 1.2, 120,
0.8, 8000)
# Execute SetLasClassCodeUsingFeatures
arcpy.ddd.SetLasClassCodesUsingFeatures(lasd, [["outliers.shp", 5,
"NO_CHANGE", "NO_CHANGE",
"NO_CHANGE", "SET"]])
arcpy.CheckInExtension('3D')
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)