Modifier les codes de classes LAS (3D Analyst)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Modifie les valeurs de code de classe de fichiers LAS référencés par un jeu de données LAS.

Utilisation

Syntaxe

ChangeLasClassCodes_3d (in_las_dataset, class_codes, {compute_stats})
ParamètreExplicationType de données
in_las_dataset

Jeu de données LAS en entrée.

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

Spécifiez chaque paire de valeurs de code de classe actuel et nouveau sous la forme d'une chaîne délimitée par des espaces ou d'une liste de nombres entiers. Par exemple, un code de classe actuel égal à 5 peut adopter la valeur 2 lorsque vous indiquez "5 2" ou [5, 2]. Plusieurs codes de classe peuvent être entrés sous la forme d'une chaîne délimitée par des points-virgules ("5 2; 8 3; 1 4") ou une liste de chaînes (par exemple, [[5, 2], [8, 3], [1, 4]]).

Value Table
compute_stats
(Facultatif)

Spécifie si des statistiques doivent être calculées pour les fichiers LAS référencés par le jeu de données LAS. La présence de statistiques permet au filtrage de la couche du jeu de données LAS et aux options de symbologie de n'afficher que les valeurs d'attributs LAS qui existent dans les fichiers LAS.

  • COMPUTE_STATSLes statistiques sont calculées.
  • NO_COMPUTE_STATSLes statistiques ne sont pas calculées. Il s'agit de l'option par défaut.
Boolean

Exemple de code

1er exemple d'utilisation de l'outil ChangeLasClassCodes (fenêtre Python)

L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre 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')
2e exemple d'utilisation de l'outil ChangeLasClassCodes (script autonome)

L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :

'''****************************************************************************
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)

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Requis 3D Analyst
ArcGIS for Desktop Standard: Requis 3D Analyst
ArcGIS for Desktop Advanced: Requis 3D Analyst
6/5/2014