Résumé
Applique des couleurs et des valeurs proche infrarouge à partir de l’imagerie orthographique aux points LAS.
Illustration
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.ddd.ColorizeLas(in_las_dataset, in_image, bands, target_folder, {name_suffix}, {las_version}, {point_format}, {compression}, {rearrange_points}, {compute_stats}, {out_las_dataset})
Paramètre | Explication | Type 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.
| String |
point_format (Facultatif) | Format d’enregistrement de points des fichiers LAS en sortie.
| Long |
compression (Facultatif) | Indique si le fichier LAS en sortie sera dans un format compressé ou au format LAS standard.
| String |
rearrange_points (Facultatif) | Détermine si les points doivent être réorganisés dans les fichiers LAS.
| 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.
| 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
Nom | Explication | Type 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())
Environnements
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst