Créer un jeu de données LAS (Gestion des données)
Récapitulatif
Crée un jeu de données LAS faisant référence à un ou plusieurs fichiers LAS et à des entités de contrainte de surface facultatives.
Illustration
Utilisation
Le jeu de données LAS est conçu pour être utilisé avec des données lidar aéroportées au format *.las. Les versions de fichier LAS 1.0, 1.1, 1.2 et 1.3 sont prises en charge.
Envisagez la création et la gestion du jeu de données LAS via la fenêtre ArcCatalog qui est plus interactive. Reportez-vous à la rubrique Création d'un jeu de données LAS pour plus d'informations.
Les entités de contrainte de surface permettent d'imposer des valeurs d'altitude dérivées d'entités représentant les caractéristiques de surface du jeu de données LAS.
Le jeu de données LAS lit les informations de référence spatiale figurant dans l'en-tête de chaque fichier LAS. Si ces informations ne figurent pas dans l'en-tête ou qu'elles sont mal rédigées, vous pouvez géoréférencer correctement le fichier LAS en créant un fichier *.prj auxiliaire qui partage son nom, se trouve dans le même dossier et contient la représentation sous forme de chaîne du système de coordonnées du fichier LAS, comme c'est le cas avec le fichier *.prj d'un fichier de formes.
Vous pouvez classer les points lidar en plusieurs catégories qui décrivent la matière détectée par la valeur lidar renvoyée : sol, bâtiment ou eau. L'association ASPRS (American Society for Photogrammetry and Remote Sensing) a défini les codes de classes suivants pour les versions de fichiers LAS 1.1, 1.2 et 1.3 :
Valeur de classification
Type de classification
0
Jamais classé
1
Non attribué
2
Sol
3
Végétation basse
4
Végétation moyenne
5
Végétation haute
6
Bâtiment
7
Bruit
8
Clé de modèle
9
Eau
10
Réservé à la définition ASPRS
11
Réservé à la définition ASPRS
12
Superposition
13–31
Réservé à la définition ASPRS
Remarque :Alors que les spécifications LAS 1.0 proposent des codes de classes compris entre 0 et 255, elles ne présentent pas de jeu de classification standard. Les codes de classes utilisés dans les fichiers 1.0 sont habituellement définis par le fournisseur de données et communiquées via des informations auxiliaires.
Syntaxe
Paramètre | Explication | Type de données |
input [input,...] | Fichiers LAS et dossiers contenant les fichiers LAS qui seront référencés par le jeu de données LAS. Ces informations peuvent être fournies sous forme d'une chaîne contenant toutes les données en entrée ou d'une liste des chaînes contenant des éléments de données spécifiques (par exemple, "lidar1.las ; lidar2.las ; folder1 ; folder2" ou ["lidar1.las", "lidar2.las", "folder1", "folder2"]). Reportez-vous à la rubrique d'aide Présentation de la syntaxe des outils pour plus d'informations sur la spécification de listes pour la saisie. | File; Folder |
out_las_dataset |
Jeu de données LAS qui va être créé. | LAS Dataset |
folder_recursion (Facultatif) |
Spécifie si les données lidar résidant dans les sous-répertoires d'un dossier en entrée seraient ajoutées au jeu de données LAS.
| Boolean |
in_surface_constraints [[in_feature_class, height_field, SF_type],...] (Facultatif) | Classes d'entités qui sont référencées par le jeu de données LAS. Pour chaque entité, les propriétés suivantes doivent être définies : in_feature_class : classe d'entités qui doit être référencée par le jeu de données LAS. height_field : champ qui spécifie la source des valeurs d'altitude pour les entités. N'importe quel champ numérique de la table attributaire de l'entité peut être utilisé. Si l'entité prend en charge des valeurs Z, vous pouvez lire la géométrie de l'entité en sélectionnant l'option Shape.Z. Si aucune hauteur n'est requise, spécifiez le mot-clé <Aucun> pour créer des entités z-less dont l'altitude serait interpolée à partir de la surface. SF_type - Type de surface qui définit le mode d'incorporation de la géométrie de l'entité à la triangulation pour la surface. Les options rigides ou malléables font référence à la représentation des tronçons d'entité sous la forme de ruptures de pente distinctes ou d'un changement graduel.
| Value Table |
spatial_reference (Facultatif) |
Référence spatiale du jeu de données LAS. Si aucune référence spatiale n'est explicitement attribuée, le jeu de données LAS utilise le système de coordonnées du premier fichier LAS en entrée. Si les fichiers en entrée ne contiennent aucune information de référence spatiale et que le Système de coordonnées en entrée n'est pas défini, le système de coordonnées du jeu de données LAS est signalé comme étant inconnu. | Coordinate System |
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. La présence de statistiques permet au filtrage de la couche du jeu de données LAS et aux options de symbologie de n'afficher que les valeurs d'attributs LAS qui existent dans les fichiers LAS.
| Boolean |
relative_paths (Facultatif) |
Spécifie si les fichiers lidar et les entités de contrainte de surface seront référencés par le jeu de données LAS par l'intermédiaire de chemins relatifs ou absolus. Les chemins relatifs peuvent être pratiques si le jeu de données LAS et ses données associées vont être déplacés dans le système de fichiers à l'aide du même emplacement relatif les uns par rapport aux autres.
| Boolean |
Exemple de code
The following sample demonstrates how to use this tool in the Python window:
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.CreateLasDataset_management("folder_a; folder_b/5S4E.las",
"test.lasd", "RECURSION",
"LA/boundary.shp <None> Softclip;"\
"LA/ridges.shp Elevation hardline", "",
"COMPUTE_STATS", "RELATIVE_PATHS")
The following sample demonstrates how to use this tool in a stand-alone Python script:
'''*********************************************************************
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)