Cambiar los códigos de clase LAS (3D Analyst)

Resumen

Modifica los valores del código de clase de los archivos LAS a los que hace referencia un dataset LAS.

Uso

Sintaxis

ChangeLasClassCodes_3d (in_las_dataset, class_codes, {compute_stats})
ParámetroExplicaciónTipo de datos
in_las_dataset

El dataset de LAS de entrada.

LAS Dataset Layer
class_codes
[[current_class new_class],...]

Especifique cada par de valores de código de clase nuevo y actual como una cadena de caracteres delimitada por espacios o una lista de números enteros. Por ejemplo, un código de clase actual de 5 se puede cambiar a 2 al especificar"5 2" ó [5, 2]. Múltiples códigos de clase se pueden ingresar como una cadena de caracteres delimitada por punto y coma ("5 2; 8 3; 1 4"), una lista de cadenas de caracteres (por ejemplo, [[5, 2], [8, 3], [1, 4]]).

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.

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

Ejemplo de código

Ejemplo 1 de ChangeLasClassCodes (ventana de Python)

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.ChangeLasClassCodes_3d('test.lasd', [[5, 2], [3, 1], [4, 6]], 
                           'COMPUTE_STATS')
Ejemplo 2 de ChangeLasClassCodes (secuencia de comandos independiente)

El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:

'''****************************************************************************
Name: Update LAS 1.0 Classification to ASPRS 1.1 Specs
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:
    arcpy.CheckOutExtension('3D')
    # Execute CreateLasDataset
    arcpy.management.CreateLasDataset(inLas, lasd, recursion)
    # Execute ChangeLasClassCodes
    arcpy.ddd.ChangeLasClassCodes(lasd, reclassList, calcStats)
    # Report messages
    arcpy.GetMessages()
    
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

Temas relacionados

9/11/2013