Résumé
Cet outil exporte un réseau triangulé irrégulier (TIN) à partir d'un 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.
Bien qu’un TIN puisse prendre en charge plus de 15 millions de points au total, il est recommandé de limiter les jeux de données TIN à 5 millions de points pour garantir des performances optimales lors de l’affichage et de l’analyse des données. Le nombre de nœuds TIN peut être réduit à l’aide des méthodes d’affinage de points et en contrôlant l’étendue de traitement en sortie.
Syntaxe
arcpy.ddd.LasDatasetToTin(in_las_dataset, out_tin, {thinning_type}, {thinning_method}, {thinning_value}, {max_nodes}, {z_factor}, {clip_to_extent})
Paramètre | Explication | Type de données |
in_las_dataset | Jeu de données LAS à traiter. | LAS Dataset Layer |
out_tin | Jeu de données TIN qui va être généré. | TIN |
thinning_type (Facultatif) | Indique la technique à utiliser pour sélectionner un sous-ensemble de points de données LAS qui seront exportés vers le TIN.
| String |
thinning_method (Facultatif) | Indique la technique à utiliser pour réduire les points de données LAS, ce qui influence l’interprétation du paramètre Thinning Value (Valeur d’affinage). Les options disponibles dépendent du type d'affinage (Thinning Type) sélectionné.
Indique la technique à utiliser pour réduire les points de données LAS, ce qui influence l’interprétation du paramètre thinning_value. Les options disponibles dépendent du thinning_type sélectionné.
| String |
thinning_value (Facultatif) | Si thinning_type="WINDOW_SIZE", cette valeur représente la surface d’échantillonnage en fonction de laquelle le jeu de données LAS va être divisé. Si thinning_type="RANDOM" et thinning_method="PERCENT", cette valeur représente le pourcentage des points du jeu de données LAS qui seront exportés vers le TIN. Si thinning_type="RANDOM" et thinning_method="NODE_COUNT", cette valeur représente le nombre total de points LAS qui peuvent être exportés vers le TIN. | Double |
max_nodes (Facultatif) | Nombre maximal de nœuds autorisés dans le TIN en sortie. La valeur par défaut est de 5 millions. | 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 |
clip_to_extent (Facultatif) | Indique si le TIN obtenu est découpé par rapport à l'étendue d'analyse. Ceci n’a un impact que si l’étendue d'analyse est un sous-ensemble du jeu de données LAS en entrée.
| Boolean |
Exemple de code
1er exemple d'utilisation de l'outil LasDatasetToTin (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.LasDatasetToTin_3d('se_baltimore.lasd', 'se_bmore', 'RANDOM', 15, 3.28)
2e exemple d'utilisation de l'outil LasDatasetToTin (script autonome)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
'''**********************************************************************
Name: LAS Dataset to TIN Example
Description: Create a TIN using bare earth lidar measurements. This
script is designed for use as a script tool.
**********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set Local Variables
lasD = arcpy.GetParameterAsText(0)
inLas = arcpy.GetParameterAsText(1) #input las files
surfCons = arcpy.GetParameterAsText(2) #input surface constraints
sr = arcpy.GetParameter(3) #spatial reference of las dataset
outTin = arcpy.GetParameterAsText(4)
thinningType = arcpy.GetParameterAsText(5)
thinningMethod = arcpy.GetParameterAsText(6)
thinningValue = arcpy.GetParameter(7)
zFactor = arcpy.GetParameter(8)
try:
arcpy.CheckOutExtension('3D')
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasD, 'RECURSION', surfCons, sr)
lasLyr = arcpy.CreateUniqueName('lasdToTin', 'in_memory')
classCode = 2
returnValue = 'LAST'
# Execute MakeLasDatasetLayer
arcpy.management.MakeLasDatasetLayer(lasD, lasLyr, classCode, returnValue)
# Define extent of the area of interest
env.extent(1426057, 606477, 1449836, 623246)
# Execute LasDatasetToTin
arcpy.ddd.LasDatasetToTin(lasLyr, outTin, thinningType,
thinningMethod, thinningValue, zFactor)
arcpy.CheckInExtension('3D')
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)
Environnements
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst