Coloriser LAS (3D Analyst)

Résumé

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 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, offre 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.

Syntaxe

arcpy.3d.ColorizeLas(in_las_dataset, in_image, bands, target_folder, {name_suffix}, {las_version}, {point_format}, {compression}, {rearrange_points}, {compute_stats}, {out_las_dataset})
ParamètreExplicationType de données
in_las_dataset

Jeu de données LAS à traiter.

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 sont écrits.

Folder
name_suffix
(Facultatif)

Texte qui est 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 sera dans un format compressé ou au format LAS standard.

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

Détermine si les points doivent être réorganisés dans les fichiers LAS.

  • NO_REARRANGE_POINTSL'ordre des points dans les fichiers LAS n'est pas modifié.
  • 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 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
out_las_dataset
(Facultatif)

Jeu de données LAS en sortie qui fait référence aux fichiers LAS récemment créés.

LAS Dataset

Sortie dérivée

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

Informations de licence

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

Rubriques connexes