Coloriser LAS (3D Analyst)

Synthèse

Applique des couleurs et des valeurs proche infrarouge à partir de l’imagerie orthographique aux points LAS.

Illustration

Coloriser LAS

Utilisation

  • L’affichage des points LAS à l’aide des informations RVB présente des images réalistes et immersives offrant une expérience d’affichage unique. Le résultat visuel de l’imagerie vraie superposée aux points LAS fournit plus de détails sur les caractéristiques discrètes du nuage de points, ce qui peut être utile lorsque vous classez interactivement des données, numérisez de nouvelles entités et établissez un point de référence pour mesurer une distance 3D.

  • La meilleure imagerie à utiliser pour appliquer des couleurs aux points LAS doit avoir les mêmes données temporelles que l’enquête lidar pour qu’elle corresponde le mieux aux entités capturées. Dans le cas contraire, vous pouvez utiliser l’imagerie la plus proche possible de la date de balayage afin de réduire les différences dues à des événements, tels qu’une construction ou la variation saisonnière des feuilles caduques.

  • Si votre imagerie source se compose de plusieurs images tuilées, vous pouvez charger ces tuiles dans un jeu de données mosaïque pour les référencer en tant que jeu de données unique et l’utiliser comme image en entrée pour coloriser vos données LAS. Pour en savoir plus sur la création d’un jeu de données mosaïque

  • Seuls les fichiers LAS de version 1.4 avec le format d’enregistrement des points 8 prend en charge le stockage des valeurs proche infrarouge des points LAS.

  • Lorsqu’une étendue de traitement est définie, l’ensemble du fichier LAS qui l’intersecte est colorisée. Si vous souhaitez seulement un sous-ensemble du fichier LAS en entrée, utilisez l’outil Extraire LAS pour découper le sous-ensemble, puis utilisez le fichier obtenu en entrée pour cet outil.

  • 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 ne réorganisez pas 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 le calcul des statistiques pour que l’outil s’exécute plus rapidement.

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
Image en entrée

Image qui permettra d’affecter des couleurs aux points LAS.

Mosaic Layer; Raster Layer
Affectation des canaux

Canaux de l’image en entrée qui seront affectés aux canaux de couleurs associés aux points LAS en sortie.

Value Table
Dossier cible

Dossier existant dans lequel les fichiers .las en sortie seront enregistrés.

Folder
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
Version du fichier LAS
(Facultatif)

Version LAS des fichiers en sortie en cours de création.

  • 1.2Des fichiers LAS de version 1.2 vont être créés.
  • 1.3Des fichiers LAS de version 1.3 vont être créés.
  • 1.4Des fichiers LAS de version 1.4 vont être créés. Il s’agit de l’option par défaut.
String
Format de point
(Facultatif)

Format d’enregistrement de points des fichiers LAS en sortie.

  • 2Format d’enregistrement de points 2.
  • 3Le format d’enregistrement de points 3 prend en charge le stockage de l’heure GPS.
  • 7Format d’enregistrement de points 7. Il s’agit de la valeur par défaut, qui est disponible uniquement pour la version LAS 1.4
  • 8Le format d’enregistrement de points 8 prend en charge le stockage des valeurs proche infrarouge. Cette option n’est disponible que pour la version LAS 1.4.
Long
Compression
(Facultatif)

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

  • NO_COMPRESSIONLa sortie sera au format LAS standard (fichier *.las). Il s’agit de l’option par défaut.
  • ZLASLes fichiers .las en sortie sont compressés au format zLAS.
String
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

Sortie obtenue

ÉtiquetteExplicationType de données
Dossier en sortie

Dossier dans lequel les fichiers LAS en sortie sont écrits.

Dossier

arcpy.ddd.ColorizeLas(in_las_dataset, in_image, bands, target_folder, {name_suffix}, {las_version}, {point_format}, {compression}, {rearrange_points}, {compute_stats}, {out_las_dataset})
NomExplicationType de données
in_las_dataset

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

LAS Dataset Layer
in_image

Image qui permettra d’affecter des couleurs aux points LAS.

Mosaic Layer; Raster Layer
bands
[bands,...]

Canaux de l’image en entrée qui seront affectés aux canaux de couleurs associés aux points LAS en sortie.

Value Table
target_folder

Dossier existant dans lequel les fichiers .las en sortie seront enregistrés.

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

Version LAS des fichiers en sortie en cours de création.

  • 1.2Des fichiers LAS de version 1.2 vont être créés.
  • 1.3Des fichiers LAS de version 1.3 vont être créés.
  • 1.4Des fichiers LAS de version 1.4 vont être créés. Il s’agit de l’option par défaut.
String
point_format
(Facultatif)

Format d’enregistrement de points des fichiers LAS en sortie.

  • 2Format d’enregistrement de points 2.
  • 3Le format d’enregistrement de points 3 prend en charge le stockage de l’heure GPS.
  • 7Format d’enregistrement de points 7. Il s’agit de la valeur par défaut, qui est disponible uniquement pour la version LAS 1.4
  • 8Le format d’enregistrement de points 8 prend en charge le stockage des valeurs proche infrarouge. Cette option n’est disponible que pour la version LAS 1.4.
Long
compression
(Facultatif)

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

  • NO_COMPRESSIONLa sortie sera au format LAS standard (fichier *.las). Il s’agit de l’option par défaut.
  • ZLASLes fichiers .las en sortie sont compressés au format zLAS.
String
rearrange_points
(Facultatif)

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

  • NO_REARRANGE_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

Sortie obtenue

NomExplicationType de données
output_folder

Dossier dans lequel les fichiers LAS en sortie sont écrits.

Dossier

Exemple de code

Exemple 1 d’utilisation de l’outil ColorizeLas (fenêtre Python)

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

arcpy.env.workspace = 'C:/data'
arcpy.ddd.ColorizeLas('2014_lidar_survey.lasd', '2014_CIR.tif', 
                      'RED Band_1; GREEN Band_2; BLUE Band_3', 
                      'las/rgb', '_rgb', 1.3, 3, 'ZLAS', 
                      'REARRANGE_POINTS')
Exemple 2 d’utilisation de l’outil ColorizeLas (script autonome)

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

'''****************************************************************************
       Name: Classify Lidar & Extract Building Footprints
Description: Extract footprint from lidar points classified as buildings, 
             regularize its geometry, and calculate the building height.

****************************************************************************'''
import arcpy

lasd = arcpy.GetParameterAsText(0)
dem = arcpy.GetParameterAsText(1)
footprint = arcpy.GetParameterAsText(2)

try:
    desc = arcpy.Describe(lasd)
    if desc.spatialReference.linearUnitName in ['Foot_US', 'Foot']:
        unit = 'Feet'
    else:
        unit = 'Meters'
    ptSpacing = desc.pointSpacing * 2.25
    sampling = '{0} {1}'.format(ptSpacing, unit)
    # Classify overlap points
    arcpy.ddd.ClassifyLASOverlap(lasd, sampling)
    # Classify ground points
    arcpy.ddd.ClassifyLasGround(lasd)
    # Filter for ground points
    arcpy.management.MakeLasDatasetLayer(lasd, 'ground', class_code=[2])
    # Generate DEM
    arcpy.conversion.LasDatasetToRaster('ground', dem, 'ELEVATION', 
                                        'BINNING NEAREST NATURAL_NEIGHBOR', 
                                        sampling_type='CELLSIZE', 
                                        sampling_value=desc.pointSpacing)
    # Classify noise points
    arcpy.ddd.ClassifyLasNoise(lasd, method='ISOLATION', edit_las='CLASSIFY', 
                               withheld='WITHHELD', ground=dem, 
                               low_z='-2 feet', high_z='300 feet', 
                               max_neighbors=ptSpacing, step_width=ptSpacing, 
                               step_height='10 feet')
    # Classify buildings
    arcpy.ddd.ClassifyLasBuilding(lasd, '7.5 feet', '80 Square Feet')
    #Classify vegetation
    arcpy.ddd.ClassifyLasByHeight(lasd, 'GROUND', [8, 20, 55], 
                                  compute_stats='COMPUTE_STATS')
    # Filter LAS dataset for building points
    lasd_layer = 'building points'
    arcpy.management.MakeLasDatasetLayer(lasd, lasd_layer, class_code=[6])
    # Export raster from lidar using only building points
    temp_raster = 'in_memory/bldg_raster'
    arcpy.management.LasPointStatsAsRaster(lasd_layer, temp_raster,
                                           'PREDOMINANT_CLASS', 'CELLSIZE', 2.5)
    # Convert building raster to polygon
    temp_footprint = 'in_memory/footprint'
    arcpy.conversion.RasterToPolygon(temp_raster, temp_footprint)
    # Regularize building footprints
    arcpy.ddd.RegularizeBuildingFootprint(temp_footprint, footprint, 
                                          method='RIGHT_ANGLES')

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Rubriques connexes