Resumen
Clasifica los puntos LAS que intersecan las entidades de entrada.
Uso
Los puntos, líneas y polígonos son entradas válidas. La distancia de zona de influencia es muy importante para los puntos y las líneas, dado que es menos probable que un determinado punto LAS quede exactamente en la línea o que tenga las mismas coordenadas que el punto de entrada.
Plantéese la posibilidad de utilizar esta herramienta si tiene polígonos que delinean masas de agua y desea asignar todos los puntos LAS que quedan dentro de este polígono con el valor de código de clasificación 9, que representa el agua.
-
El formato LAS admite la clasificación de cada punto según las especificaciones definidas por la American Society for Photogrammetry and Remote Sensing (ASPRS, por sus siglas en inglés o Sociedad americana de fotogrametría y teledetección). La plataforma ArcGIS aplica el esquema de clasificación especificado para la versión 1.4 de los archivos LAS:
Valor de clasificación Tipo de clasificación 0
Nunca clasificado
1
No asignado
2
Terreno
3
Vegetación baja
4
Vegetación media
5
Vegetación alta
6
Edificio
7
Ruido bajo
8
Clave de modelo/Reservada
9
Agua
10
Ferrocarril
11
Superficie de la carretera
12
Superposición/Reservado
13
Protector de cable
14
Conductor de cable
15
Torre de transmisión
16
Cable - Conector
17
Plataforma del puente
18
Ruido alto
19 – 63
Reservado para la definición de la ASPRS (las versiones de LAS de la 1.1 a la 1.3 admiten hasta el código de clase 31)
32 – 255
Lo puede definir el usuario (solo se admite en la versión de LAS 1.0 y en algunas versiones de 1.4)
Sintaxis
SetLasClassCodesUsingFeatures_3d (in_las_dataset, feature_class, {compute_stats})
Parámetro | Explicación | Tipo de datos |
in_las_dataset | El dataset LAS que se va a procesar. | LAS Dataset Layer |
feature_class [[features, buffer_distance, new_class, synthetic, key_point, withheld, overlap],...] | Introduzca cada entidad y las opciones asociadas que se utilizarán para definir la operación de clasificación como una lista de listas (por ejemplo, [['feature1', 6, 9, 'NO CHANGE', 'SET', 'CLEAR', 'NO CHANGE'], ['feature 2', 0, 6, 'NO CHANGE', 'NO CHANGE', 'NO CHANGE', 'NO CHANGE']]. Cada entidad tiene las opciones siguientes:
| 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 |
Salida derivada
Nombre | Explicación | Tipo de datos |
derived_las_dataset |
Muestra de código
Ejemplo 1 SetLasClassCodesUsingFeatures (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.SetLasClassCodesUsingFeatures_3d("test.lasd", [["lake.shp 0 9"],
["outliers.shp", 5, "NO_CHANGE",
"NO_CHANGE", "NO_CHANGE", "SET"]],
"COMPUTE_STATS")
Ejemplo 2 SetLasClassCodesUsingFeatures (script independiente)
En el siguiente ejemplo se muestra cómo usar esta herramienta en un script 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)
Entornos
Información sobre licencias
- ArcGIS Desktop Basic: Requiere 3D Analyst
- ArcGIS Desktop Standard: Requiere 3D Analyst
- ArcGIS Desktop Advanced: Requiere 3D Analyst