Résumé
Crée un raster à l’aide de valeurs d’altitude, d’intensité ou RVB stockées dans les points Lidar référencés par le jeu de données LAS.
Illustration
Utilisation
-
Vous pouvez configurer la couche de jeu de données LAS pour qu’elle limite les points LAS affichés et traités. Pour ce faire, sélectionnez une combinaison de codes de classification, d’indicateurs de classification et de valeurs renvoyées dans les paramètres de filtre de la couche. Les filtres peuvent être définis par l’intermédiaire de la boîte de dialogue Layer Properties (Propriétés de la couche) ou de l’outil Make LAS Dataset Layer (Créer une couche de jeu de données LAS).
-
La couche de jeu de données LAS peut également servir à contrôler la mise en application des entités de contraintes de surface qui peuvent être référencées par le jeu de données LAS. Les contraintes sont appliquées lors de l’affichage ou du traitement du jeu de données LAS en tant que surface triangulée.
-
Lors de l’exportation d’un raster de grande taille, spécifiez le paramètre Output Data Type (Type de données en sortie) en tant qu’entier pour économiser de l’espace disque si les exigences en termes d’exactitude de vos valeurs z sont telles qu’elles peuvent être représentées par des données d’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.
Syntaxe
arcpy.conversion.LasDatasetToRaster(in_las_dataset, out_raster, {value_field}, {interpolation_type}, {data_type}, {sampling_type}, {sampling_value}, {z_factor})
Paramètre | Explication | Type de données |
in_las_dataset | Jeu de données LAS à traiter. | 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 peut être fournie afin de définir le format du raster lorsque vous le stockez dans un dossier, par exemple .tif pour générer un GeoTIFF ou .img pour générer un fichier au format ERDAS IMAGINE. 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) | Données 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) | Technique d'interpolation qui servira à déterminer les valeurs de cellule du raster en sortie. L'approche de classification fournit une méthode d'attribution de cellule qui permet de déterminer chaque cellule en sortie à l'aide des points compris dans son étendue, ainsi qu'une méthode de remplissage de vide servant à déterminer la valeur des cellules ne contenant aucun point LAS. Méthodes d'attribution de cellule
Méthodes de remplissage de vide
Les méthodes d'interpolation de triangulation calculent les valeurs de cellule au moyen d'une approche TIN et permettent d'accélérer le traitement en affinant l'échantillonnage des données LAS à l'aide de la technique Taille de fenêtre. Méthodes de triangulation
Méthodes de sélection de la taille de fenêtre
| Interpolate |
data_type (Facultatif) | Spécifie le type de valeurs numériques stocké dans le raster en sortie.
| 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 z sont multipliées. Il permet généralement de convertir des unités linéaires Z afin d'apparier les unités linéaires XY. La valeur par défaut est de 1, ce qui laisse les valeurs d’altitude inchangées. Ce paramètre est désactivé si la référence spatiale de la surface en entrée possède un datum Z avec une unité linéaire spécifiée. | Double |
Exemple de code
Exemple 1 d'utilisation de l'outil LasDatasetToRaster (fenêtre Python)
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)
Exemple 2 d'utilisation de l'outil LasDatasetToRaster (script autonome)
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
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 Exception as err:
print(err.args[0])
finally:
arcpy.management.Delete(lasLyr)
Environnements
Informations de licence
- Basic: Requiert Spatial Analyst ou 3D Analyst
- Standard: Oui
- Advanced: Oui