Jeu de données LAS vers raster (Conversion)
Récapitulatif
Crée un raster à l’aide de valeurs d’altitude, d’intensité ou RVB stockées dans les fichiers lidar (*.las) référencés par le jeu de données LAS.
Illustration
Utilisation
Lorsqu'un jeu de données LAS est spécifié en entrée, tous les points de données qu'il référence dans les fichiers LAS sont traités.
La couche de jeux de données LAS peut être utilisée pour filtrer les points LAS par code de classe ou valeurs renvoyées. La couche peut être créée à l'aide de l'outil Faire une couche de jeux de données LAS ou en chargeant le jeu de données LAS dans ArcMap ou ArcScene, et en spécifiant les codes de classe souhaités et les valeurs renvoyées par le biais de la boîte de dialogue des propriétés de la couche.
-
Lors de l'exportation d'un grand raster, envisagez de spécifier le paramètre Type de données en sortie en tant qu'entier à enregistrer sur l'espace disque si les exigences en termes de précision de vos valeurs z sont telles qu'elles peuvent être représentées par des données de type entier.
Nous vous conseillons vivement d'inclure une limite de zone d'étude sous la forme d'une contrainte de découpage dans la définition du jeu de données LAS en entrée. Tout d'abord, cela empêche toute interpolation en dehors de l'étendue des données réelles de l'étude. Ensuite, les performances risquent d'être considérablement réduites si vous utilisez des options de voisin naturel et que la zone de données n'est pas correctement définie.
Remarque :Si vous utilisez BINNING, seules les contraintes de découpage, d'effacement et de suppression sont reconnues. Les lignes de fracture et les points d'ancrage ne le sont pas. L'option de triangulation reconnaît tous les types de contraintes, mais son exécution prend davantage de temps.
Syntaxe
Paramètre | Explication | Type de données |
in_las_dataset |
Jeu de données LAS en entrée. | LAS Dataset Layer |
out_raster |
Nom et emplacement du raster en sortie. Pour enregistrer un jeu de données raster dans une géodatabase ou dans un dossier, tel qu'une grille Esri, vous ne devez ajouter aucune extension de fichier au nom du jeu de données raster. Une extension de fichier permet de définir le format du raster lorsqu'il est stocké dans un dossier :
Si le raster est stocké dans un fichier TIFF ou dans une géodatabase, la qualité et le type de compression raster peuvent être spécifiés à l'aide de paramètres d'environnement de géotraitement. | Raster Dataset |
value_field (Facultatif) |
Spécifie les informations lidar qui seront utilisées pour générer la sortie raster.
| String |
interpolation_type "BINNING {cell_assignment_type} {void_fill_method}" or "TRIANGULATION {interpolation_method} {point_thinning_type} {point_selection_method} {resolution}" (Facultatif) |
Méthode d'interpolation utilisée pour produire le raster. BINNING - Les valeurs des cellules sont obtenues à l'aide des points qui se trouvent dans l'étendue d'une cellule, à l'exception des cellules dont l'étendue ne contient pas de points. Les options suivantes sont disponibles pour cette technique :
TRIANGULATION - Les valeurs de cellules sont obtenues par l'interpolation des mesures d'une représentation triangulée du jeu de données LAS. Les options suivantes sont disponibles pour cette technique :
| String |
data_type (Facultatif) |
Le type de données du raster en sortie peut être défini par les mots-clés suivants :
| String |
sampling_type (Facultatif) |
Spécifie la méthode utilisée pour interpréter le paramètre Valeur d'échantillonnage afin de définir la résolution du raster en sortie.
| String |
sampling_value (Facultatif) |
Spécifie la valeur utilisée conjointement avec le paramètre Type d'échantillonnage afin de définir la résolution du raster en sortie. | Double |
z_factor (Facultatif) |
Facteur par lequel les valeurs d'altitude sont multipliées. Il est généralement utilisé pour convertir les unités linéaires Z qui correspondent à celles des unités linéaires XY. La valeur par défaut est 1, qui laisse les valeurs d'altitude inchangées. | Double |
Exemple de code
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python :
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.LasDatasetToRaster_3d('baltimore.lasd', 'baltimore.tif', 'INTENSITY',
'TRIANGULATION LINEAR WINDOW_SIZE 10', 'FLOAT',
'CELLSIZE', 10, 3.28)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :
'''*********************************************************************
Name: Export Elevation Raster from Ground LAS Measurements
Description: This script demonstrates how to export
ground measurements from LAS files to a raster using a
LAS dataset. This sample is designed to be used as a script
tool.
*********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
try:
# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
surfCons = arcpy.GetParameterAsText(2)
classCode = arcpy.GetParameterAsText(3)
returnValue = arcpy.GetParameterAsText(4)
spatialRef = arcpy.GetParameterAsText(5)
lasD = arcpy.GetParameterAsText(6)
outRaster = arcpy.GetParameterAsText(7)
cellSize = arcpy.GetParameter(8)
zFactor = arcpy.GetParameter(9)
if arcpy.ProductInfo == 'ArcView':
arcpy.CheckOutExtension('3D')
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasD, recursion, surfCons, sr)
# Execute MakeLasDatasetLayer
lasLyr = arcpy.CreateUniqueName('Baltimore')
arcpy.management.MakeLasDatasetLayer(lasD, lasLyr, classCode, returnValue)
# Execute LasDatasetToRaster
arcpy.conversion.LasDatasetToRaster(lasLyr, outRaster, 'ELEVATION',
'TRIANGULATION LINEAR WINDOW_SIZE 10', 'FLOAT',
'CELLSIZE', cellSize, zFactor)
arcpy.GetMessages()
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
finally:
arcpy.management.Delete(lasLyr)