Modifier les codes de classes LAS (3D Analyst)

Résumé

Réattribue les codes de classification et drapeaux des fichiers LAS.

Utilisation

  • Tous les fichiers LAS référencés par le jeu de données LAS sont évalués par cet outil, mais seuls les fichiers comportant les codes de classe fournis sont modifiés.

  • Utilisez cet outil pour mettre à jour la classification de points de données des fichiers LAS générés avant l'introduction des codes de classe standardisés dans les spécifications LAS 1.1.

  • Le format LAS prend en charge la classification de chaque point en fonction des spécifications définies par l'ASPRS (American Society for Photogrammetry and Remote Sensing). La plateforme ArcGIS applique le schéma de classification spécifié pour la version 1.4 du fichier LAS :

    Valeur de classification Type de classification

    0

    Jamais classé

    1

    Non attribuée

    2

    Sol

    3

    Végétation basse

    4

    Moyenne végétation

    5

    Haute végétation

    6

    Construction

    7

    Niveau sonore faible

    8

    Clé de modèle/Réservé

    9

    Eau

    10

    Ferroviaire

    11

    Surface routière

    12

    Superposition/Réservé

    13

    Fil métallique

    14

    Conducteur métallique

    15

    Tour de transmission

    16

    Connecteur métallique

    17

    Tablier de pont

    18

    Niveau sonore élevé

    19 – 63

    Réservé pour la définition ASPRS (prise en charge de LAS 1.1 à 1.3 jusqu'au code de classe 31)

    32 – 255

    Défini par l'utilisateur (uniquement pris en charge dans LAS 1.0 et certaines versions de 1.4)

Syntaxe

arcpy.3d.ChangeLasClassCodes(in_las_dataset, class_codes, {compute_stats}, {extent}, boundary, {process_entire_files})
ParamètreExplicationType de données
in_las_dataset

Jeu de données LAS à traiter.

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. Le calcul des statistiques fournit un index spatial pour chaque fichier LAS, ce qui améliore les performances d’analyse et d’affichage. Les statistiques permettent également d’optimiser l’utilisation des filtres et de la symbologie en limitant l’affichage des attributs LAS (tels que les codes de classification et les informations renvoyées) aux valeurs présentes dans le fichier 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
extent
(Facultatif)

Spécifie l’étendue des données qui seront évaluées par cet outil.

  • MAXOF : l’étendue maximale de toutes les entrées est utilisée.
  • MINOF : l’étendue minimale de toutes les entrées est utilisée.
  • DISPLAY : l’étendue est égale à l’affichage visible.
  • Nom de la couche : l’étendue de la couche spécifiée est utilisée.
  • Objet Extent : l’étendue de l’objet spécifié est utilisée.
  • Chaîne délimitée par des espaces de coordonnées géographiques : l’étendue de la chaîne spécifiée est utilisée. Les coordonnées sont exprimées dans l’ordre x-min, y-min, x-max, y-max.
Extent
boundary

Entité surfacique définissant la zone d’intérêt que cet outil doit traiter.

Feature Layer
process_entire_files
(Facultatif)

Indique comment appliquer l’étendue de traitement.

  • PROCESS_EXTENTSeuls les points LAS qui intersectent la zone d'intérêt sont traités. Il s’agit de l’option par défaut.
  • PROCESS_ENTIRE_FILESSi une partie d'un fichier LAS intersecte la zone d'intérêt, tous les points qu'il contient, y compris ceux situés à l'extérieur de la zone d'intérêt, sont traités.
Boolean

Sortie dérivée

NomExplicationType de données
derived_las_dataset

Jeu de données LAS mis à jour.

Couche du jeu de données LAS

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.

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

# 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)

# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasd, recursion)
# Execute ChangeLasClassCodes
arcpy.ddd.ChangeLasClassCodes(lasd, reclassList, calcStats)

Informations de licence

  • Basic: Requiert 3D Analyst
  • Standard: Requiert 3D Analyst
  • Advanced: Requiert 3D Analyst

Rubriques connexes