Modifier les codes de classe LAS (3D Analyst)

Synthèse

Réattribue les indicateurs et codes de classification des fichiers .las et .zlas.

Utilisation

  • La Société américaine de la photogrammétrie et de la télédétection (ASPRS) définit le mode d’utilisation des codes de classe pour les fichiers LAS. La norme de classification ASPRS permet de traiter et d’interpréter facilement des fichiers LAS entre différentes applications. Les instructions de l’ASPRS subdivisent les codes de classe en classes réservées et classes définies par l’utilisateur. Les classes réservées sont des valeurs dont les significations sont ou seront définies par l’ASPRS. Les classes définies par l’utilisateur permettent de classer des objets qui ne sont pas déjà décrits par les classes réservées. Alors que de nombreuses classes réservées sont déjà définies, comme la classe 2 pour le sol et la classe 6 pour les bâtiments, les classes réservées non définies sont utilisées ultérieurement à mesure que la spécification LAS évolue. Par conséquent, n’utilisez des classes réservées que pour les objets destinés à la description et affectez des codes de classe personnalisés à un code de classe défini par l’utilisateur. Envisagez d’utiliser cet outil pour classifier le code de classe des objets personnalisés qui utilisent des classes réservées dans une classe définie par l’utilisateur.

  • Cet outil ne tient pas compte des filtres de couches. Tous les points avec les codes de classe spécifiés dans la colonne Classe actuelle sont modifiés. Le changement de classification peut se limiter à une mise à jour du code de classe ou d’un indicateur de classe spécifique, ou toute combinaison de codes de classe et d’indicateurs de classe, comme la réaffectation de points clés de modèle terrestres où la valeur 8 est affectée à la classe 2 avec l’indicateur de classe clé de modèle. De même, la valeur -1 peut être spécifiée dans la colonne Classe actuelle pour apporter une modification uniforme à tous les points, quel que soit leur code de classe. Cela peut être utile si vous avez besoin de redéfinir la classification existante pour évaluer différents paramètres de classification, ou pour apporter d’autres modifications uniformes aux indicateurs de classification. Par exemple, l’indicateur de classification synthétique est censé représenter un point acquis à partir d’une autre source que lidar. Si le nuage de points est dérivé d’un traitement photogrammétrique et que vous souhaitez affecter l’indicateur synthétique à chaque point, indiquez la valeur -1 dans la colonne Classe actuelle et définissez la colonne Synthétique sur Définir.

  • Les codes et indicateurs de classification utilisables varient en fonction de la version du fichier LAS et du format d’enregistrement des points. Tenez compte des limitations des fichiers .las et .zlas en entrée pour toute modification éventuelle. Pour optimiser les options de classification d’un nuage de points, vous pouvez convertir d’anciens fichiers au format LAS 1.4 à l’aide de l’outil Convertir LAS. Si les fichiers doivent également être tuilés ou amincis pour améliorer les performances, vous pouvez utiliser les outils Tuile LAS et LAS fin pour convertir la version du fichier.

    Version du fichier LASPlage de codes de classeIndicateurs de classification

    1.0

    0 à 255

    Aucun

    1.1

    0 à 31

    Synthétiques, de point clé, de retenue

    1.2

    0 à 31

    Synthétiques, de point clé, de retenue

    1.3

    0 à 31

    Synthétiques, de point clé, de retenue

    1.4

    0 à 255

    Synthétiques, de point clé, de retenue, de superposition

    Les indicateurs de classification comme les indicateurs de point clé et de superposition ont priorité sur l’utilisation des codes de classification qui définissaient les mêmes concepts. Cela permet aux points d’avoir un code de classification qui décrit l’objet qu’ils représentent, tout en conservant également la valeur fonctionnelle de leur définition en tant que point clé de modèle ou point de superposition. Si la version du fichier LAS prend en charge ces indicateurs de classification, pensez à modifier les points en conséquence. Historiquement, lorsque des points clés de modèle étaient définis par le code de classe 8, les points représentaient un sous-jeu de points classés comme terrestres. Ce type de point peut désormais être modifié de sorte que le code de classe soit défini sur 2 avec l’indicateur de classification Clé de modèle.

  • ArcGIS applique le schéma de classification spécifié dans la version 1.4 du fichier LAS, comme suit :

    Valeur de classificationSignification

    0

    Créé, jamais classé

    1

    Non attribué

    2

    Sol

    3

    Végétation basse

    4

    Moyenne végétation

    5

    Haute végétation

    6

    Bâtiment

    7

    Point bas

    8

    Point clé de modèle

    9

    Eau

    10

    Ferroviaire

    11

    Surface routière

    12

    Réservé

    13

    Fil métallique (protection)

    14

    Conducteur métallique (Phase)

    15

    Tour de transmission

    16

    Connecteur de structure métallique (Isolant)

    17

    Tablier de pont

    18

    Niveau sonore élevé

    19

    Réservé

    20

    Sol ignoré

    21

    Neige

    22

    Exclusion temporelle

    23–63

    Réservé

    64–255

    Défini par l'utilisateur

    Remarque :
    • Ces codes (code 8 : Clé de modèle/Réservé et code 12 : Superposition/Réservé) du système de classification LAS 1.4 le plus actuel sont réservés, et les points dotés de ces caractéristiques doivent utiliser à la place les identificateurs de classe correspondants.
    • LAS 1.1 – 1.3 prend uniquement en charge les classes 0 – 31.

Paramètres

ÉtiquetteExplicationType de données
Jeu de données LAS en entrée

Jeu de données LAS qui va être traité.

LAS Dataset Layer
Codes de classe

Les codes de classe à modifier, ainsi que la modification qui sera apportée à leur code de classe et leurs indicateurs de classification. La valeur -1 peut être spécifiée dans la colonne Classe actuelle pour modifier tous les codes de classe.

Value Table
Calculer les statistiques
(Facultatif)

Spécifie si des statistiques seront calculées pour les fichiers .las référencés par le jeu de données LAS. Les statistiques de calcul fournissent un index spatial pour chaque fichier .las, ce qui contribue à améliorer les performances d’analyse et d’affichage. Les statistiques améliorent également l’expérience de filtrage et de symbologie en limitant l’affichage des attributs LAS (par exemple, les codes de classification et les informations renvoyées) aux valeurs présentes dans le fichier .las.

  • Activé : les statistiques sont calculées. Il s’agit de l’option par défaut.
  • Désactivé : les statistiques ne sont pas calculées.
Boolean
Étendue de traitement
(Facultatif)

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

  • Current Display Extent (Étendue actuellement affichée) Vue cartographique : l’étendue repose sur la carte ou la scène active.
  • Dessiner l’étendue Terminer avec mise à l’équerre : l’étendue est basée sur un rectangle dessiné sur la carte ou dans la scène.
  • Extent of a Layer (Étendue d’une couche) Couche : l’étendue repose sur une couche de carte active. Choisissez une couche disponible ou utilisez l’option Étendue des données dans toutes les couches. Chaque couche de carte comporte les options suivantes :

    • Toutes les entités Sélectionner tout : étendue de toutes les entités.
    • Entités sélectionnées Zone à partir des entités sélectionnées : étendue de toutes les entités sélectionnées.
    • Entités visibles Extent Indicator : étendue de toutes les entités visibles.

  • Parcourir Parcourir : l’étendue repose sur un jeu de données.
  • Intersection des entrées Intersection : l’étendue est l’étendue d’intersection de toutes les entrées.
  • Union des entrées Agréger : l’étendue est l’étendue combinée de toutes les entrées.
  • Presse-papiers Coller : l’étendue peut être copiée depuis et vers le Presse-papiers.
    • Copier l’étendue Copier : copie l’étendue et le système de coordonnées dans le Presse-papiers.
    • Coller l’étendue Coller : colle l’étendue et le système de coordonnées depuis le Presse-papiers. Si le Presse-papiers n’inclut pas de système de coordonnées, l’étendue utilise celui de la carte.
  • Reset Extent (Réinitialiser l’étendue) Réinitialiser : la valeur par défaut de l’étendue est rétablie.

Lorsque les coordonnées sont saisies manuellement, elles doivent être des valeurs numériques incluses dans le système de coordonnées de la carte active. La carte peut utiliser des unités d’affichage différentes de celles des coordonnées saisies. Utilisez le signe moins pour les coordonnées sud et ouest.

Extent
Limite de traitement

La ou les entités surfaciques qui définissent la région à traiter.

Feature Layer
Traiter l'intégralité des fichiers LAS qui intersectent l'étendue
(Facultatif)

Spécifie comment la zone d’intérêt est utilisée pour déterminer le traitement des fichiers .las. La zone d’intérêt est définie par la valeur du paramètre Étendue de traitement, la valeur du paramètre Limite de traitement ou les deux à la fois.

  • Désactivé : seuls les points LAS qui intersectent la zone d'intérêt sont traités. Il s’agit de l’option par défaut.
  • Activé : si une partie d’un fichier .las intersecte la zone d’intérêt, tous les points que ce fichier contient, y compris ceux situés à l’extérieur de la zone d’intérêt, seront traités.
Boolean
Mettre à jour la pyramide
(Facultatif)

Spécifie si la pyramide du jeu de données LAS est mise à jour après la modification des codes de classe.

  • Activé : la pyramide du jeu de données LAS est mise à jour. Il s’agit de l’option par défaut.
  • Désactivé : la pyramide du jeu de données LAS n’est pas mise à jour.
Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Jeu de données LAS en sortie

Jeu de données LAS en entrée mis à jour.

LAS Dataset Layer

arcpy.ddd.ChangeLasClassCodes(in_las_dataset, class_codes, {compute_stats}, {extent}, boundary, {process_entire_files}, {update_pyramid})
NomExplicationType de données
in_las_dataset

Jeu de données LAS qui va être traité.

LAS Dataset Layer
class_codes
[[current_class, new_class, synthetic, model_key, withheld, overlap],...]

Les codes de classe à modifier, ainsi que la modification qui sera apportée à leur code de classe et leurs indicateurs de classification. La valeur -1 peut être spécifiée pour la première colonne, qui est le premier élément de la liste, pour modifier tous les codes de classe.

Le code de classe existant, le nouveau code de classe et le nouvel indicateur de classe peuvent être représentés sous la forme d’une chaîne délimitée par des espaces ou d’une liste contenant les valeurs à reclasser. Par exemple, vous pouvez attribuer la valeur 25 à un code de classe actuel égal à 5 en indiquant "5 2" ou [[5, 2]]. Il est possible de modifier l’indicateur de classe synthétique en ajoutant le mot-clé de la modification ("5 2 SET" ou [[5, 2, "SET"]]). Vous pouvez spécifier plusieurs modifications en indiquant une chaîne délimitée par des points-virgules (par exemple, "5 2; 8 3; 1 4") ou une liste de listes (par exemple, [[5, 2], [8, 3], [1, 4]]).

Value Table
compute_stats
(Facultatif)

Spécifie si des statistiques seront calculées pour les fichiers .las référencés par le jeu de données LAS. Les statistiques de calcul fournissent un index spatial pour chaque fichier .las, ce qui contribue à améliorer les performances d’analyse et d’affichage. Les statistiques améliorent également l’expérience de filtrage et de symbologie en limitant l’affichage des attributs LAS (par exemple, les codes de classification et les informations renvoyées) aux valeurs présentes dans le fichier .las.

  • COMPUTE_STATSLes statistiques sont calculées. Il s’agit de l’option par défaut.
  • NO_COMPUTE_STATSLes statistiques ne sont pas calculées.
Boolean
extent
(Facultatif)

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

  • MAXOF : l’étendue maximale de toutes les entrées est utilisée.
  • MINOF : l’étendue minimale commune à 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

La ou les entités surfaciques qui définissent la région à traiter.

Feature Layer
process_entire_files
(Facultatif)

Indique comment l’étendue de traitement est appliquée.

  • 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 que le fichier contient, y compris ceux situés à l’extérieur de la zone d’intérêt, seront traités.
Boolean
update_pyramid
(Facultatif)

Spécifie si la pyramide du jeu de données LAS est mise à jour après la modification des codes de classe.

  • UPDATE_PYRAMIDLa pyramide du jeu de données LAS est mise à jour. Il s’agit de l’option par défaut.
  • NO_UPDATE_PYRAMIDLa pyramide du jeu de données LAS n’est pas mise à jour.
Boolean

Sortie obtenue

NomExplicationType de données
derived_las_dataset

Jeu de données LAS en entrée mis à jour.

LAS Dataset Layer

Exemple de code

Exemple 1 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.ddd.ChangeLasClassCodes('test.lasd', [[5, 2], [3, 1], [4, 6]],
                           'COMPUTE_STATS')
Exemple 2 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: Nécessite 3D Analyst
  • Standard: Nécessite 3D Analyst
  • Advanced: Nécessite 3D Analyst

Rubriques connexes