Extraire LAS (3D Analyst)

Synthèse

Crée de nouveaux fichiers LAS à partir de données de nuage de points dans une couche de jeu de données LAS ou de scène de nuage de points.

Illustration

Illustration de l’outil Extraire LAS

Utilisation

  • Cet outil peut être utilisé pour créer de nouveaux fichiers LAS à partir d’un sous-ensemble d’une couche de jeu de données LAS ou de scène de nuage de points en spécifiant une étendue de traitement, une limite d’extraction, ou les deux. Si une étendue de traitement est fournie avec une limite d’extraction, l’intersection des deux définit la couverture des fichiers LAS extraits. Il est possible d’appliquer un filtre de points aux données de nuage de points en entrée si seul un sous-ensemble de points est nécessaire dans les fichiers LAS en sortie. Vous pouvez filtrer le nuage de points source pour indiquer les points en fonction de n’importe quelle combinaison de codes de classification, d’indicateurs de classes et de valeurs renvoyées. Vous pouvez définir les filtres de points de la couche de jeu de données LAS et de scène de nuage de points en chargeant la couche dans une carte ou une scène active et en spécifiant les filtres dans la boîte de dialogue Propriétés de la couche. Vous pouvez de plus créer une couche avec des filtres de points pour le jeu de données LAS à l’aide de l’outil Créer une couche de jeu de données LAS.

  • Si la référence spatiale est définie pour le nuage de points en entrée, vous pouvez reprojeter les données LAS en sortie créées par cet outil sur un autre système de coordonnées verticales et horizontales en définissant l’environnement Système de coordonnées en sortie. La référence spatiale d’un fichier .las peut être définie dans son en-tête ou dans un fichier .prj auxiliaire avec la convention texte connu (WKT). Le fichier .prj doit résider au même emplacement que le fichier .las et porter le même nom que le fichier .las. Le cas échéant, le fichier .prj remplace les informations de référence spatiale dans l’en-tête du fichier .las. Vous pouvez créer des fichiers .prj pour les fichiers .las dont la référence spatiale est manquante ou incorrecte à l’aide de l’outil Définir une projection pour un fichier .las ou .zlas, ou à l’aide de l’outil Créer un jeu de données LAS avec l’option PRJ activée.

  • Il n’est pas rare que les enregistrements de points LAS soient stockés dans le fichier .las selon une séquence binaire qui ne correspond pas à l’agrégation spatiale des points. Lorsque les données d’une telle distribution sont interrogées, l’accès aux enregistrements binaires représentant les points LAS risque d’être moins efficace. La réorganisation des points dans le fichier .las obtenu optimise les données pour la visualisation et d’autres opérations spatiales. Les statistiques sont automatiquement calculées lorsque l’option de réorganisation est activée. Si vous choisissez de ne pas réorganiser les points LAS, vous pouvez activer ou désactiver le calcul des statistiques. Le calcul des statistiques optimise les requêtes spatiales, présente un résumé des codes de classe et renvoie les valeurs présentes dans le fichier .las. Il allonge toutefois également la durée de traitement de l’outil. Si les fichiers .las obtenus ne sont pas destinés à être utilisés dans ArcGIS, vous pouvez désactiver les statistiques afin d’exécuter l’outil plus rapidement.

Paramètres

ÉtiquetteExplicationType de données
Nuage de points en entrée

Couche de jeu de données LAS ou de scène de nuage de points à traiter.

LAS Dataset Layer; Scene Service Layer; File
Dossier cible

Dossier existant dans lequel les fichiers .las en sortie sont écrits.

Folder
Etendue de traitement
(Facultatif)

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

  • Default (Par défaut) : l’étendue repose sur l’étendue maximale de toutes les entrées participantes. Il s’agit de l’option par défaut.
  • Union of Inputs (Union des entrées) : l’étendue est basée sur l’étendue maximale de toutes les entrées.
  • Intersection of inputs (Intersection des entrées) : l’étendue est basée sur la surface minimale commune à toutes les entrées.
  • Current Display Extent (Étendue d’affichage actuelle) : l’étendue correspond à l’affichage visible. Cette option n’est pas disponible lorsque aucune carte n’est active.
  • As Specified Below (Comme spécifié ci-dessous) : l’étendue est basée sur les valeurs d’étendue minimale et maximale indiquées.
  • Browse (Parcourir) : l’étendue repose sur un jeu de données existant.
Extent
Limite d'extraction
(Facultatif)

Limite de polygone qui définit la surface des fichiers .las à découper.

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 .las contient, y compris ceux situés à l’extérieur de la zone d’intérêt, sont traités.
Boolean
Suffixe du nom de fichier en sortie
(Facultatif)

Texte ajouté au nom de chaque fichier .las en sortie. Chaque fichier hérite de son nom de base de son fichier source, suivi du suffixe indiqué dans ce paramètre.

String
Supprimer les enregistrements de longueur variable
(Facultatif)

Spécifie si les enregistrements de longueur variable (VLR) sont supprimés. Chaque fichier .las peut éventuellement contenir un jeu de VLR qui ont été ajoutés par le logiciel qui l’a produit. La signification de ces enregistrements est habituellement connue par le seul logiciel d’origine. Sauf si les données LAS en sortie sont traitées par une application comportant ces informations, conserver les VLR ne présente aucun intérêt. Supprimer les VLR peut contribuer à économiser un espace disque considérable en fonction de leur taille totale et du nombre de fichiers qui les contiennent.

  • Désactivé : les enregistrements de longueur variable des fichiers .las en entrée ne sont pas supprimés et sont conservés dans les fichiers .las en sortie. Il s’agit de l’option par défaut.
  • Activé : les enregistrements de longueur variable des fichiers .las en entrée sont supprimés des fichiers .las en sortie.
Boolean
Réorganiser les points
(Facultatif)

Spécifie si les points dans les fichiers .las sont réorganisés.

  • Désactivé : l’ordre des points dans les fichiers .las n’est pas réorganisé.
  • Activé : les points dans les fichiers .las sont réorganisés. Il s’agit de l’option par défaut.
Boolean
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
Jeu de données LAS en sortie
(Facultatif)

Le jeu de données LAS en sortie référençant les fichiers .las récemment créés.

LAS Dataset
Compression
(Facultatif)

Indique si le fichier .las en sortie est au format compressé ou au format LAS standard.

  • Identique à l’entréeLa compression sera identique à l’entrée. Cette option est disponible uniquement lorsque l’entrée est un jeu de données LAS. Il s’agit alors de l’option par défaut.
  • Aucune compressionLa sortie est au format LAS standard (*.las). Il s’agit de la méthode par défaut si l’entrée est une couche de scène de nuage de points.
  • Compression zLASLes fichiers .las en sortie sont compressés au format zLAS.
String

Sortie obtenue

ÉtiquetteExplicationType de données
Dossier en sortie

Dossier dans lequel les fichiers .las sont écrits.

Folder

arcpy.ddd.ExtractLas(in_las_dataset, target_folder, {extent}, {boundary}, {process_entire_files}, {name_suffix}, {remove_vlr}, {rearrange_points}, {compute_stats}, {out_las_dataset}, {compression})
NomExplicationType de données
in_las_dataset

Couche de jeu de données LAS ou de scène de nuage de points à traiter.

LAS Dataset Layer; Scene Service Layer; File
target_folder

Dossier existant dans lequel les fichiers .las en sortie sont écrits.

Folder
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 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
(Facultatif)

Limite de polygone qui définit la surface des fichiers .las à découper.

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 .las contient, y compris ceux situés à l’extérieur de la zone d’intérêt, sont traités.
Boolean
name_suffix
(Facultatif)

Texte ajouté au nom de chaque fichier .las en sortie. Chaque fichier hérite de son nom de base de son fichier source, suivi du suffixe indiqué dans ce paramètre.

String
remove_vlr
(Facultatif)

Spécifie si les enregistrements de longueur variable (VLR) sont supprimés. Chaque fichier .las peut éventuellement contenir un jeu de VLR qui ont été ajoutés par le logiciel qui l’a produit. La signification de ces enregistrements est habituellement connue par le seul logiciel d’origine. Sauf si les données LAS en sortie sont traitées par une application comportant ces informations, conserver les VLR ne présente aucun intérêt. Supprimer les VLR peut contribuer à économiser un espace disque considérable en fonction de leur taille totale et du nombre de fichiers qui les contiennent.

  • MAINTAIN_VLRLes données stockées dans les enregistrements de longueur variable des fichiers .las traités ne sont pas supprimées et persistent dans les fichiers .las extraits. Il s’agit de l’option par défaut.
  • REMOVE_VLRLes enregistrements supplémentaires de longueur variable sont supprimés des fichiers .las.
Boolean
rearrange_points
(Facultatif)

Spécifie si les points dans les fichiers .las sont réorganisés.

  • MAINTAIN_POINTSL’ordre des points dans les fichiers .las n’est pas réorganisé.
  • REARRANGE_POINTSLes points dans les fichiers .las sont réorganisés. Il s’agit de l’option par défaut.
Boolean
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
out_las_dataset
(Facultatif)

Le jeu de données LAS en sortie référençant les fichiers .las récemment créés.

LAS Dataset
compression
(Facultatif)

Indique si le fichier .las en sortie est au format compressé ou au format LAS standard.

  • SAME_AS_INPUTLa compression sera identique à l’entrée. Cette option est disponible uniquement lorsque l’entrée est un jeu de données LAS. Il s’agit alors de l’option par défaut.
  • NO_COMPRESSIONLa sortie est au format LAS standard (*.las). Il s’agit de la méthode par défaut si l’entrée est une couche de scène de nuage de points.
  • ZLASLes fichiers .las en sortie sont compressés au format zLAS.
String

Sortie obtenue

NomExplicationType de données
out_folder

Dossier dans lequel les fichiers .las sont écrits.

Folder

Exemple de code

Exemple 1 d'utilisation de l'outil ExtractLas (fenêtre Python)

L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.

import arcpy
from arcpy import env

env.workspace = 'C:/data'
arcpy.ddd.ExtractLas('test.lasd', 'c:/lidar/subset', boundary='study_area.shp',
                     name_suffix='subset', remove_vlr=True, 
                     rearrange_points='REARRANGE_POINTS', 
                     out_las_dataset='extracted_lidar.lasd')
Exemple 2 d'utilisation de l'outil ExtractLas (script autonome)

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

'''****************************************************************************
Name: Split Large LAS File
Description: Divides a large LAS file whose point distribution covers the full
             XY extent of the data into smaller files to optimize performance
             when reading lidar data.
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math

in_las_file = arcpy.GetParameterAsText(0)
tile_width = arcpy.GetParameter(1) # double in LAS file's XY linear unit
tile_height = arcpy.GetParameter(2) # double in LAS file's XY linear unit
out_folder = arcpy.GetParameterAsText(3) # folder for LAS files
out_name_suffix = arcpy.GetParameterAsText(4) # basename for output files
out_lasd = arcpy.GetParameterAsText(5) # output LAS dataset


try:
    temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir())
    arcpy.management.CreateLasDataset(in_las_file, temp_lasd, 
                                      compute_stats='COMPUTE_STATS')
    desc = arcpy.Describe(temp_lasd)
    total_columns = int(math.ceil(desc.extent.width/tile_width))
    total_rows = int(math.ceil(desc.extent.height/tile_height))
    digits = int(math.log10(max(cols, rows))) + 1
    for row in range(1, total_rows+1):
        yMin = desc.extent.YMin + tile_height*(row-1)
        yMax = desc.extent.YMin + tile_height*(row)
        for col in range (1, total_columns+1):
            xMin = desc.extent.XMin + tile_width*(col-1)
            xMax = desc.extent.XMax + tile_width*(col)
            name_suffix = '_{0}_{1}x{2}'.format(out_name_suffix, 
                                                str(row).zfill(digits), 
                                                str(col).zfill(digits))
            arcpy.ddd.ExtractLas(temp_lasd, out_folder, 
                                 arcpy.Extent(xMin, yMin, xMax, yMax),
                                 name_suffix=name_suffix, 
                                 rearrange_points='REARRANGE_POINTS',
                                 compute_stats='COMPUTE_STATS')
    arcpy.env.workspace = out_folder
    arcpy.management.CreateLasDataset(arcpy.ListFiles('*{0}*.las'.format(out_name_suffix)),
                                      out_lasd, compute_stats='COMPUTE_STATS',
                                      relative_paths='RELATIVE_PATHS')
except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Informations de licence

  • Basic: Nécessite 3D Analyst
  • Standard: Nécessite 3D Analyst
  • Advanced: Nécessite 3D Analyst

Rubriques connexes